數(shù)字溫度測(cè)量及控制系統(tǒng)本科學(xué)位論文_第1頁(yè)
數(shù)字溫度測(cè)量及控制系統(tǒng)本科學(xué)位論文_第2頁(yè)
數(shù)字溫度測(cè)量及控制系統(tǒng)本科學(xué)位論文_第3頁(yè)
數(shù)字溫度測(cè)量及控制系統(tǒng)本科學(xué)位論文_第4頁(yè)
數(shù)字溫度測(cè)量及控制系統(tǒng)本科學(xué)位論文_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

遼寧石油化工大學(xué)課程設(shè)計(jì)PAGE23-目錄TOC\o"1-3"\h\u165361前言 -2-130642設(shè)計(jì)背景 -2-297433設(shè)計(jì)說(shuō)明 -3-242613.1工作原理 -3-283063.2具體控制要求 -3-8754硬件設(shè)計(jì) -3-80174.1系統(tǒng)結(jié)構(gòu)圖 -3-17284.2單片機(jī)的選擇 -4-94134.3溫度傳感器的選擇 -6-276114.4顯示器的選擇 -6-4105硬件電路設(shè)計(jì) -7-58965.1單片機(jī)最小系統(tǒng)的設(shè)計(jì) -7-193765.2溫度傳感電路設(shè)計(jì) -8-92315.3溫度控制電路和報(bào)警電路的設(shè)計(jì) -9-308185.4鍵盤電路的設(shè)計(jì) -10-250325.5顯示電路的設(shè)計(jì) -11-139245.6系統(tǒng)仿真圖如下: -13-313156系統(tǒng)的軟件設(shè)計(jì) -13-196336.1系統(tǒng)的主程序設(shè)計(jì) -13-42966.2中斷程序的設(shè)計(jì) -14-45726.3源程序清單 -15-270837元器件清單 -27-181568心得體會(huì) -27-1前言隨著科技的不斷進(jìn)步,在工業(yè)生產(chǎn)中溫度是常用的被控參數(shù),而采用單片機(jī)來(lái)對(duì)這些被控參數(shù)進(jìn)行控制已成為當(dāng)今的主流。本文介紹了數(shù)字溫度測(cè)量及自動(dòng)控制系統(tǒng)的設(shè)計(jì)。本文采用單片機(jī)來(lái)實(shí)現(xiàn)對(duì)溫度的控制。它的主要組成部分有:AT89S51單片機(jī)、溫度傳感器、鍵盤與顯示電路、溫度控制電路。它可以實(shí)時(shí)的顯示和設(shè)定溫度,實(shí)現(xiàn)對(duì)溫度的自動(dòng)控制。通過(guò)測(cè)試表明,本設(shè)計(jì)對(duì)溫度的控制有方便、簡(jiǎn)單的特點(diǎn),從而大幅提高了被控溫度的技術(shù)指標(biāo)。2設(shè)計(jì)背景溫度控制廣泛應(yīng)用于人們的生產(chǎn)和生活中,人們使用溫度計(jì)來(lái)采集溫度,通過(guò)人工操作加熱、通風(fēng)和降溫設(shè)備來(lái)控制溫度,這樣不但控制精度低、實(shí)時(shí)性差,而且操作人員的勞動(dòng)強(qiáng)度大。即使有些用戶采用半導(dǎo)體二極管作溫度傳感器,但由于其互換性差,效果也不理想。在某些行業(yè)中對(duì)溫度的要求較高,由于工作環(huán)境溫度不合理而引發(fā)的事故時(shí)有發(fā)生。對(duì)工業(yè)生產(chǎn)可靠進(jìn)行造成影響,甚至操作人員的安全。為了避免這些缺點(diǎn),需要在某些特定的環(huán)境里安裝數(shù)字溫度測(cè)量及控制設(shè)備。本設(shè)計(jì)由于采用了新型單片機(jī)對(duì)溫度進(jìn)行控制,以其測(cè)量精度高,操作簡(jiǎn)單??蛇\(yùn)行性強(qiáng),價(jià)格低廉等優(yōu)點(diǎn),特別適用于生活,醫(yī)療,工業(yè)生產(chǎn)等方面的溫度測(cè)量及控制。本設(shè)計(jì)是一個(gè)數(shù)字溫度測(cè)量及控制系統(tǒng),能測(cè)柜內(nèi)的溫度,并能在超限的情況下進(jìn)行控制、調(diào)整,并報(bào)警。保證環(huán)境保持在限定的溫度中。本章主要對(duì)畢業(yè)設(shè)計(jì)的題目進(jìn)行了分析,根據(jù)要實(shí)現(xiàn)的功能,綜合比較幾種設(shè)計(jì)方法,提出了實(shí)現(xiàn)系統(tǒng)功能的最佳方案。3設(shè)計(jì)說(shuō)明3.1工作原理在本系統(tǒng)中,溫度傳感器DS18B20把所測(cè)得的溫度發(fā)送到AT89S51單片機(jī)上,經(jīng)過(guò)51單片機(jī)處理,將把溫度在顯示電路上顯示,本系統(tǒng)顯示器為點(diǎn)陣字符LCD,1602液晶模塊。檢測(cè)范圍5攝氏度到60攝氏度。本系統(tǒng)除了顯示溫度以外還可以設(shè)置一個(gè)溫度值,對(duì)所測(cè)溫度進(jìn)行監(jiān)控,當(dāng)溫度高于或低于設(shè)定溫度時(shí),開(kāi)始報(bào)警并啟動(dòng)相應(yīng)程序(溫度高于設(shè)定溫度時(shí),風(fēng)扇開(kāi);當(dāng)溫度低于設(shè)定溫度時(shí),加熱器開(kāi))。最終實(shí)現(xiàn)溫度的測(cè)量和控制。3.2具體控制要求根據(jù)設(shè)計(jì)的要求,要利用溫度傳感器實(shí)時(shí)溫度。當(dāng)溫度高于設(shè)定的溫度時(shí)(60℃),打開(kāi)降溫裝置進(jìn)行調(diào)整使溫度在設(shè)定的范圍內(nèi)。當(dāng)溫度低于設(shè)定的溫度時(shí)(5℃),打開(kāi)升溫裝置進(jìn)行調(diào)整使溫度在設(shè)定的范圍內(nèi)。同時(shí)要求能設(shè)定溫度。畢業(yè)設(shè)計(jì)的主要任務(wù)是能對(duì)溫度進(jìn)行自動(dòng)的檢測(cè)和控制。設(shè)計(jì)中采用單片機(jī)來(lái)控制溫度,因此要有溫度的采集電路,鍵盤顯示電路,溫控電路,報(bào)警電路等幾個(gè)部分。要實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)要用到的知識(shí)點(diǎn)有單片機(jī)的原理及其應(yīng)用,溫度傳感器的原理和應(yīng)用,及鍵盤和顯示電路的設(shè)計(jì)等。4硬件設(shè)計(jì)4.1系統(tǒng)結(jié)構(gòu)圖溫度控制系統(tǒng)采用AT89S51八位機(jī)作為微處理單元進(jìn)行控制。采用4X4鍵盤把設(shè)定溫度的最高值和最低值存入單片機(jī)的數(shù)據(jù)存儲(chǔ)器,還可以通過(guò)鍵盤完成溫度檢測(cè)功能的轉(zhuǎn)換。溫度傳感器把采集的信號(hào)與單片機(jī)里AT89S51溫度控制報(bào)警電路顯示電路溫度傳感器AT89S51溫度控制報(bào)警電路顯示電路溫度傳感器鍵盤設(shè)定圖4.1系統(tǒng)框圖根據(jù)系統(tǒng)的設(shè)計(jì)要求,選擇DS18B20作為本系統(tǒng)的溫度傳感器,選擇單片機(jī)AT89S51為測(cè)控系統(tǒng)的核心來(lái)完成數(shù)據(jù)采集、處理、顯示、報(bào)警等功能。選用數(shù)字溫度傳感器DS18B20,省卻了采樣/保持電路、運(yùn)放、數(shù)/模轉(zhuǎn)換電路以及進(jìn)行長(zhǎng)距離傳輸時(shí)的串/并轉(zhuǎn)換電路,簡(jiǎn)化了電路,縮短了系統(tǒng)的工作時(shí)間,降低了系統(tǒng)的硬件成本。4.2單片機(jī)的選擇微處理器是本系統(tǒng)的核心,其性能的好壞直接影響系統(tǒng)的穩(wěn)定,鑒于本系統(tǒng)為實(shí)時(shí)控制系統(tǒng),系統(tǒng)運(yùn)行時(shí)需要進(jìn)行大量的運(yùn)算,所以單片機(jī)采用高效微控制器AT89S51。他是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。她有以下優(yōu)點(diǎn):4KB片內(nèi)在系統(tǒng)可編程Flash程序存儲(chǔ)器;時(shí)鐘頻率為0~33MHz;128字節(jié)片內(nèi)隨機(jī)讀寫(xiě)存儲(chǔ)器(RAM);32個(gè)可編程輸入/輸出引腳;2個(gè)16位定時(shí)/計(jì)數(shù)器;6個(gè)中斷源,2級(jí)優(yōu)先級(jí);全雙工串行通信接口;監(jiān)視定時(shí)器;2個(gè)數(shù)據(jù)指針。單片機(jī)AT89S51引腳圖如圖4.2:圖4.2AT89S51單片機(jī)引腳圖4.3溫度傳感器的選擇DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。同DS1820一樣,DS18B20也支持“一線總線”接口,測(cè)量溫度范圍為-55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為0.5℃。DS18B20的精度較差為±0.2℃?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。DALLAS半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的“DS1820”體積更小、更經(jīng)濟(jì)、更靈活。使您可以充分發(fā)揮“一線總線”的長(zhǎng)處。DS18B20、DS1822“一線總線”數(shù)字化溫度傳感器。由于DS18B20將溫度傳感器、信號(hào)放大調(diào)理、A/D轉(zhuǎn)換、接口全部集成于一芯片,與單片機(jī)連接簡(jiǎn)單、方便,與AD590相比是更新一代的溫度傳感器,所以溫度傳感器采用DS18B20。4.4顯示器的選擇傳統(tǒng)的七段數(shù)碼LED顯示器,雖然價(jià)格便宜,但在低功耗方面沒(méi)有LCD好。故采用點(diǎn)陣字符LCD,系統(tǒng)中我們選擇2行16個(gè)字的1602液晶模塊。5硬件電路設(shè)計(jì)5.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)目前的單片機(jī)開(kāi)發(fā)系統(tǒng)只能夠仿真單片機(jī),卻沒(méi)有給用戶提供一個(gè)通用的最小系統(tǒng)。由設(shè)計(jì)的要求,只要做很小集成度的最小系統(tǒng)應(yīng)用在一些小的控制單元。其應(yīng)用特點(diǎn)是:(1)全部I/O口線均可供用戶使用。(2)內(nèi)部存儲(chǔ)器容量有限(只有4KB地址空間)。(3)應(yīng)用系統(tǒng)開(kāi)發(fā)具有特殊性單片機(jī)最小系統(tǒng)電路如圖5.1:圖5.1最小系統(tǒng)圖5.2溫度傳感電路設(shè)計(jì)DS18B20的性能特點(diǎn):采用單總線專用技術(shù),既可通過(guò)串行口線,也可通過(guò)其它I/O口線與微機(jī)接口,無(wú)須經(jīng)過(guò)其它變換電路,直接輸出被測(cè)溫度值(9位二進(jìn)制數(shù),含符號(hào)位)。在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是VCC接外部電源,GND接地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻.我們采用的是第一種連接方法,如圖5.2所示:把DS18B20的數(shù)據(jù)線與單片機(jī)的13管腳連接,再加上上拉電阻。圖5.2溫度傳感電路圖DS18B20有六條控制命令,如表5.1所示:表5.1DS18B20控制命令指

令約定代碼操作

說(shuō)

明溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個(gè)字節(jié)內(nèi)容寫(xiě)暫存器4EH將數(shù)據(jù)寫(xiě)入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫(xiě)到E2RAM中重新調(diào)E2RAMB8H把E2RAM中的TH、TL字節(jié)寫(xiě)到暫存器TH、TL字節(jié)讀電源供電方式B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU5.3溫度控制電路和報(bào)警電路的設(shè)計(jì)圖5.3溫度控制和報(bào)警電路實(shí)際電路如圖5.3所示,通過(guò)鍵盤設(shè)定溫度的上下限。把實(shí)際測(cè)量的溫度和設(shè)定的上下限進(jìn)行比較,來(lái)控制P0.0、P0.1、P0.7端口的高低電平。把P0.0、P0.1、P0.7端口分別與三極管的基極連接來(lái)控制溫度和報(bào)警。當(dāng)測(cè)量的溫度超過(guò)了設(shè)定的最高溫度,P2.2由高電平變成低電平,就相當(dāng)于基極輸入為“0”,這時(shí)三極管導(dǎo)通推動(dòng)小風(fēng)扇和控制電路工作,反之,當(dāng)基極輸入為“1”時(shí),三極管不導(dǎo)通,報(bào)警器和控制電路都不工作。只要控制單片機(jī)的P0.0、P0.1、P0.7口的高低電平就可以控制模擬電路的工作。5.4鍵盤電路的設(shè)計(jì)如圖六示,用AT89S51的并行口P1接4×4矩陣鍵盤,以P1.0-P1.3作輸入線,以P1.4-P1.7作輸出線;液晶顯示器上顯示每個(gè)按鍵的“0-F”序號(hào)。對(duì)應(yīng)的按鍵的序號(hào)排列如5.4所示:圖5.4按鍵的序號(hào)排列圖圖5.5中微處理單元是AT89S51單片機(jī),X1和X2接12M的兩腳晶振,接兩個(gè)30PF的起振電容,J1是上拉電阻.單片機(jī)的P1口8位引腳與行列式鍵盤輸出腳相連,控制和檢測(cè)行列式鍵盤的輸入.行線通過(guò)上拉電阻接到+5V上,無(wú)按鍵按下時(shí),行線處于高電平狀態(tài),有鍵按下時(shí),行線的電平狀態(tài)將由與此行線相連接的列線的電平?jīng)Q定.鍵盤輸入的信息主要進(jìn)程是:1CPU判斷是否有鍵按下.2確定是按下的是哪個(gè)鍵.3把此鍵所代表的信息翻譯成計(jì)算機(jī)可以識(shí)別的代碼或者其他的特征符號(hào).圖5.5鍵盤硬件電路圖5.5顯示電路的設(shè)計(jì)液晶顯示器是一種將液晶顯示器件,連接器件,集成電路,PCB線路板,背光源,結(jié)構(gòu)器件裝配在一起的組件。根據(jù)顯示內(nèi)容和方式的不同可以分為,數(shù)顯LCD,點(diǎn)陣字符LCD,點(diǎn)陣圖形LCD在此設(shè)計(jì)中我們采用點(diǎn)陣字符LCD,這里采用常用的2行16個(gè)字的1602液晶模塊。1602采用標(biāo)準(zhǔn)的14腳接口,其中:第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度

第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。

第5腳:RW為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。

第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15~16腳:空腳。與單片機(jī)的連接如圖5.6所示。圖5.6液晶顯示電路圖5.6系統(tǒng)仿真圖如下:圖5.7系統(tǒng)仿真圖6系統(tǒng)的軟件設(shè)計(jì)6.1系統(tǒng)的主程序設(shè)計(jì)主程序是系統(tǒng)的監(jiān)控程序,在程序運(yùn)行的過(guò)程中必須先經(jīng)過(guò)初始化,包括鍵盤程序,中斷程序,以及各個(gè)控制端口的初始化工作。流程圖如6.1所示。系統(tǒng)在初始化完成后就進(jìn)入溫度測(cè)量程序,實(shí)時(shí)的測(cè)量當(dāng)前的溫度并通過(guò)顯示電路在LCD上顯示。程序中以中斷的方式來(lái)重新設(shè)定溫度的上下限。根據(jù)硬件設(shè)計(jì)完成對(duì)溫度的控制。按下4*4鍵盤上的A鍵可以設(shè)定溫度上限,按下B鍵可以設(shè)定溫度下限。開(kāi)始開(kāi)始系統(tǒng)初始化系統(tǒng)初始化開(kāi)中斷開(kāi)中斷IInt0=0?YYN溫度上下限設(shè)定N溫度上下限設(shè)定溫度測(cè)量溫度測(cè)量溫度測(cè)量溫度測(cè)量顯示系統(tǒng)顯示系統(tǒng)圖6.1系統(tǒng)總體設(shè)計(jì)流程圖6.2中斷程序的設(shè)計(jì)MCS-51單片的中斷系統(tǒng)有5個(gè)中斷請(qǐng)求源,用戶可以用關(guān)中斷指令“CLREA”來(lái)屏蔽所有的中斷請(qǐng)求,也可以用開(kāi)中斷指令“SETEA”來(lái)允許CPU接收中斷請(qǐng)求。在本設(shè)計(jì)中我們選用INTO來(lái)作為中斷請(qǐng)求源。INT1—外部中斷請(qǐng)求0,由INTO引腳輸入,中斷請(qǐng)求標(biāo)志為IE0。MCS-51響應(yīng)中斷后,就進(jìn)入中斷服務(wù)程序,中斷程序的基本流程圖如圖6.2:圖6.2中斷服務(wù)程序基本流程6.3源程序清單DI EQUP3.3DO EQUP3.4CLK EQUP3.5CS EQUP3.6;LCD端口定義D2RSEQUP2.7D2RWEQUP2.6D2EEQUP2.5KEYPORTEQUP1;DS18B20端口定義TEMPER_LEQU36HTEMPER_HEQU35HTEMPER_NUMEQU38HFLAG1BIT00HDQBITP2.4ORG 0000HLJMP MAINORG 0003H;中斷入口地址JMP INT0ORG 0038H;主程序的起始地址MAIN:MOVSP,#60H;主程序SETBP2.0SETBP2.1SETBP2.2SETBEASETBEX0SETBP2.0SEETBP2.1SETBP2.2MOVR0,#01H;清屏并置地址計(jì)數(shù)器AC為0LCALLDIS_CMD_WRTMOVR0,#38H;8位數(shù)據(jù)接口,雙行顯示,5*7點(diǎn)陣LCALLDIS_CMD_WRTCALLDIS_CUR_OFFMOV42H,#20MOV43H,#32XIAN:LCALLGET_TEMPERLCALLDISPLCALLDELAY43MSMOVA,TEMPER_NUMSUBBA,42HJCZZZLMOVA,TEMPER_NUMSUBBA,43HJNCZZZ2 SETBP2.0 SETBP2.1 SETBP2.2 JMPXIANZZZL:CLRP2.0CLRP2.2JMPXIANZZZ2:CLRP2.0CLRP2.1JMPXIANINT0:;掃描鍵盤程序 LCALLASKSAO:CLR01HLCALLKEYJNB01H,SAOCJNEA,#10,PANLCALLANSWRETIPAN:CJNEA,#12,SAORETI;顯示函數(shù)部分,可供調(diào)用DIS_CUR_OFF:MOVR0,#0CH LCALLDIS_CMD_WRT RETDIS_CUR_ON:MOVR0,#0EH LCALLDIS_CMD_WRT RETCHK_BUSY_FLG:MOVP0,#0FFH CLRD2RS NOP NOP NOP LCALLDISPLAY_RD JBACC.7,CHK_BUSY_FLG RETCLEAR_DIS:MOVR0,#01H LCALLDIS_CMD_WRT RETDIS_CMD_WRT:LCALLCHK_BUSY_FLG MOVP0,R0 CLRD2RS NOP NOP NOP LCALLDISPLAY_WRT RETDIS_DATA_WRT:LCALLCHK_BUSY_FLG CJNEA,#10H,DIS_DAT_WRT1 MOVP0,#0C0H CLRD2RS: NOP NOP NOP LCALLDISPLAY_WRTDIS_DAT_WRT1:MOVP0,R0 SETBD2RS NOP NOP NOP LCALLDISPLAY_WRT RETDISPLAY_WRT:CLRD2RW NOP NOP NOP SETBD2E NOP NOP NOP CLRD2E NOP NOP NOP RETDISPLAY_RD:SETBD2RW NOP NOP NOP SETBD2E NOP NOP NOP MOVA,P0 NOP NOP NOP CLRD2E NOP NOP NOP RETDIS_DATA_RD:LCALLCHK_BUSY_FLG MOVP0,#0FFH SETBD2RS LCALLDISPLAY_RD RET;鍵盤程序,出口:A為按鍵值01H:0無(wú)鍵按下1有鍵按下KEY: MOVKEYPORT,#0FH MOVA,KEYPOR CJNEA,#0FH,KEYDOWN MOVA,#0FFH RETKEYDOWN: LCALLDELAY43MS MOVKEYPORT,#0FH MOVA,KEYPORT CJNEA,#0FH,KEYDOWN_YES MOVA,#0FFH RETKEYDOWN_YES:MOVB,A MOVKEYPORT,#0F0H MOVA,KEYPORT ORLA,B PUSH30H MOV30H,AMOVR3,#10H MOVDPTR,#KEYVALUENEXT_KEY: MOVA,R3 MOVCA,@a+dptr CJNEA,30h,NEXTKEYVALUE DECR3 POP30HWAITKEY_F: MOVKEYPORT,#0FH MOVA,KEYPORT CJNEA,#0FH,WAITKEY_F MOVA,R3 SETB01H RETNEXTKEYVALUE:DJNZR3,NEXT_KEY DECR3 POP30HWAITKEY_FREE:MOVKEYPORT,#0FH MOVA,KEYPORT CJNEA,#0FH,WAITKEY_FREE MOVA,R3 SETB01H RETKEYVALUE: DB 0FFH,7EH,7DH,7BH,77H,0BEH,0BDH0BBH,0B7H,0DEH,0DDH,0DBH 0D7H,0EEH,0EDH,0EBH,0E7HDELAY43MS:PUSHA MOVA,R3 PUSHA MOVA,R2 PUSHAMOVR3,#43DELAY: MOVR2,#0FAHLOOP: NOP;內(nèi)層循環(huán)為1MS NOP DJNZR2,LOOPDJNZR3, DELAY POPA MOVR2,A POPA MOVR3,A POPA RET;確認(rèn)是否修改溫度設(shè)定ASK:MOVR0,#01H;清屏并置地址計(jì)數(shù)器AC為0LCALLDIS_CMD_WRTMOV40H,#0ZDZ:MOVDPTR,#LINEMOVA,40HMOVCA,@A+DPTRMOVR0,ALCALLDIS_DATA_WRTINC40HMOVA,40HMOVCA,@A+DPTRCJNEA,#00H,ZDZRETLINE: DB"AREYOUSURE CHANGET(Y/N)?",00HANSW:MOVR6,42HMOVR7,43HMOVR0,#01HLCALLDIS_CMD_WRTMOVR0,#44HCALLDIS_DATA_WRTMOVR0,#6FHCALLDIS_DATA_WRTMOVR0,#77HCALLDIS_DATA_WRTMOVR0,#6EHCALLDIS_DATA_WRTMOVR0,#3AHCALLDIS_DATA_WRTMOV40H,#0CLR00HJMPSAO1GAI:MOVR0,#0FEHCALLDIS_DATA_WRTMOVR0,#55HCALLDIS_DATA_WRTMOV R0,#70HCALLDIS_DATA_WRTMOVR0,#3AHCALLDIS_DATA_WRTMOV40H,#0SAO1:CLR01HLCALLKEYJNB01H,SAO1MOVR1,AMOVB,#10DIVABJZNEXT2MOVA,A1CJNEA,#11,XUJB00H,DOWNMOV42H,40HCPL00HJMPGAIDOWN:MOV43H,40HRETIXU: CJNEA,#12,SAO1MOV42H,R6MOV43H,R7RETINEXT2:MOVA,R1ADDA,#30HMOVR0,ALCALLDIS_DATA_WRTMOVA,R1XCHA,40HMOVB,#10MULABNOPCLRDQCLRCWR1:CLRDQMOVR3,#6DJNZR3,$NOPNOPSETBDQMOVR3,#7DJNZR3,$MOVC,DQMOVR3,#23DJNZR3,$RRCADJNZR2,RE01MOV@R1,ADECR1DJNZR4,RE00RET;將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換TEMPER_COV:MOVA,#0f0HANLA,TEMPER_L;舍去溫度低位中小數(shù)點(diǎn)后的四位溫度數(shù)值SWAPAMOVTEMPER_NUM,AMOVA,TEMPER_LJNBACC.3,TEMPER_COV1;四舍五入去溫度值INCTEMPER_NUMTEMPER_COV1:MOVA,TEMPER_HANLA,#07HSWAPAORLA,TEMPER_NUMMOVTEMPER_NUM,A;保存變換后的溫度數(shù)據(jù)RETSETBDISETBDOSETBCLKCLRCSNOPSETBCSCLRCLKCLRCSCALLDELAY1 SETBDI SETBCLK NOP CLRCLK SETBDI SETBCLK NOP CLRCLK CLRDI SETBCLK NOP CLRCLK NOP SETBCLK NOP CLRCLK NOP SETBCLK MOVC,DO CLRCLK RLCA;7 SETBCLK MOVC,DO CLRCLK RLCA6 SETBCLK MOVC,DO CLRCLK RLCA;5 SETBCLK MOVC,DO CLRCLK RLCA;4 SETBCLK MOVC,DO CLRCLK RLCA;3 SETBCLK MOVC,DO CLRCLK RLCA;2 SETBCLK MOVC,DO CLRCLK RLCA;1 SETBCLK MOVC,DO CLRCLK RLCA;0 SETBCLK NOP CLRCLK;1 NOP SETBCLK NOP CLRCLK;2

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論