溫度測量---仿真+pcb_第1頁
溫度測量---仿真+pcb_第2頁
溫度測量---仿真+pcb_第3頁
溫度測量---仿真+pcb_第4頁
溫度測量---仿真+pcb_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目 錄1. 前言22. 所需硬件32.1 AT89C52單片機(jī)32.2 DS18B20 溫度傳感器73. 設(shè)計(jì)方案113.1 方案的總體設(shè)計(jì)框圖113.2 電路設(shè)計(jì)124. 程序設(shè)計(jì)135. 總結(jié)與體會15附錄1 軟件仿真16附錄2 制板圖17附錄3 程序源代碼181. 前言目前,單片機(jī)已經(jīng)在測控領(lǐng)域獲得了廣泛的應(yīng)用,它除了可以測量電信號以外,還可以用于溫度,濕度等非電信號的測量。能獨(dú)立工作的單片機(jī)溫度檢測和溫度控制系統(tǒng)已經(jīng)廣泛用于很多領(lǐng)域。單片機(jī)是一種特殊的計(jì)算機(jī),它是在一塊半導(dǎo)體的芯片上集成了CPU,存儲器,RAM,ROM及輸入與輸出接口電路,這種芯片成為:單片機(jī)。由于單片機(jī)的集成度高,功

2、能強(qiáng),通用性好,特別它具有體積小,重量輕,能耗低,價格便宜,抗干擾能力強(qiáng)和使用仿版等方面的優(yōu)點(diǎn),是它迅速的得到了推廣和應(yīng)用,目前已經(jīng)成為測量控制系統(tǒng)中的優(yōu)良機(jī)種和新電子產(chǎn)品中的關(guān)鍵部件。單片機(jī)已不僅僅局限于小系統(tǒng)的概念,現(xiàn)已廣泛應(yīng)用于家用電器,機(jī)電產(chǎn)品,辦公自動化產(chǎn)品,機(jī)器人,兒童玩具,航天器等領(lǐng)域。這次溫度測量系統(tǒng),就是用的單片機(jī)實(shí)現(xiàn)溫度的測量,傳統(tǒng)的溫度傳感器大多以熱敏電阻作為溫度傳感器,但熱敏電阻的可靠性差,測量溫度準(zhǔn)確率低,而且必須經(jīng)過專門的接口電路轉(zhuǎn)換成數(shù)字信號才能由單片機(jī)進(jìn)行處理。本次我和陸路裕同學(xué)采用的正是DS18B20數(shù)字溫度傳感器來實(shí)現(xiàn)基于51單片機(jī)的溫度計(jì)的設(shè)計(jì)。傳統(tǒng)的溫度

3、計(jì)有發(fā)映速度慢,讀數(shù)麻煩,測量精度不高,誤差大等缺點(diǎn)而下面利用集成溫度傳感器DS18B20設(shè)計(jì)并制作了一款基于AT89C51的4位數(shù)碼管現(xiàn)實(shí)的數(shù)字溫度計(jì),其電路簡單,軟硬件結(jié)構(gòu)模塊化,易于實(shí)現(xiàn)。該數(shù)字溫度計(jì)利用溫度傳感器及接口電路完成溫度的測量并轉(zhuǎn)換成模擬電壓信號,經(jīng)由模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成單片機(jī)能夠處理的數(shù)字信號,然后送到單片機(jī)中進(jìn)行處理變換,最后將溫度值顯示在數(shù)碼管上。系統(tǒng)以單片機(jī)為系統(tǒng)核心,加上DS18B20溫度傳感器,兩位位溫度數(shù)據(jù)顯示的共陰極數(shù)碼管,及晶振電路和復(fù)位電路組成。2. 所需硬件2.1 AT89C52單片機(jī)圖2-1 PDIP封裝的AT89C52引腳圖 圖2-2 AT89C52 P

4、DIP封裝芯片AT89C52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。主要功能特性1、兼容MCS51指令系統(tǒng) 2、8k可反復(fù)擦寫(大于1000次)Flash ROM; 3、32個雙向I/O口; 4、256x8bit內(nèi)部RAM; 5、3個16位可編程定時/計(jì)數(shù)器中斷; 6、時鐘頻率0-24MHz; 7、2個串行

5、中斷,可編程UART串行通道; 8、2個外部中斷源,共8個中斷源; 9、2個讀寫中斷口線,3級加密位; 10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能; 11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。引腳功能及管腳電壓AT89C52為8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2

6、(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進(jìn)入的

7、控制功能。P0 口P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0 口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。 P1 口P1 是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯 門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,

8、此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉 電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)。P2 口P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行M

9、OVX DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX RI 指令)時,P2 口輸出P2 鎖存器的內(nèi)容。Flash 編程或校驗(yàn)時,P2亦接收高位地址和一些控制信號。 P3 口P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏 輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能 P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗(yàn)的控

10、制信號。 RST復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。XTAL1振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2振蕩器反相放大器的輸出端。時鐘振蕩器AT89C52 中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路。外接石英晶體(或陶瓷諧振器)及電容C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1、C2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的

11、難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF10pF,而如使用陶瓷諧振器建議選擇40pF10pF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖10 右圖所示。這種情況下,外部時鐘脈沖接到XTAL1 端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2 則懸空。由于外部時鐘信號是通過一個2 分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。2.2 DS18B20 溫度傳感器圖2-3 DS18B20傳感器DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不

12、銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜 溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機(jī)房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。DS18B20工作原理 DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計(jì)數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率

13、明顯改變,所產(chǎn)生的信號作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計(jì)數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。高速暫存存儲器高速暫存存儲器由9個字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在 高速暫存存儲器的第

14、0和第1個字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如表1所示。對應(yīng)的溫度計(jì)算: 當(dāng)符號位S=0時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。第九個字節(jié)是 冗余檢驗(yàn)字節(jié)。根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行 復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后 釋放,當(dāng)DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主

15、CPU收到此信號表示復(fù)位成功。技術(shù)性能描述 1、 獨(dú)特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 2、測溫范圍 55+125,固有測溫分辨率0.5。 3、支持多點(diǎn)組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,實(shí)現(xiàn)多點(diǎn)測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。 4、工作電源: 35V/DC 5 、在使用中不需要任何外圍元件 6、 測量結(jié)果以912位數(shù)字量方式串行傳送 7 、不銹鋼保護(hù)管直徑 6 8 、適用于DN1525, DN40DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫 9、 標(biāo)

16、準(zhǔn)安裝螺紋 M10X1, M12X1.5, G1/2”任選 10 、PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。DS18B20的主要特性 1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電 2、獨(dú)特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊 3、 DS18B20支持多點(diǎn)組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫 4、DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 5、溫范圍55+125,在-10+85時精度

17、為0.5 6、可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫 7、在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 8、測量結(jié)果直接輸出數(shù)字溫度信號,以一 線總線串行傳送給CPU,同時可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯能力 9、負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。應(yīng)用范圍1 該產(chǎn)品適用于冷凍庫,糧倉,儲罐,電訊機(jī)房,電力機(jī)房,電纜線槽等測溫和控制領(lǐng)域 2 軸瓦,缸體,紡機(jī),空調(diào),等狹小空間工業(yè)設(shè)備測溫和控制。 3 汽車空調(diào)、冰箱

18、、冷柜、以及中低溫干燥箱等。 4 供熱/制冷管道熱量計(jì)量,中央空調(diào)分戶熱能計(jì)量和工業(yè)領(lǐng)域測溫和控制3. 設(shè)計(jì)方案方案一:提到溫度的檢測,我首先會考慮到傳統(tǒng)的測溫元件有熱電阻和熱電偶,而熱點(diǎn)阻和熱電偶測出的一般都是電壓,進(jìn)行A/D轉(zhuǎn)換后,這樣可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上就可以將溫度顯示出來,但這需要比較多的外部的硬件的支持,硬件電路復(fù)雜(需要用到A/D轉(zhuǎn)換電路,感溫電路),軟件調(diào)試也復(fù)雜,準(zhǔn)確度也不高。方案二:溫度傳感器是在單片機(jī)電路設(shè)計(jì)中,使用較多的傳感器。所以可以采用一只溫度傳感器DS18B20,此溫度傳感器,可以很容易讀出溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求,可以實(shí)時測出系統(tǒng)溫

19、度。將兩個方案進(jìn)行比較可以看出,方案二原理簡明易行,測量精度高,故采用方案二。3.1 方案的總體設(shè)計(jì)框圖根據(jù)系統(tǒng)的設(shè)計(jì)要求,選擇DS18B20作為本系統(tǒng)的溫度傳感器,選擇單片機(jī)AT89C51為測控系統(tǒng)的核心來完成數(shù)據(jù)采集、處理、顯示功能。選用數(shù)字溫度傳感器DS18B20,省卻了采樣/保持電路、運(yùn)放、數(shù)/模轉(zhuǎn)換電路以及進(jìn)行長距離傳輸時的串/并轉(zhuǎn)換電路,簡化了電路,縮短了系統(tǒng)的工作時間,降低了系統(tǒng)的硬件成本。該系統(tǒng)的總體設(shè)計(jì)思路如下:溫度傳感器DS18B20把所測得的溫度發(fā)送到AT89C51單片機(jī)上,經(jīng)過51單片機(jī)處理,將把溫度在顯示電路上顯示,本系統(tǒng)顯示器用兩位共陰LED數(shù)碼管以動態(tài)掃描法實(shí)現(xiàn)。

20、檢測范圍0攝氏度到85攝氏度。數(shù)字溫度計(jì)總體電路結(jié)構(gòu)框圖如圖2-1所示。圖3-13.2 電路設(shè)計(jì)4. 程序設(shè)計(jì)DSl8820的主要數(shù)據(jù)元件有:64位激光Lasered ROM,溫度靈敏元件和非易失性溫度告警觸發(fā)器TH和TL。DSBl820可以從單總線獲取電源,當(dāng)信號線為高電平時,將能量貯存在內(nèi)部電容器中;當(dāng)單信號線為低電平時,將該電源斷開,直到信號線變?yōu)楦唠娖街匦陆由霞纳?電容)電源為止。此外,還可外接5 V電源,給DSl8820供電。DSl8820的供電方式靈活,利用外接電源還可增加系統(tǒng)的穩(wěn)定性和可靠性。圖4-1為讀取數(shù)據(jù)流程圖。開始DS18B20的初始化啟動溫度轉(zhuǎn)換跳過讀序列號的操作跳過讀

21、序列號的操作DS18B20的初始化RETLOW-低八位 HIGH-高八位圖4-1 讀取數(shù)據(jù)的流程圖讀出溫度數(shù)據(jù)后,LOW的低四位為溫度的小數(shù)部分,可以精確到0.0625,LOW的高四位和HIGH的低四位為溫度的整數(shù)部分,HIGH的高四位全部為1表示負(fù)數(shù),全為0表示正數(shù)。所以先將數(shù)據(jù)提取出來,分為三個部分:小數(shù)部分、整數(shù)部分和符號部分。小數(shù)部分進(jìn)行四舍五入處理:大于0.5的話,向個位進(jìn)1;小于0.5的時候,舍去不要。當(dāng)數(shù)據(jù)是個負(fù)數(shù)的時候,顯示之前要進(jìn)行數(shù)據(jù)轉(zhuǎn)換,將其整數(shù)部分取反加一。還因?yàn)镈S18B20最低溫度只能為-55,所以可以將整數(shù)部分的最高位換成一個“-”,表示為負(fù)數(shù)。圖4-2為溫度數(shù)據(jù)

22、處理程序的流程圖。圖4-2 溫度數(shù)據(jù)處理流程圖開始提取整數(shù)部分存入HT提取小數(shù)部分存入LTLT右移三位,將精度降低到0.5攝氏度HT+將小數(shù)部分整數(shù)化提取符號部分存入signLT是否大于5Sign=?0XF0RET負(fù)數(shù)表示flag=1 HT=HT+1YNNY 5. 總結(jié)與體會作為一名即將大四的測控學(xué)生,我覺得做單片機(jī)方面的課程設(shè)計(jì)是很有意義的,而且也是必要的。通過這次課程設(shè)計(jì)的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的實(shí)際資料是十分必要的,也是必不可少的。其次,在這次課程設(shè)計(jì)中,我們運(yùn)用了許多專業(yè)軟件,如:proteus仿真、Altium Design

23、er等。雖然過去我從未獨(dú)立應(yīng)用過他們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲。最后,要做好一個課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機(jī)有哪些資源;要有一個清晰的思路和一個完整的軟件流程圖;在設(shè)計(jì)程序時,不能妄想一次將整個程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,這樣為資料的保留和交流提供了方便;在設(shè)計(jì)中遇到的問題要記錄,以免下次遇到同樣的問題。在這次的課程設(shè)計(jì)中,我真正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識用到實(shí)際當(dāng)中,學(xué)習(xí)單片機(jī)更是如此,程序只有在經(jīng)

24、常寫與讀的過程中才能提高,這就是這次課程設(shè)計(jì)的最大收獲。附錄1 軟件仿真附錄2 制板圖附錄3 程序源代碼22DATA_BUSBITP3.3FLAG BIT00H;標(biāo)志位TEMP_L EQU 30H;溫度值低字節(jié)TEMP_HEQU31H;溫度值高字節(jié)TEMP_SW EQU35H;溫度十位數(shù)TEMP_GWEQU36H;溫度個位數(shù)DIS_BWEQU37H;顯示百位數(shù)DIS_SWEQU38H;顯示十位數(shù)DIS_GWEQU39H;顯示個位數(shù)DIS_ADDEQU3BH;顯示地址ORG 0000H AJMPSTARTORG 0050H;初始化START: MOV SP,#40HMAIN: LCALLREAD

25、_TEMP;調(diào)讀溫度程序 LCALLPROCESS;調(diào)數(shù)據(jù)處理程序 AJMPMAIN;讀溫度程序READ_TEMP: LCALL RESET_PULSE ;調(diào)用復(fù)位脈沖程序MOV A,#0CCH;跳過ROM命令LCALL WRITEMOV A, #44H;讀溫度LCALL WRITELCALL DISPLAY;顯示溫度LCALLRESET_PULSE;調(diào)用復(fù)位脈沖程序MOV A,#0CCH ;跳過ROM命令LCALL WRITEMOV A,#0BEH ;讀緩存命令LCALL WRITELCALL READRET;復(fù)位脈沖程序RESET_PULSE:RESET: SETBDATA_BUSNOPN

26、OPCLRDATA_BUSMOVR7,#255DJNZR7,$SETB DATA_BUSMOVR7,#30DJNZR7,$JNB DATA_BUS,SETB_FLAGCLRFLAGAJMPNEXTSETB_FLAG:SETB FLAGNEXT: MOV R7,#120DJNZR7,$SETB DATA_BUSJNBFLAG,RESET RET;寫命令WRITE: SETBDATA_BUS MOVR6,#8 CLR CWRITING:CLRDATA_BUSMOVR7,#5DJNZR7,$RRCAMOVDATA_BUS, CMOVR7,#30HDJNZR7,$SETBDATA_BUSNOPDJNZ

27、R6,WRITINGRET;循環(huán)顯示段位DISPLAY:MOV R4,#200DIS_LOOP:MOVA,DIS_DPMOVP2,#0FFHMOVP0,A CLRP2.7 LCALLDELAY2MSMOVA,DIS_GWMOVP2,#0FFHMOVP0,ASETBP0.7 CLRP2.6 LCALLDELAY2MSMOVA,DIS_SWMOVP2,#0FFHMOVP0,ACLRP2.5 LCALLDELAY2MSMOVA,DIS_BW MOVP2,#0FFHMOVP0,AMOVA,TEMP_BWCJNEA,#0,SKIPAJMPNEXTTSKIP: CLRP2.4LCALLDELAY2MSNEXTT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論