版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 揚(yáng)州市職業(yè)大學(xué)課程設(shè)計(jì)論文題 目 溫度顯示器 院 (系) 汽車與電氣工程系 專 業(yè) 電氣自動(dòng)化 班 級(jí) 09電氣(2)班 學(xué)生姓名 史學(xué)和 學(xué) 號(hào) 0902030226 指導(dǎo)教師 劉卉 2011 年 11 月 目錄摘要3第一章 引言41.1設(shè)計(jì)背景41.2設(shè)計(jì)任務(wù)41.3電路的工作原理4第二章 方案論證及硬件設(shè)計(jì)52.1方案選擇5溫度顯示器硬件設(shè)計(jì)62.2最小系統(tǒng)的設(shè)計(jì)62.2.1電源部分62.2.2時(shí)鐘電路的設(shè)計(jì)62.2.3復(fù)位電路的設(shè)計(jì)72.3溫度傳感器92.3.1 ds18b2092.3.2 ds18b20的主要特性92.3.3 ds18b20工作原理102.3.4 溫度格式102.3
2、.4 ds18b20的外部電源供電方式112.4 at89s51112.4.2管腳說(shuō)明122.5 數(shù)碼管132.5.1 led數(shù)碼顯示器連接方法:132.5.2 方案132.5.3數(shù)碼管顯示方式14第三章 溫度顯示器系統(tǒng)的軟件設(shè)計(jì)154.1程序流程圖154.1.1主程序流程圖154.1.2讀溫流程圖154.1.3讀出子程序流程圖154.2 程序16結(jié)束語(yǔ)24參考文獻(xiàn)24附錄1 元器件清單25附錄2 原理圖26摘要溫度是一個(gè)十分重要的物理量,對(duì)他的測(cè)量與控制有十分重要的意義,隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對(duì)生活環(huán)境要求的提高,人們也迫切需要檢測(cè)與控制溫度。本溫度顯示器的設(shè)計(jì)與制作,闡明了該裝置進(jìn)
3、行設(shè)計(jì)與制作的具體過(guò)程及方法。這種溫度顯示器結(jié)構(gòu)簡(jiǎn)單,可操作性強(qiáng),應(yīng)用廣泛。工作時(shí),由傳感器檢測(cè)溫度,防止因溫度升高而帶來(lái)的不必要的損失。本文介紹的是采用溫度傳感器ds18b20的溫度顯示器,自動(dòng)測(cè)量當(dāng)前環(huán)境溫度,由單片機(jī)at89s51控制,并通過(guò)四位7段數(shù)碼管顯示。關(guān)鍵詞:溫度顯示 單片機(jī)(at89c51) 數(shù)字溫度傳感器(ds18b20)第一章 引言1.1設(shè)計(jì)背景 溫度是一種最基本的環(huán)境參數(shù),人民的生活與環(huán)境的溫度息息相關(guān),隨著人們生活水平的不斷提高,對(duì)生活質(zhì)量的要求不斷提升,自然會(huì)更加關(guān)注跟人身體健康緊密聯(lián)系的溫度;同時(shí)在工業(yè)生產(chǎn)過(guò)程中經(jīng)常需要實(shí)時(shí)測(cè)量溫度,尤其是在高危生產(chǎn)行業(yè),如花炮生
4、產(chǎn)、煤礦行業(yè)等。但依靠人工檢測(cè)既浪費(fèi)時(shí)間、物力、人力, 又有一定的危險(xiǎn)性,且測(cè)量的數(shù)據(jù)也不準(zhǔn)確;在農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,各種農(nóng)作物的生長(zhǎng)都跟溫度有直接的關(guān)系,掌握了溫度的變化就可以更好的控制農(nóng)作物的生長(zhǎng)。因此研究溫度的測(cè)量方法和裝置具有重要的意義。1.2設(shè)計(jì)任務(wù) 本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用單片機(jī)at89s51,測(cè)溫傳感器使用ds18b20,用4位共陰極led數(shù)碼管實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。1.3電路的工作原理 這次的溫度顯示器由溫度傳感器
5、ds18b20,at89s51單片機(jī),led數(shù)碼管和電源系統(tǒng)組成。其工作的原理是在電源系統(tǒng)供電的情況下由溫度傳感器ds18b20測(cè)量周圍溫度的變化,并將測(cè)的溫度傳給單片機(jī)at89s51經(jīng)過(guò)單片機(jī)at89s51分析做出判斷,同時(shí)經(jīng)過(guò)單片機(jī)at89s51將所測(cè)得的溫度顯示在led顯示出來(lái),如果溫度在溫度傳感器的規(guī)定的溫度范圍內(nèi),那么蜂鳴器將不會(huì)發(fā)出報(bào)警信號(hào)。第2章 方案論證及硬件設(shè)計(jì)2.1方案選擇方案一 采用熱敏電阻作為溫度傳感器用熱敏電阻作為溫度傳感器,ntc熱敏電阻阻值隨溫度的變化符合指數(shù)規(guī)律,其最大的缺點(diǎn)也在于它的非線性阻值分散性大復(fù)現(xiàn)行差,一般需要經(jīng)過(guò)線性化處理,使輸出電壓與溫度之間基本上
6、成線性關(guān)系。ntc熱敏電阻溫度傳感器的一致性和互換性較差.其次是他的老化速度較快。方案二 用模擬溫度傳感器比如普通的熱敏電阻。熱敏電阻的溫度特性曲線是一條指數(shù)曲線,非線性度較大,因此在使用時(shí)要進(jìn)行線性化處理,線性化處理雖然能改善熱敏電阻的特性曲線,但比較復(fù)雜。為此常在要求不高的一般應(yīng)用中,作出在一定的溫度范圍內(nèi)溫度與阻值成線性關(guān)系的假定,才能簡(jiǎn)化計(jì)算。另外,溫度與輸出電壓量是非線性的,讀出的是模擬量,需要a/d轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換才能送給數(shù)碼管顯示,從而增加了硬件的負(fù)擔(dān)。方案三 采用數(shù)字單片智能溫度傳感器 智能溫度傳感器(亦稱數(shù)字溫度傳感器)是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ate)的結(jié)晶。目
7、前,已開(kāi)發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度傳感器內(nèi)部都包含溫度傳感器、a/d轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路。由于ds18b20將溫度傳感器、信號(hào)放大調(diào)理、a/d轉(zhuǎn)換、接口全部集成于一芯片,與單片機(jī)連接簡(jiǎn)單、方便,測(cè)量范圍廣,精度高。穩(wěn)定性好等優(yōu)點(diǎn)。廣泛的運(yùn)用于溫度檢測(cè)領(lǐng)域從以上三種方案,非常很容易看出,采用方案三,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案三。溫度顯示器硬件設(shè)計(jì)2.2最小系統(tǒng)的設(shè)計(jì)2.2.1電源部分 8051的工作電壓為+5v,0.5v, 工作電流200ma其它部分工作電流:總電流:500ma 功耗:2.5w 圖2-1電源:橋式整流、濾波(兩個(gè)濾波電
8、容)、穩(wěn)壓三端穩(wěn)壓器件:7805系列三端穩(wěn)壓器件是最常用的線性降壓型dc/dc轉(zhuǎn)換器,目前也有大量先進(jìn)的dc/dc轉(zhuǎn)換器層出不窮,例如低壓差線性穩(wěn)壓器ldo等。7805簡(jiǎn)單易用,價(jià)格低廉,直到今天還在大多電路中采用。2.2.2時(shí)鐘電路的設(shè)計(jì)單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的。在單片機(jī)的xtal1和xtal2兩個(gè)引腳間,接一只晶振及兩只電容就構(gòu)成了單片機(jī)的時(shí)鐘電路,如圖2-2所示。電路中的器件選擇可以通過(guò)計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路的參數(shù)。電路中,電容器c1和c2對(duì)振蕩器頻率有微調(diào)作用,通常的取值范圍3010pf;石英晶體選擇6mhz或12mhz都可以。其結(jié)果只是機(jī)器周期時(shí)間不同,
9、影響計(jì)數(shù)器的計(jì)數(shù)初值。 圖2-28051單片機(jī)的時(shí)鐘產(chǎn)生有以下兩種方法:(1)內(nèi)部時(shí)鐘方式:利用單片機(jī)內(nèi)部的振蕩器,然后在引腳xtal1(18腳)和xtal2(19腳)兩端接晶振,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路,外接晶振時(shí),晶振兩端的電容一般選擇為30pf左右;這兩個(gè)電容對(duì)頻率有微調(diào)的作用,晶振的頻率范圍可在1.2mhz-12mhz之間選擇。(2)外部時(shí)鐘方式:此方式是利用外部振蕩脈沖接入xtal1或xtal2。hmos和chmos單片機(jī)外時(shí)鐘信號(hào)接入方式不同,hmos型單片機(jī)(例如8051)外時(shí)鐘信號(hào)由xtal2端腳注入后直接送至內(nèi)部時(shí)鐘電路,輸入端xtal1應(yīng)接
10、地。由于xtal2端的邏輯電平不是ttl的,故建議外接一個(gè)上接電阻。 外接時(shí)鐘信號(hào)通過(guò)一個(gè)二分頻的觸發(fā)器而成為內(nèi)部時(shí)鐘信號(hào),要求高、低電平的持續(xù)時(shí)間都大于20ns,一般為頻率低于12mhz的方波。片內(nèi)時(shí)鐘發(fā)生器就是上述的二分頻觸發(fā)器,它向芯片提供了一個(gè)2節(jié)拍的時(shí)鐘信號(hào)。 前面已提到,計(jì)算機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行的。由于指令的字節(jié)數(shù)不同,取這些指令所需要的時(shí)間也就不同,即使是字節(jié)數(shù)相同的指令,由于執(zhí)行操作有較大的差別,不同的指令執(zhí)行時(shí)間也不一定相同,即所需的拍節(jié)數(shù)不同。為了便于對(duì)cpu時(shí)序進(jìn)行分析,一般按指令的執(zhí)行過(guò)程規(guī)定了幾中周期,即時(shí)鐘周期、機(jī)器周期和指令周期,也稱為
11、時(shí)序定時(shí)單位,下面分別予以講解。時(shí)鐘周期 時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù)(可以這樣來(lái)理解,時(shí)鐘周期就是單片機(jī)外接晶振的倒數(shù),例如12m的晶振,它的時(shí)間周期就是1/12 us),是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。在一個(gè)時(shí)鐘周期內(nèi),cpu僅完成一個(gè)最基本的動(dòng)作。對(duì)于某種單片機(jī),若采用了1mhz的時(shí)鐘頻率,則時(shí)鐘周期為1us;若采用4mhz的時(shí)鐘頻率,則時(shí)鐘周期為250us。由于時(shí)鐘脈沖是計(jì)算機(jī)的基本工作脈沖,它控制著計(jì)算機(jī)的工作節(jié)奏(使計(jì)算機(jī)的每一步都統(tǒng)一到它的步調(diào)上來(lái))。顯然,對(duì)同一種機(jī)型的計(jì)算機(jī),時(shí)鐘頻率越高,計(jì)算機(jī)的工作速度就越快。但是,由于不同的計(jì)算機(jī)硬件電路和器件的不完全
12、相同,所以其所需要的時(shí)鐘周頻率范圍也不一定相同。2.2.3復(fù)位電路的設(shè)計(jì)復(fù)位是單片機(jī)的初始化操作,單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位。其作用是使cpu和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部復(fù)位電路才能實(shí)現(xiàn)。單片機(jī)的外部復(fù)位電路有上電復(fù)位和手動(dòng)復(fù)位兩種。我們?cè)谠O(shè)計(jì)單片機(jī)時(shí),選用手動(dòng)復(fù)位。上電復(fù)位利用電容器的充電實(shí)現(xiàn)。上電要求接通電源后,單片機(jī)實(shí)現(xiàn)自動(dòng)復(fù)位操作。上電瞬間rst引腳獲得高電平,隨著電容的充電,rst引腳的高電平將逐漸下降,rst引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)
13、器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。手動(dòng)復(fù)位:按鍵后:電容器被短路放電,rst直接和vcc相連,就是高電平,此時(shí)進(jìn)入“復(fù)位狀態(tài)”。松手后,電源開(kāi)始對(duì)電容充電,此時(shí),充電電源在電阻上,形成高電平送到rst,仍然是“復(fù)位狀態(tài)”;稍后,充電結(jié)束,電降將為0,電阻上的電壓也將為0,rst降為低電平,開(kāi)始正常工作。 上電復(fù)位 手動(dòng)復(fù)位圖2-3手動(dòng)復(fù)位電路中電阻r14的阻值為8.2k另外一電阻阻值為1k,電容大小為10f對(duì)于懷疑是復(fù)位電路故障而不能正常工作的單片機(jī)也可以采用模擬復(fù)位的方法來(lái)判斷,單片機(jī)正常工作時(shí)第9 腳對(duì)地電壓為零,可以用導(dǎo)線短時(shí)間和5v 連接一下,模擬一下上電復(fù)位,如果單片機(jī)能正常工作了
14、,說(shuō)明這個(gè)復(fù)位電路有問(wèn)題。2.3溫度傳感器2.3.1 ds18b20 dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器ds18b20是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。 現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。 ds18b20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻rom,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl,高速暫存器。ds18b20的管腳排列如圖2-4所示。 圖2-4 ds18b20引腳定義: (1)dq為數(shù)字信號(hào)輸入/輸出端; (2
15、)gnd為電源地; (3)vdd為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。 2.3.2 ds18b20的主要特性 (1)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電;(2)獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊;(3)ds18b20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi); (4)溫范圍55+125,在-10+85時(shí)精度為0.5; (5)可編程 的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)
16、溫; (6)在9位分辨率時(shí)最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快; (7)測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以一 線總線串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力; (8)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 2.3.3 ds18b20工作原理 ds18b20的讀寫(xiě)時(shí)序和測(cè)溫原理與ds1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s 減為750ms。低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度
17、變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。 2.3.4 溫度格式 這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18b20的兩個(gè)8比特的ram中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0, 這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;
18、如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 例如+125的數(shù)字輸出為07d0h,+25.0625的數(shù)字輸出為0191h,-25.0625的數(shù)字輸出為fe6fh,-55的數(shù)字輸出為fc90h 。 表1: ds18b20溫度值格式表 2.3.4 ds18b20的外部電源供電方式 在外部電源供電方式下,ds18b20工作電源由vdd引腳接入,此時(shí)i/o線不需要強(qiáng)上拉,不存在電源電流不足的問(wèn)題,可以保證 轉(zhuǎn)換精度,同時(shí)在總線上理論可以掛接任意多個(gè)ds18b20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。注意:在外部供電的方式下,ds18b20的gnd引腳不能懸空 ,否則不能轉(zhuǎn)
19、換溫度,讀取的溫度總是85。 圖2-5:外部供電方式單點(diǎn)測(cè)溫電路 圖2-52.4 at89s51at89s51是一個(gè)低功耗,高性能cmos8位單片機(jī),片內(nèi)含4k bytes isp(in-system programmable)的可反復(fù)擦寫(xiě)1000次的flash只讀程序存儲(chǔ)器,器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的at89s51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。2.4.1主要特性:8031 cpu與mcs-51 兼容 4k字節(jié)可編程
20、flash存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán)) 全靜態(tài)工作:0hz-24khz 三級(jí)程序存儲(chǔ)器保密鎖定 128*8位內(nèi)部ram 32條可編程i/o線 兩個(gè)16位定時(shí)器/計(jì)數(shù)器6個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路2.4.2管腳說(shuō)明 vcc:供電電壓gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開(kāi)路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是
21、一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)
22、勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也可作為at89c51的一些特殊功能口 rst:復(fù)位輸入端,高電平有效。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ale/prog:地址鎖存允許/編程脈沖信號(hào)端。當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的
23、低位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無(wú)效。 psen:外部程序存儲(chǔ)器的選通信號(hào),低電平有效。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。 e
24、a/vpp:外部程序存儲(chǔ)器訪問(wèn)允許。當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器的輸入端。 xtal2:片內(nèi)振蕩器反相放大器的輸出端。2.5 數(shù)碼管2.5.1 led數(shù)碼顯示器連接方法: 共陽(yáng)極接法:把二極管的陽(yáng)極連接在一起構(gòu)成公共陽(yáng)極,使用時(shí)公共陽(yáng)極接+5v,每個(gè)發(fā)光二極管的陰極通過(guò)電阻與輸入端相連。當(dāng)陰極端輸入低電平時(shí),八段發(fā)光二極管就
25、導(dǎo)通點(diǎn)亮,而輸入高電平時(shí)則不點(diǎn)亮。 共陰極接法:把二極管的陰極連接在一起構(gòu)成公共陰極,使用時(shí)公共陰極接+5v,每個(gè)發(fā)光二極管的陽(yáng)極通過(guò)電阻與輸入端相連。當(dāng)陽(yáng)極端輸入高電平時(shí),八段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平時(shí)則不點(diǎn)亮。(如圖示) a) 符號(hào)及引腳配置 b)共陰極led c)共陽(yáng)極led2.5.2 方案 這里為了方便導(dǎo)線的連接,電流由外部電源提供,為灌電流,不增加單片機(jī)負(fù)擔(dān),所以本次設(shè)計(jì)采用四位一體共陽(yáng)數(shù)碼管。(如下圖)重點(diǎn):引腳的測(cè)量,去實(shí)驗(yàn)室找臺(tái)設(shè)備,把電壓調(diào)在1.5v2.0v之間。電源的正負(fù)極分別放在任意一腳上,根據(jù)數(shù)碼管的段亮就可以判斷引腳(如下圖) 2.5.3數(shù)碼管顯示方式 數(shù)碼
26、管顯示器有兩種工作方式,即靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。 在靜態(tài)顯示方式下,每位數(shù)碼管的ag和h端與一個(gè)8為的io相連。特點(diǎn)是:數(shù)碼管中的發(fā)光二極管恒定地導(dǎo)通或截至,直到顯示字符改變?yōu)橹埂?靜態(tài)顯示方式程序非常簡(jiǎn)單,占用cpu時(shí)間資源很少,只是在顯示字符改變時(shí)調(diào)用一下顯示程序。但是硬件電路繁多,每個(gè)數(shù)碼管需要一個(gè)8位io口、一個(gè)8位驅(qū)動(dòng)、8個(gè)限流電阻。一般應(yīng)用于數(shù)碼管位數(shù)少的場(chǎng)合。 相對(duì)于靜態(tài)顯示方式而言,動(dòng)態(tài)顯示方式線路相對(duì)簡(jiǎn)單,成本低,在單片機(jī)系統(tǒng)中常常采用動(dòng)態(tài)掃描顯示方式。其工作原理是:逐個(gè)地循環(huán)點(diǎn)亮各位顯示器,也就是說(shuō)在任一時(shí)刻只有一位顯示器在顯示。 2.5.電阻計(jì)算 電阻r9r16:r
27、=(5-0.3-2)0.01=270電阻r4r7:i=80.01100=8ma r=(5-0.7)8=5.3k 圖2-6 第三章 溫度顯示器系統(tǒng)的軟件設(shè)計(jì)4.1程序流程圖4.1.1主程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理ds18b20的測(cè)量的當(dāng)前溫度值。(如圖4-1)4.1.2讀溫流程圖 讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時(shí)需進(jìn)行crc校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。(如圖4-2)4.1.3讀出子程序流程圖y發(fā)ds18b20復(fù)位命令發(fā)跳過(guò)rom命令發(fā)讀取溫度命令讀取操作,crc校驗(yàn)9字節(jié)完?c圖8rc校驗(yàn)正?確?移入溫度暫存器結(jié)束nny計(jì)算溫度子程
28、序?qū)am中讀取值進(jìn)行bcd碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定。(如圖4-4)初始化調(diào)用顯示子程序1s到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開(kāi)始命令nyny 圖4-1 圖4-2 圖4-3 圖4-4 4.2 程序 org 0000h ajmp mainq org 000bh ajmp tt0 mainq:org 002fh ;* ;讀18b20的溫度 ;* temph equ 50h templ equ 51h temphc equ 52h templc equ 53h zj9 equ 60h wdcgq bit p0.0 ;* ;系統(tǒng)初始化 ;* mov sp,#2fh m
29、ov tmod,#21h mov th0,#3ch;12mhz晶振時(shí)定時(shí)100ms mov tl0,#0b0h mov r7,#0ah setb ea setb et0 setb tr0 clr f0 clr 00h ;setb p2.3 mov temph,#00h mov templ,#00h mov temphc,#00h mov templc,#00h ;* ;主程序 ;* start:lcall dip jnb 00h,start clr 00h jnb f0,sta1 lcall read lcall dip lcall bcdlc lcall dip sta1:lcall ml
30、setb f0 ljmp start ;* ;t0中斷子程序 ;* tt0:push psw mov psw,#10h mov th0,#3ch mov tl0,#0b0h djnz r7,tt0out mov r7,#0ah setb 00h tt0out:pop psw reti; ;* ;讀1820的轉(zhuǎn)換溫度 ;* read:lcall rst1820 mov a,#0cch ;發(fā)跳過(guò)1820的rom命令 lcall writ1820 mov r6,#1ah ;延時(shí)104us djnz r6,$ mov a,#0beh ;讀1820內(nèi)部ram中9個(gè)字節(jié)的內(nèi)容 lcall writ1820
31、 mov r6,#1ah djnz r6,$ mov r5,#09h mov r0,#zj9 mov b,#00h read1:lcall read1820 mov r0,a inc r0 read2:lcall crc8 ;校驗(yàn)讀到的八位數(shù) djnz r5,read1 mov a,b jnz readout mov a,zj9+0 mov templ,a mov a,zj9+1 mov temph,areadout:ret ; ;* ;給1820復(fù)位命令(只有收到有效的復(fù)位信號(hào)才能返回) ;*rst1820:setb wdcgq nop nop clr wdcgq mov r6,#50h ;
32、延時(shí)480us(640us) djnz r6,$ mov r6,#50h djnz r6,$ setb wdcgq mov r6,#12h ;延時(shí)70us(75us) djnz r6,$ mov r6,#1eh ;在250us內(nèi)讀復(fù)位信號(hào) loop:mov c,wdcgq jc rstout djnz r6,loop mov r6,#032h djnz r6,$ sjmp rst1820 ret rstout:setb wdcgq ret ; ;* ;cpu向1820寫(xiě)一個(gè)字節(jié)的數(shù)據(jù) ;*writ1820:mov r4,#08h setb wdcgq nop ;nop loop1:clr wd
33、cgq mov r6,#03h ;延時(shí)15us djnz r6,$ ;nop rrc a mov wdcgq,c mov r6,#1ah ;延時(shí)104us djnz r6,$ setb wdcgq djnz r4,loop1 ret ; ;* ;cpu從1820中讀出一個(gè)字節(jié)的數(shù)據(jù) ;*read1820:mov r4,#08h setb wdcgq nop ;nop loop2:clr wdcgq ;nop ;nop nop setb wdcgq mov r6,#03h ;延時(shí)15us djnz r6,$ ;nop mov c,wdcgq mov r6,#1eh ;延時(shí)120us djnz r
34、6,$ rrc a setb wdcgq djnz r4,loop2 mov r6,#1eh ;延時(shí)120us djnz r6,$ ret ; ;* ;接收的數(shù)據(jù)校驗(yàn)子程序 ;* crc8:push acc mov r4,#08h lop1:xrl a,b rrc a mov a,b jnc lop2 xrl a,#18h lop2:rrc a mov b,a pop acc rr a push acc djnz r4,lop1 pop acc ret; ;* ;給1820發(fā)溫度轉(zhuǎn)換命令(1820轉(zhuǎn)換一次必須先復(fù)位-發(fā)r0m命令-發(fā)ram命令) ;* ml:lcall rst1820 ;給18
35、20復(fù)位 mov a,#0cch ;給1820發(fā)跳過(guò)1820的rom命令 lcall writ1820 mov r6,#1ah ;延時(shí)104us djnz r6,$ mov a,#44h ;給1820的ram發(fā)轉(zhuǎn)換指令 lcall writ1820 mov r6,#1ah ;延時(shí)104us djnz r6,$ ret ;*; ;* ;溫度數(shù)據(jù)處理子程序 ;* bcdlc:mov a,temph anl a,#80h jz lp1 ;為正數(shù)轉(zhuǎn)lp1 clr c ;為負(fù)數(shù)時(shí),將補(bǔ)碼轉(zhuǎn)換成原碼 mov a,templ cpl a add a,#01h mov templ,a mov a,temph
36、cpl a addc a,#00h mov temph,a mov temphc,#0bh ;符號(hào)位為負(fù)的標(biāo)志為0bh sjmp lp2 lp1:mov temphc,#0ah ;符號(hào)位為正的標(biāo)志為0ah lp2:mov a,temphc swap a mov temphc,a ; mov a,templ anl a,#0fh ;乘0.0625 mov dptr,#tab1 movc a,a+dptr mov templc,a ;小數(shù)部分的bcd碼 ; mov a,templ anl a,#0f0h swap a mov templ,a mov a,temph anl a,#0fh swap
37、a待添加的隱藏文字內(nèi)容2 orl a,templ lcall hexbcd mov templ,a anl a,#0f0h swap a orl a,temphc mov temphc,a mov a,templ anl a,#0fh swap a orl a,templc mov templc,a mov a,r4 jz tempout anl a,#0fh swap a mov r4,a mov a,temphc anl a,#0fh orl a,r4 mov temphc,atempout:ret tab1:db 00h,01h,01h,02h,03h,03h,04h,04h,05h,06h db 06h,07h,08h,08h,09h,09h ;* ;單字節(jié)十六進(jìn)制轉(zhuǎn)換成bcd碼 ;* hexbcd:mov b,#64h div ab mov r4,a mov a,#0ah xch a,b div ab swap a orl a,b ret; ;* ;顯示子程序 ;*; dip:mov a,temphc anl a,#0f0h swap a mov dptr,#tab
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年四川中建三局裝飾有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年國(guó)網(wǎng)電力科學(xué)研究院武漢南瑞有限責(zé)任公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025-2030全球高壓有載分接開(kāi)關(guān)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)醫(yī)用 PTFE 管行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年度店鋪債權(quán)債務(wù)轉(zhuǎn)讓合同范本
- 2025年度店鋪?zhàn)赓U權(quán)轉(zhuǎn)讓及裝修設(shè)計(jì)咨詢服務(wù)合同3篇
- 二零二五年度車庫(kù)購(gòu)置與物業(yè)管理合作協(xié)議4篇
- 2024鐵路貨運(yùn)合同鐵路運(yùn)輸貨物交付與驗(yàn)收協(xié)議3篇
- 二零二五年度餐廚廢棄物處置與廢棄物處理設(shè)施改造合同3篇
- 2025年度個(gè)人與個(gè)人草原生態(tài)修復(fù)工程合同范本
- 南通市2025屆高三第一次調(diào)研測(cè)試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國(guó)人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對(duì)法》及其應(yīng)用案例
- IF鋼物理冶金原理與關(guān)鍵工藝技術(shù)1
- 銷售提成對(duì)賭協(xié)議書(shū)范本 3篇
- 勞務(wù)派遣招標(biāo)文件范本
- EPC項(xiàng)目階段劃分及工作結(jié)構(gòu)分解方案
- 《跨學(xué)科實(shí)踐活動(dòng)4 基于特定需求設(shè)計(jì)和制作簡(jiǎn)易供氧器》教學(xué)設(shè)計(jì)
- 信息安全意識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論