版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><p> 題目名稱:多路數(shù)字溫度測(cè)量系統(tǒng)設(shè)計(jì) </p><p> 系: 電 </p><p> 專 業(yè): 電 </p><p> 班 級(jí):
2、 </p><p> 學(xué) 號(hào): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 職 稱: &
3、lt;/p><p> 年 月 日</p><p><b> 一、摘要</b></p><p> 計(jì)算機(jī)技術(shù)的發(fā)展和普及提升了數(shù)據(jù)采集系統(tǒng)的技術(shù)水平。在生產(chǎn)過(guò)程中,應(yīng)用數(shù)據(jù)采集系統(tǒng)可對(duì)生產(chǎn)現(xiàn)場(chǎng)的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄,以方便人們對(duì)數(shù)據(jù)結(jié)果做出分析判斷?;趨R編語(yǔ)言的多路溫度采集與處理系統(tǒng),可以實(shí)現(xiàn)對(duì)多路不同溫度進(jìn)行實(shí)時(shí)檢測(cè),通
4、過(guò)LED顯示當(dāng)前溫度值,可以更直觀的觀察數(shù)據(jù)、更便捷的對(duì)系統(tǒng)進(jìn)行控制。</p><p> 本課題以內(nèi)置A/D轉(zhuǎn)換器的單片機(jī)STC12C5A32AD為核心,對(duì)多路的溫度進(jìn)行實(shí)時(shí)巡檢。采用多個(gè)模擬溫度傳感器LM35測(cè)量多路溫度。通過(guò)LM358構(gòu)成的同相放大器對(duì)模擬溫度信號(hào)進(jìn)行放大,然后送至單片機(jī)處理。處理后由四位LED數(shù)碼管對(duì)八路溫度予以動(dòng)態(tài)顯示。通過(guò)獨(dú)立式鍵盤可對(duì)測(cè)量進(jìn)行操控。同時(shí)該系統(tǒng)還具有報(bào)警功能,實(shí)現(xiàn)當(dāng)測(cè)量
5、溫度超出-55℃——125℃時(shí)發(fā)出報(bào)警。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了LM35溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了流程圖。</p><p> 關(guān)鍵詞:單片機(jī);溫度傳感器;放大器;數(shù)碼管顯示;鍵盤</p><p><b> 二、總體方案設(shè)計(jì)</b></p><p><b> 方案的闡述與特點(diǎn):</b><
6、;/p><p> 本設(shè)計(jì)方案以LM35為溫度傳感器、內(nèi)置A/D轉(zhuǎn)換器單片機(jī)STC89LE516AD為控制核心組成多點(diǎn)溫度測(cè)量系統(tǒng),該系統(tǒng)包括傳感器及其放大電路、復(fù)位電路、晶振電路、報(bào)警電路、鍵盤與顯示、基準(zhǔn)電壓電路組成。</p><p> 1、本方案系統(tǒng)框圖為:</p><p> 圖1 總體系統(tǒng)框圖</p><p><b>
7、基本工作原理:</b></p><p> 如圖1所示本設(shè)計(jì)以LM35模擬溫度傳感器對(duì)八路溫度進(jìn)行實(shí)時(shí)測(cè)量,其輸出電壓經(jīng)由LM358構(gòu)成的同相放大器放大后送至單片機(jī)的A/D輸入口。單片機(jī)對(duì)輸入信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換執(zhí)行軟件程序后,由LED數(shù)碼管顯示溫度值,每秒切換一個(gè)通道進(jìn)行輪流顯示。通過(guò)鍵盤可以隨時(shí)查看指定通道的溫度值,當(dāng)任何一路溫度的3次平均值超過(guò)設(shè)定的下限值或上限值時(shí),發(fā)出警告。</p>
8、<p><b> 3、它有如下特點(diǎn):</b></p><p> ?。?)可以監(jiān)測(cè)8路環(huán)境溫度信號(hào),可以擴(kuò)充;對(duì)8路模擬信號(hào)輸入進(jìn)行循環(huán)采集,每路連線采集三次,取平均值。</p><p> ?。?)測(cè)量范圍為-55℃~+125℃,精度為±0.5℃</p><p> ?。?)LCD液晶顯示或用4位LED數(shù)碼管進(jìn)行循環(huán)顯示,其
9、中最高位通道提示符A~H,低三位顯示實(shí)際溫度值,每秒切換一個(gè)通道進(jìn)行輪流顯示;</p><p> (4)鍵盤控制,可隨時(shí)查看指定通道的溫度值;</p><p> (5)可分別設(shè)定每一路的上限制和下限值,若采集平均值超過(guò)設(shè)定范圍,則對(duì)應(yīng)通道指示燈閃爍10后一直亮,指示燈閃爍是喇叭發(fā)聲,以示警告。</p><p><b> 三、系統(tǒng)硬件設(shè)計(jì)</b&
10、gt;</p><p> 本課題的整個(gè)系統(tǒng)是由傳感器及其信號(hào)放大電路、單片機(jī)、顯示電路、鍵盤電路、穩(wěn)壓電路、晶振電路、復(fù)位電路等構(gòu)成。</p><p> 3.1控制器--單片機(jī)設(shè)計(jì):</p><p> 本設(shè)計(jì)采用的單片機(jī)為STC12C5A32AD</p><p> STC12C5A32AD單片機(jī)是單時(shí)鐘/ 機(jī)器周期(1T)的兼容805
11、1 內(nèi)核單片機(jī),是高速/ 低功耗的新一代單片機(jī),全新的流水線/ 精簡(jiǎn)指令集結(jié)構(gòu)。STC12C5A32AD單片機(jī)主要性能:</p><p> ●高速:1個(gè)時(shí)鐘/機(jī)器周期,RISC型8051內(nèi)核,速度比普通8051快12倍</p><p> ●工作電壓:5.5V--3.3V</p><p> ●低功耗設(shè)計(jì):空閑模式,掉電模式(可由外部中斷喚醒)</p>
12、<p> ●工作頻率:0~35MHz</p><p> ●時(shí)鐘:外部晶體或內(nèi)部RC 振蕩器可選</p><p> ●芯片內(nèi)E2PROM 功能</p><p> ● ISP/IAP,在系統(tǒng)可編程/在應(yīng)用可編程,無(wú)需仿真器</p><p> ● 8位8通道ADC,轉(zhuǎn)換速度可達(dá)300K/S</p><p&
13、gt; ● 2個(gè)硬件16位定時(shí)器,兼容普通8051 的定時(shí)器。再加上2 路PCA 還可再實(shí)現(xiàn)2個(gè)16位定時(shí)器</p><p> ●硬件看門狗(WDT)</p><p> ●全雙工異步串行口(UART),由于STC12系列單片機(jī)是高速的8051,可再用定時(shí)器或PCA軟件實(shí)現(xiàn)多串口</p><p> 如圖3.1為STC12C5A32AD引腳圖,各引腳功能說(shuō)明如下
14、:</p><p> 圖3.1 STC12C5A32AD引腳圖</p><p><b> ● Vcc: 電源</b></p><p><b> ● GND: 地</b></p><p> ● P0 口:P0口是一個(gè)8位的雙向I/O口。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和
15、數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。</p><p> ● P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,同時(shí)也是模擬量輸入口,可以對(duì)8路模擬量進(jìn)行模數(shù)轉(zhuǎn)換。</p><p> ● P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR)時(shí),P2 口送出高八位地址
16、。</p><p> ● P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口。P3口亦作為特殊功能口使用,如表3-1所示。</p><p> 表3-1 STC12C5A32AD引腳號(hào)特殊功能</p><p> ● RST: 復(fù)位輸入,晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。</p><p> ● ALE:
17、地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。</p><p> ● XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p><p> ● XTAL2:振蕩器反相放大器的輸出端。</p><p> 3.2傳感器檢測(cè)電路設(shè)計(jì):</p><p> LM35 是由National Semicondu
18、ctor 所生產(chǎn)的溫度傳感器,其輸出電壓與攝氏溫度成正比,具有10mv/℃的靈敏度,工作溫度范圍為4V~30V;輸出阻抗為0.1Ω。LM35溫度傳感器,由于它采用內(nèi)部補(bǔ)償,所以輸出可以從0℃開始,器件有三個(gè)引腳,分別是電源負(fù)GND,電源正Vcc,信號(hào)輸出端。</p><p> 電路需要兩路運(yùn)算放大電路,所以選擇雙路運(yùn)算放大器,一路作跟隨器另一路作同向放大器,LM358 內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償
19、的雙運(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運(yùn)算放大器的場(chǎng)合。</p><p> 圖3.2.傳感器檢測(cè)電路</p><p> 3.3顯示電路設(shè)計(jì):</p><p> 如圖3.3所示,本顯示方案采用單片機(jī)I/O口外擴(kuò)74HC573驅(qū)動(dòng)器驅(qū)動(dòng)4位LED數(shù)碼管實(shí)現(xiàn)動(dòng)
20、態(tài)顯示,所謂動(dòng)態(tài)顯示就是在任何時(shí)刻只有一位LED數(shù)碼管處于顯示狀態(tài),即單片機(jī)采用掃描的方式控制各個(gè)數(shù)碼管的輪流顯示。動(dòng)態(tài)顯示具有編程簡(jiǎn)單,占用I/O口線少的優(yōu)點(diǎn)。</p><p><b> 圖3.3顯示電路</b></p><p> 3.4鍵盤電路設(shè)計(jì):</p><p><b> 其原理圖如下:</b></p&
21、gt;<p> 本設(shè)計(jì)中由于所用鍵盤不多,所以采用獨(dú)立連接式的編程掃描方式鍵盤就能夠滿足設(shè)計(jì)要求。鍵盤接口與鍵盤程序的根本任務(wù)就是要檢測(cè)有沒有鍵按下?按下的是那個(gè)位置的鍵?鍵值是多少?在本次設(shè)計(jì)中采用了軟件掃描的方法。通過(guò)對(duì)鍵盤接口P3的查詢判斷是否有鍵按下。</p><p><b> 圖3.4 鍵盤電路</b></p><p> 3.5晶振電路設(shè)
22、計(jì):</p><p> 晶振電路是單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的,其典型值為12MHZ。STC12C5A32AD內(nèi)部有一個(gè)反相振蕩放大器,XTAL1 和 XTAL2分別是該反向振蕩放大器的輸入端和輸出端。該反向放大器可配置為片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩均可采用。本設(shè)計(jì)采用的晶振頻率為12MHZ。其晶振電路如圖3.5所示。此外還可使用外部時(shí)鐘。在使用外部時(shí)鐘
23、時(shí),外部時(shí)鐘必須從XTAL1輸入,而XTAL2懸空。 </p><p><b> 圖3.5晶振電路</b></p><p> 3.6復(fù)位電路的設(shè)計(jì):</p><p&g
24、t; 復(fù)位使單片機(jī)處于起始狀態(tài),并從該起始狀態(tài)開始運(yùn)行。STC12C5A32AD的RST引腳為復(fù)位端,該引腳連續(xù)保持2個(gè)機(jī)器周期(24個(gè)時(shí)鐘振動(dòng)周期)以上高電平,則可使單片機(jī)復(fù)位。復(fù)位后,只影響SFR中的內(nèi)容,內(nèi)部RAM中的數(shù)據(jù)不受影響。外部復(fù)位有上電復(fù)位和按鍵電平復(fù)位。由于單片機(jī)運(yùn)行過(guò)程中,其本身的干擾或外界干擾會(huì)導(dǎo)致出錯(cuò),此時(shí)我們可按復(fù)位鍵重新開始運(yùn)行。為了便于本設(shè)計(jì)運(yùn)行調(diào)試,復(fù)位電路采用按鍵復(fù)位方式。如圖3.6
25、60; </p><p> 圖3.6 復(fù)位電路</p><p> 3.7報(bào)警電路設(shè)計(jì):</p><p> 為了實(shí)現(xiàn)多點(diǎn)溫度檢測(cè)報(bào)警系統(tǒng),本課題采用STC12C
26、5A32AD單片機(jī)作為主控制器,采用掃描的方式對(duì)多點(diǎn)溫度傳感器獲取對(duì)應(yīng)該位置的溫度值,經(jīng)處理后,如溫度不在設(shè)定的范圍內(nèi),給出報(bào)警信號(hào)。系統(tǒng)總體硬件電路圖如下所示:</p><p> 圖3.7 報(bào)警電路</p><p> 3.8 3V穩(wěn)壓電路</p><p> 為了給STC89LE516AD單片機(jī)提供精確的3V基準(zhǔn)電壓,本設(shè)計(jì)采用了LM117三端可調(diào)</
27、p><p> 正穩(wěn)壓集成電路。它的輸出電壓范圍是1.2V至37V,負(fù)載電流最大為1.5A。僅需外接兩個(gè)電阻就可以設(shè)置輸出電壓。此外它的線性調(diào)整率和負(fù)載調(diào)整率都比較好。</p><p> 圖3.8 3V穩(wěn)壓電路</p><p><b> 3.9總電路</b></p><p><b> 見附錄</b&g
28、t;</p><p><b> 四、系統(tǒng)軟件設(shè)計(jì)</b></p><p> 4.1系統(tǒng)主程序流程圖</p><p> 主程序主要實(shí)現(xiàn)系統(tǒng)的初始化,溫度數(shù)據(jù)采集與處理,鍵值處理,顯示數(shù)據(jù),報(bào)警。 </p><p> 系統(tǒng)的初始化包括寄存器的初始化(控制寄存器、堆棧、中斷寄存器等),LED顯示的初始化,輸出端口的初始
29、化,采集、累計(jì)數(shù)據(jù)的初始化。 </p><p> 圖4.1 主程序流程圖</p><p> 4.2測(cè)溫子程序的設(shè)計(jì)</p><p> 數(shù)據(jù)采樣程序功能:溫度檢測(cè)通道,控制存放數(shù)據(jù)的地址和采樣次數(shù)。數(shù)據(jù)檢測(cè)的方式是先對(duì)8個(gè)通道各采樣一次,共采集三次。采樣程序采用中斷方式。</p><p> 在設(shè)置通道初值、通道數(shù)、采樣次數(shù)和存放數(shù)據(jù)的開
30、始地址后,啟動(dòng)A/D轉(zhuǎn)換,隨后檢測(cè)標(biāo)志位狀態(tài)。標(biāo)志位被清零,標(biāo)志著本通道的A/D轉(zhuǎn)換已經(jīng)結(jié)束,在修改通道號(hào)和數(shù)據(jù)存放地址后,對(duì)下一通道繼續(xù)檢測(cè)。當(dāng)8個(gè)通道的檢測(cè)工作完成后,判斷三次采樣是否全部完成,若沒完成,則對(duì)8個(gè)通道繼續(xù)采樣,直至完成三次采樣工作。數(shù)據(jù)采樣程序流程框圖如4.2所示。</p><p> 圖4.2 測(cè)溫子程序</p><p> 4.3報(bào)警子程序設(shè)計(jì)</p>
31、<p><b> 采樣被測(cè)參數(shù)</b></p><p> (2)比較采樣值和給定的上下限。</p><p> (3)根據(jù)比較結(jié)果執(zhí)行相應(yīng)的處理程序。如果發(fā)現(xiàn)采樣值超過(guò)報(bào)警值,發(fā)出執(zhí)行報(bào)警程序。報(bào)警程序流程框圖4.3所示。</p><p> 4.3 報(bào)警子程序流程圖 </p><p> 4.4顯示子
32、程序設(shè)計(jì)</p><p> 四位LED數(shù)碼管進(jìn)行輪流顯示,其中最高位顯示通道提示符A—H,低三位顯示實(shí)際溫度。</p><p> 圖4.4 顯示子程序流程圖</p><p><b> 五、結(jié)論</b></p><p><b> 1、課題總結(jié)</b></p><p>
33、 本課題主要是實(shí)現(xiàn)對(duì)溫度進(jìn)行多點(diǎn)同時(shí)測(cè)量并準(zhǔn)確顯示。整個(gè)系統(tǒng)由單片機(jī)控制,將能夠接受傳感器的數(shù)據(jù)并顯示出來(lái),可以從鍵盤輸入命令,系統(tǒng)根據(jù)命令選擇對(duì)應(yīng)的傳感器,并由驅(qū)動(dòng)電路驅(qū)動(dòng)溫度顯示,對(duì)異常情況進(jìn)行報(bào)警。</p><p><b> 2、心得</b></p><p><b> 六、參考文獻(xiàn)</b></p><p> [
34、1]王為青, 程國(guó)剛. 單片機(jī)Keil Cx51應(yīng)用開發(fā)技術(shù)[M]. 北京: 人民郵電出版社, 2006.223-226.</p><p> [2]方佩敏編著·智能化集成溫度傳感器原理與應(yīng)用[M].北京:電子工業(yè)出版社,2002.35-42.</p><p> [3]張毅剛,彭喜元,彭宇.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,2008.18-20,253-255,21
35、9-220,198-201.</p><p> [4]劉篤人,韓保軍.傳感器及應(yīng)用技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003.112-124.</p><p> [5]童詩(shī)白. 模擬電子技術(shù)基礎(chǔ)[M].北京: 高等教育出版社, 2004. 213-216.</p><p> [6]閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ)[M].第五版.北京:高等教育出版社,2006.5
36、24-535.</p><p> [7]閆玉德,葛龍,俞虹. 單片機(jī)微型計(jì)算機(jī)原理與設(shè)計(jì)[M].北京: 中國(guó)電力出版社,2010.112-154,197-199. </p><p> [8] 郁有文. 傳感器原理及工程應(yīng)用[M]. 西安: 西安電子科技大學(xué)出版社, 2008.215-238.</p><p><b> 七、附錄:</b>&
37、lt;/p><p><b> 1.系統(tǒng)程序: </b></p><p> ;****************************************************************</p><p><b> ;常數(shù)定義</b></p><p> ;************
38、****************************************************</p><p> TMEL EQU 0E0H ;20ms,定時(shí)器0時(shí)間常數(shù)</p><p> TMEH EQU 0B1H</p><p> TMEPHEAD
39、EQU 36H</p><p> ;****************************************************************</p><p><b> ;工作內(nèi)存定義</b></p><p> ;********************************************
40、********************</p><p> BITST DATA 20H</p><p> TIMEISOK BIT BITST.1</p><p> TEMPONEOK BIT BITST.2</p><p> TEMPL
41、 DATA 26H</p><p> TEMPH DATA 27H</p><p> TEMPHC DATA 28H</p><p> TEMPLC DATA 29H</p><p> ;*********
42、*******************************************************</p><p><b> ; 引腳定義</b></p><p> ;****************************************************************</p><p> TEMPD
43、IN BIT P3.7</p><p> ;****************************************************************</p><p><b> ; 中斷向量區(qū)</b></p><p> ;*************************************
44、***************************</p><p> ORG 000H</p><p> LJMP START</p><p> ORG 00BH</p><p> LJMP T0IT</p><p> ;*****
45、***********************************************************</p><p><b> ;系統(tǒng)初始化</b></p><p> ;****************************************************************</p><p> OR
46、G 100H</p><p> START: MOV SP,#60H</p><p> CLSMEM: MOV R0,#20H</p><p> MOV R1,#60H</p><p&g
47、t; CLSMEM1: MOV @R0,#00H</p><p> INC R0</p><p> DJNZ R1,CLSMEM1</p><p> MOV TMOD,#00100001B </p>&l
48、t;p> MOV TH0,#TIMEL</p><p> MOV TL0,#TIMEH</p><p> SJMP INIT</p><p> ERROR: NOP</p><p> LJMP START&
49、lt;/p><p><b> NOP</b></p><p> INIT: NOP</p><p> SETB ET0</p><p> SETB TR0</p><p> SETB EA</p><
50、;p> MOV PSW,#00H</p><p> CLR TEMPONEOK</p><p> LJMP MAIN</p><p> ;****************************************************************</p><p&g
51、t; ; 定時(shí)器0中斷服務(wù)程序</p><p> ;****************************************************************</p><p> T0IT: PUSH PSW</p><p> MOV PSW,#10H</p>&
52、lt;p> MOV TH0,#TIMEH</p><p> MOV TL0,#TIMEL</p><p> INC R7</p><p> CJNE R7,#32H,T0ITI</p><p> MOV R7,#00H</p>&l
53、t;p> SETB TIMEISOK</p><p> TOIT1: POP PSW</p><p><b> RETI</b></p><p> ;*************************************************************
54、***</p><p><b> ; 主程序</b></p><p> ;****************************************************************</p><p> MAIN: LCALL LM35_1</p><p>
55、JNB TIME1SOK,MAIN</p><p> CLR TIME1SOK</p><p> JNB TEMPONEOK,MAIN2</p><p> LCALL READTEMP1</p><p> LCALL CONVTEMP</p&
56、gt;<p> LCALL LM35_1</p><p> MAIN2: LCALL READTEMP</p><p> SETB TEMPONEOK</p><p> LJMP MAIN</p><p> ;************
57、****************************************************</p><p><b> ;子程序區(qū)</b></p><p> ;****************************************************************</p><p> ; RESETL
58、M35</p><p> ;****************************************************************</p><p> INILM35: SETB TEMPDIN</p><p><b> NOP </b></p><p><
59、;b> NOP</b></p><p> CLR TEMPDIN</p><p> MOV R6,#0A0H</p><p> DJNZ R6,$</p><p> MOV R6,#0A0H</p><p> DJNZ
60、 R6,$</p><p> SETB TEMPDIN</p><p> MOV R6,#32H</p><p> DJNZ R6,$</p><p> MOV R6,#3CH</p><p> LOOPLM35:
61、 MOV C,TEMPDIN</p><p> JC INILM35UT</p><p> DJNZ R6,LOOPLM35</p><p> MOV R6,#064H</p><p> DJNZ R6,$</p><p&g
62、t; SJMP INILM35</p><p><b> RET</b></p><p><b> ;</b></p><p> INILM35UT: SETB TEMPDIN</p><p><b> RET</b><
63、/p><p> ; ****************************************************************</p><p> ; 讀LM35的程序,從LM35中讀出一個(gè)字節(jié)的數(shù)據(jù)</p><p> ; *******************************************************
64、*********</p><p> READLM35: MOV R7,#08H</p><p> SETB TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p>
65、READLM35LOOP: CLR TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB TEMPDIN</p>
66、<p> MOV R6,#07H</p><p> DJNZ R6,$</p><p> MOV C,TEMPDIN</p><p> MOV R6,#3CH</p><p> DJNZ R6,$</p><p> RRC
67、 A</p><p> SETB TEMPDIN</p><p> DJNZ R7,READLM35LOOP</p><p> MOV R6,#3CH</p><p> DJNZ R6,$</p><p><b> RET</b></
68、p><p> ; ****************************************************************</p><p> ; 寫LM35的程序,從LM35中寫一個(gè)字節(jié)的數(shù)據(jù)</p><p> ; ************************************************************
69、****</p><p> WRITELM35: MOV R7,#08H</p><p> SETB TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p> WRI
70、TELM35LOP: CLR TEMPDIN</p><p> MOV R6,#07H</p><p> DJNZ R6,$</p><p> RRC A</p><p> MOV TEMPDIN,C</p><p> M
71、OV R6,#34H</p><p> DJNZ R6,$</p><p> SETB TENPDIN</p><p> DJNZ R7,WRITELM35LOP</p><p><b> RET</b></p><p>
72、; ****************************************************************</p><p> ; READ TEMP</p><p> ; ****************************************************************</p><p> RE
73、ADTEMP: LCALL INITELM35</p><p> MOV A,#0CCH</p><p> LCALL WRITELM35</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p&g
74、t; MOV A,#44H</p><p> LCALL WRITELM35</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p><b> RET</b></p><p> READT
75、EMP1: LCALL INILM35</p><p> MOV A,#0CCH</p><p> LCALL WRITELM35</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p&g
76、t; MOV A,#0BEH</p><p> LCALL WRITELM35</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p> MOV R5,#09H</p><p> MOV
77、 R0,#TEMPHEAD</p><p> MOV B,#00H</p><p> READTEMP2: LCALL READLM35</p><p> MOV @R0,A</p><p> INC R0</p><p>
78、 READTEMP21: LCALL CRC8CAL</p><p> DJNZ R5,READTEMP2</p><p> MOV A,B</p><p> JNZ READTEMPOUT</p><p> MOV A,TEMPHEA
79、D+0</p><p> MOV TEMPL,A</p><p> MOV A,TEMPHEAD+1</p><p> MOV TEMPH,A</p><p> READTEMPOUT: RET</p><p> ; **************
80、**************************************************</p><p> ; 處理溫度BCD碼子程序</p><p> ; ****************************************************************</p><p> CONVTEAMP: M
81、OV A,TEMPH</p><p> ANL A,#80H</p><p> JZ TEMPC1</p><p> CLR C</p><p> MOV A,TEMPL</p><p> CPL
82、 A</p><p> ADD A,#01H</p><p> MOV TEMPL,A</p><p> MOV A,TEMPH</p><p> CPL A</p><p> ADDC A,
83、#00H</p><p> MOV TEMPH,A</p><p> MOV TEMPHC,#0BH</p><p> SJMP TEMPCH</p><p> TEMPC1: MOV TEMPHC,#0AH</p>
84、<p> TEMPC11: MOV A,TEMPHC</p><p> SWAP A</p><p> MOV TEMPHC,A</p><p> MOV A,TEMPL</p><p> ANL
85、 A,#0FH</p><p> MOV DPTR,#TEMPDOTTAB</p><p> MOVC A,@A+DPTR</p><p> MOV TEMPLC,A</p><p> MOV A,TEMPL</p>&
86、lt;p> ANL A,#0F0H</p><p> SWAP A</p><p> MOV TEMPL,A</p><p> MOV A,TEMPH</p><p> ANL A,#0FH<
87、/p><p> SWAP A</p><p> ORL A,TEMPL</p><p> LCALL HEX2BCD1</p><p> MOV TEMPL,A</p><p> ANL
88、 A,#0F0H</p><p> SWAP A</p><p> ORL A,TEMPHC</p><p> MOV TEMPHC,A</p><p> MOV A,TEMPL</p><p>
89、 ANL A,#0FH</p><p> SWAP A</p><p> ORL A,TEMPLC</p><p> MOV TEMPLC,A</p><p> MOV A,R7</p>&l
90、t;p> JZ TEMPC12</p><p> ANL A,#0FH</p><p> SWAP A</p><p> MOV R7,A</p><p> MOV A,TEMPHC</p>
91、;<p> ANL A,#0FH</p><p> ORL A,R7</p><p> MOV TEMPHC,A</p><p> TEMPC12: RET</p><p> ; **********************
92、******************************************</p><p> ; 小數(shù)部分碼表</p><p> ; ****************************************************************</p><p> TEMPDOTTAB: DB 00H, 01H,
93、01H, 02H, 03H, 03H, 04H,04H,05H,06H</p><p> DB 06H,07H,08H,09H,09H</p><p> ; ****************************************************************</p><p> ; 顯示區(qū)BCD碼溫度值刷新子程序</p
94、><p> ; ****************************************************************</p><p> LMBCD: MOV A,TEMPLC</p><p> ANL A,#0FH</p><p> MOV
95、 70H,A</p><p> MOV A,TEMPLC</p><p> SWAP A</p><p> ANL A,#0FH</p><p> MOV 71H,A</p><p> MOV A,TEMPHC&l
96、t;/p><p> ANL A,#0FH</p><p> MOV 72H,A</p><p> MOV A,TEMPHC</p><p> SWAP A</p><p> ANL A,#0FH</p>&
97、lt;p> MOV 73H,A</p><p> MOV A,TEMPHC</p><p> ANL A,#0F0H</p><p> CJNZ A,#010H,DISPBCD0</p><p> SJMP DISPBCD2&l
98、t;/p><p> LMBCD0: MOV A,TEMPHC</p><p> ANL A,#0FH</p><p> JNZ DISPBCD2</p><p> MOV A,TEMPHC</p><p>
99、SWAP A</p><p> ANL A,#0FH</p><p> MOV 73H,#0AH</p><p> MOV 72H,A</p><p> LMBCD2: RET</p><p> ; *****
100、**********************************************************</p><p> ; 顯示子程序</p><p> ; ****************************************************************</p><p> ; 顯示數(shù)據(jù)在70H—7
101、3H單元內(nèi),用4位LED共陽(yáng)數(shù)碼管顯示,P1口輸出段碼數(shù)據(jù),;P3口作掃描控制,每個(gè)LED數(shù)碼管亮1ms時(shí)間再逐位循環(huán)。</p><p> LM1: MOV R1,#70H</p><p> MOV R5,#0FEH</p><p> PLAY: MOV
102、 P1,#0FFH</p><p> MOV P3,A</p><p> MOV A,@R1</p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV
103、 P1,A</p><p> MOV A,R5</p><p> JB ACC.1,LOOP5</p><p> CLR P1.7</p><p> LOOP5: LCALL DLIMS</p>
104、<p> INC R1</p><p> MOV A,R5</p><p> JNB ACC.3,ENDOUT</p><p> RL A</p><p> MOV R5,A</p>
105、<p> AJMP PLAY</p><p> ENDOUT: MOV P1,#0FEH</p><p> MOV P3,#0FEH</p><p><b> RET</b></p><p> TAB:
106、 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH</p><p> ;共陽(yáng)段碼表 “0” “1” “2” “3” “4” “5” “6” “7” “8” “9” “不亮” “—” </p><p> DL1MS: MOV R6,#14H</p><
107、;p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p>&
108、lt;p> ; ****************************************************************</p><p> ; 單字節(jié)十六進(jìn)制轉(zhuǎn)BCD</p><p> ; ****************************************************************</p><p&g
109、t; HEX2BCD1: MOV B,#064H</p><p> DIV AB</p><p> MOV R7,A</p><p> MOV A,#0AH</p><p> XCH A,B</p><p> DIV
110、 AB</p><p> SWAP A</p><p> ORL A,B</p><p><b> RET</b></p><p> ; ****************************************************************</
111、p><p> ; Calculate CRC—8 Values. </p><p> ; ****************************************************************</p><p> CRC8CAL: PUSH ACC</p><p>
112、 MOV R7,#08H</p><p> CRC8LOOP1: XRL A,B</p><p> RRC A</p><p> MOV A,B</p><p> JNC CRC8LOOP2</p>
113、<p> XRL A,#18H</p><p> CRC8LOOP2: RRC A</p><p> MOV B,A</p><p> POP ACC</p><p> RR A</p>
114、<p> PUSH ACC</p><p> DJNZ R7,CRC8LOOP1</p><p> POP ACC</p><p><b> RET</b></p><p><b> END </b></p&
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的多路數(shù)字溫度測(cè)量系統(tǒng)2
- 基于單片機(jī)的多路數(shù)字溫度測(cè)量系統(tǒng)2
- 單片機(jī)課程設(shè)計(jì)報(bào)告單片機(jī)的多路溫度測(cè)量系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于單片機(jī)溫度測(cè)量系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的多路溫度采集系統(tǒng)課程設(shè)計(jì)
- 數(shù)字多路語(yǔ)言通信系統(tǒng)課程設(shè)計(jì)(基于單片機(jī))
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度控制系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)數(shù)字顯示溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 單片機(jī)數(shù)字溫度計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)
- 單片機(jī)測(cè)量溫度儀器設(shè)計(jì)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論