基于單片機(jī)的智能溫度計(jì)的畢業(yè)設(shè)計(jì)論文.doc

上傳人:good****022 文檔編號(hào):116526502 上傳時(shí)間:2022-07-05 格式:DOC 頁(yè)數(shù):45 大?。?.37MB
收藏 版權(quán)申訴 舉報(bào) 下載
基于單片機(jī)的智能溫度計(jì)的畢業(yè)設(shè)計(jì)論文.doc_第1頁(yè)
第1頁(yè) / 共45頁(yè)
基于單片機(jī)的智能溫度計(jì)的畢業(yè)設(shè)計(jì)論文.doc_第2頁(yè)
第2頁(yè) / 共45頁(yè)
基于單片機(jī)的智能溫度計(jì)的畢業(yè)設(shè)計(jì)論文.doc_第3頁(yè)
第3頁(yè) / 共45頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《基于單片機(jī)的智能溫度計(jì)的畢業(yè)設(shè)計(jì)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的智能溫度計(jì)的畢業(yè)設(shè)計(jì)論文.doc(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、智能儀器設(shè)計(jì)課程設(shè)計(jì)報(bào)告 智能溫度計(jì)的設(shè)計(jì)目 錄引言 31 設(shè)計(jì)任務(wù)書 32 方案總體設(shè)計(jì)與論證 33 硬件電路設(shè)計(jì) 43.1 傳感器調(diào)理電路模塊設(shè)計(jì)43.2 A/D轉(zhuǎn)換模塊設(shè)計(jì)53.3 顯示模塊設(shè)計(jì)73.4 鍵盤模塊設(shè)計(jì)83.5 狀態(tài)指示與接口模塊設(shè)計(jì)83.6 硬件電路總體設(shè)計(jì)94 軟件設(shè)計(jì) 104.1 主程序設(shè)計(jì)114.2 定時(shí)中斷服務(wù)程序設(shè)計(jì)144.3 外部中斷0服務(wù)程序設(shè)計(jì)164.4 溫度測(cè)量子程序設(shè)計(jì)184.5 溫度測(cè)量轉(zhuǎn)換子程序設(shè)計(jì)214.6 顯示子程序設(shè)計(jì)254.7 設(shè)置鍵處理子程序設(shè)計(jì)275 參考文獻(xiàn) 29程序清單 30引 言溫度是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)

2、域最常遇到的一個(gè)物理量。測(cè)量溫度的基本方法是使用溫度計(jì)直接讀取溫度。最常見(jiàn)到的測(cè)量溫度的工具是各種各樣的溫度計(jì),例如,水銀玻璃溫度計(jì),酒精溫度計(jì),熱電偶或熱電阻溫度計(jì)等。它們常常以刻度的形式表示溫度的高低,人們必須通過(guò)讀取刻度值的多少來(lái)測(cè)量溫度。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)就可以直接測(cè)量溫度,得到溫度的數(shù)字值,既簡(jiǎn)單方便,又直觀準(zhǔn)確。1 設(shè)計(jì)任務(wù)書設(shè)計(jì)一個(gè)智能溫度計(jì),并使其具有如下特點(diǎn): 1、一路水溫檢測(cè), 誤差:0.5;2、溫度3位數(shù)碼顯示(XX.Xmm);3、工作狀態(tài)指示;4、開機(jī)自檢;5、配簡(jiǎn)單鍵盤;6、配微型打印機(jī)接口;7、配置通信接口。2 方案總體設(shè)計(jì)與論證圖21是智

3、能溫度計(jì)的基本組成方框。主要由溫度傳感器(溫敏二極管),信號(hào)調(diào)理電路,A/D轉(zhuǎn)換器(A/D574),單片機(jī)(80C51),8279鍵盤輸入,LED顯示器以及74164,發(fā)光二極管(指示工作狀態(tài))等組成。溫度傳感器熱敏二極管是把溫度轉(zhuǎn)換成電壓的器件,溫度傳感器輸出電壓的大小隨溫度的高低變化而變化,熱敏二極管在0100溫度變化范圍內(nèi),電壓值的變化范圍從1個(gè)毫伏到200個(gè)毫伏。信號(hào)調(diào)理電路的主要功能是把微弱的溫度電壓信號(hào)放大到(02.44)伏的范圍內(nèi),以適應(yīng)AD574單極性輸入的要求。A/D轉(zhuǎn)換器把放大后的模擬電壓信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字信號(hào)。單片機(jī)8051是智能溫度計(jì)的核心部分,一方面控制A/D轉(zhuǎn)換器

4、實(shí)現(xiàn)模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,另一方面將采集到溫度的數(shù)字信號(hào),經(jīng)過(guò)計(jì)算處理,得到相應(yīng)的溫度值的BCD碼,送到74164,由它驅(qū)動(dòng)LED數(shù)碼管顯示器以數(shù)字形式顯示測(cè)量的溫度。通過(guò)鍵盤輸入要報(bào)警的溫度上限值,由單片機(jī)檢測(cè)哪一位設(shè)定的鍵盤被按下,單片機(jī)可以直接將該位寄存器中的內(nèi)容自動(dòng)加一,即可實(shí)現(xiàn)相應(yīng)值的設(shè)定。通過(guò)緩沖器可以預(yù)留出微型打印機(jī)的接口和單片機(jī)與其他設(shè)備的通信接口,由相關(guān)的鍵盤控制打印機(jī)與單片機(jī)是否連接,并且由相應(yīng)的鍵盤控制單片機(jī)否是把數(shù)據(jù)送74164進(jìn)行顯示還是把數(shù)據(jù)發(fā)送至數(shù)據(jù)端口,與其他設(shè)備進(jìn)行通信。圖21 系統(tǒng)框圖由上圖可知系統(tǒng)硬件基本上由傳感器信號(hào)調(diào)理模塊,A/D模塊,鍵盤模塊,顯

5、示模塊,工作狀態(tài)指示模塊,以及接口模塊組成。而軟件設(shè)計(jì)是緊緊圍繞系統(tǒng)的硬件結(jié)構(gòu)展開的,軟件主要是配合控制硬件完成預(yù)期的設(shè)計(jì)要求,軟件的基本模塊也是針對(duì)上述硬件結(jié)構(gòu)進(jìn)行相應(yīng)操作的。下面具體闡述系統(tǒng)各功能模塊的設(shè)計(jì)。3 硬件電路設(shè)計(jì)3.1 傳感器調(diào)理電路模塊測(cè)溫傳感器選用熱敏二極管傳感器。這種傳感器是利用半導(dǎo)體的溫度特性來(lái)實(shí)現(xiàn)對(duì)溫度的檢測(cè)功能。硅二極管的結(jié)電壓在溫度每升高1時(shí),電壓下降2mV,它屬于PN結(jié)型溫度傳感器,它在0100溫度范圍內(nèi)表現(xiàn)出良好的線性,尺寸小,熱時(shí)間常數(shù)為0.22s,靈敏度高,測(cè)溫范圍是-50150。信號(hào)調(diào)理電路中包括電橋和放大部分。將測(cè)溫二極管放入電橋的一個(gè)橋臂,可直接輸出

6、傳感器相對(duì)0時(shí)的電壓輸出,再將橋路輸出送給AD620的差分輸入端,進(jìn)行50倍的放大,在經(jīng)過(guò)OP07組成的100倍的反相放大電路,使得傳感器感受0100的溫度時(shí),信號(hào)調(diào)理電路對(duì)應(yīng)輸出02.44V的電壓值,這個(gè)電壓值正好是AD574的010V單端輸入電壓的范圍。圖31 傳感器調(diào)理電路模塊圖圖31是傳感器調(diào)理電路圖。該電路的分分辨率為0.1,在0100范圍內(nèi)精度可達(dá)到0.5。該電路的調(diào)節(jié),先將傳感器放入冰水混合物中,調(diào)節(jié)W1是調(diào)理電路的輸出為0;再將傳感器放入沸水中,調(diào)節(jié)W2使調(diào)理電路的輸出為2.44V。2.44V正好對(duì)應(yīng)AD574輸出為999的輸入電壓(單極性10V輸入),這樣實(shí)現(xiàn)了AD574的輸

7、出,正好為外界溫度的情況。這樣就實(shí)現(xiàn)了這樣就實(shí)現(xiàn)了對(duì)溫度的有效測(cè)量信號(hào)的拾獲和放大。3.2 A/D轉(zhuǎn)換模塊設(shè)計(jì)AD574是12 位逐次逼近型的 A/D 轉(zhuǎn)換芯片。轉(zhuǎn)換時(shí)間為 25 35s。片內(nèi)有數(shù)據(jù)輸出寄存器,并有三態(tài)輸出的控制邏輯。其運(yùn)行方式靈活,可進(jìn)行 12 位轉(zhuǎn)換,也可作 8 位轉(zhuǎn)換;轉(zhuǎn)換結(jié)果可直接 12 位輸出,也可先輸出高 8 位,后輸出低 4 位??芍苯优c 8 位或 16 位的 CPU 接口。輸入可設(shè)置為單極性,也可設(shè)成雙極性。片內(nèi)有時(shí)鐘電路,無(wú)需外部時(shí)鐘。圖32 A/D轉(zhuǎn)換模塊圖圖32是AD574與單片機(jī)接口電路以,它分兩次將單極性電壓的12位轉(zhuǎn)換結(jié)果送給單片機(jī)。具體先由單片機(jī)發(fā)

8、出控制信號(hào),使A/D轉(zhuǎn)換器啟動(dòng)轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束,單片機(jī)再分兩次將轉(zhuǎn)換數(shù)據(jù)讀到內(nèi)存中。按上圖接法AD574是單極性輸入,接成0+10V的接法,按上圖向FF7C寫數(shù)據(jù),就啟動(dòng)AD574轉(zhuǎn)換器開始轉(zhuǎn)換,檢測(cè)P1.0口即可查看AD574是否轉(zhuǎn)換結(jié)束,從FF7D端口即可讀出轉(zhuǎn)換結(jié)果的高八位,從FF7F端口中即可讀出轉(zhuǎn)換結(jié)果的低四位。3.3 顯示模塊設(shè)計(jì)利用串口和74164驅(qū)動(dòng)LED顯示器工作,采用靜態(tài)顯示方式。這種方式可避免采用并行I/O接口占用資源較多的缺點(diǎn)。采用共陽(yáng)極數(shù)碼管,因而各位的COM接口接+5V電源,若要顯示某字段,則相應(yīng)的移位寄存器74164輸出必須為低電平,由于74164在低電平輸出時(shí)

9、,允許通過(guò)的電流為8mA左右,故不用再加驅(qū)動(dòng)電路了,只需向串口發(fā)送要顯示三位數(shù)的顯示控制代碼(段碼),即可在LED顯示器上顯示出所要的字符,只需將各位的小數(shù)點(diǎn)控制位接低電平,使其顯示,其他位的小數(shù)點(diǎn)控制位均接高電平即可,注意加限流電阻。圖33 顯示模塊原理圖3.4 鍵盤模塊設(shè)計(jì)因?yàn)楸驹O(shè)計(jì)中需要的按鍵不多,故設(shè)計(jì)采用獨(dú)立式按鍵,分別占用P1.4,P1.5,P1.6和P1.7口。它們分別實(shí)現(xiàn)選擇是正常運(yùn)行還是設(shè)置模式的功能鍵,溫度上限十位的設(shè)置鍵,溫度上限個(gè)位的設(shè)置鍵以及溫度上限的十分位的設(shè)置鍵。鍵盤的防抖動(dòng)可有軟件來(lái)實(shí)現(xiàn),每個(gè)引腳上都引入上拉電阻。圖34 鍵盤模塊原理圖3.5 狀態(tài)指示與接口模塊

10、設(shè)計(jì)當(dāng)測(cè)量溫度達(dá)到了上限溫度時(shí),P2.0口輸出高電平,驅(qū)動(dòng)報(bào)警二極管發(fā)光,指示溫度已經(jīng)超過(guò)上限值,當(dāng)溫度下降到設(shè)定值以下是,P2.0變成低電平,報(bào)警解除。當(dāng)按下打印摁鍵時(shí),單片機(jī)響應(yīng)外部中斷0,進(jìn)而要打印的數(shù)碼發(fā)送至打印機(jī)的數(shù)據(jù)口,進(jìn)行打印。打印時(shí),需要先將要打印的字符轉(zhuǎn)換為其ASCII碼,將此ASCII送入打印機(jī)數(shù)據(jù)口進(jìn)行打印。需要注意要將小數(shù)點(diǎn)也打印出來(lái),打印完十位和個(gè)位再將小數(shù)點(diǎn)打印出來(lái),再把十分位進(jìn)行打印。而擴(kuò)展接口采用簡(jiǎn)單的三線式接口,一線為接收數(shù)據(jù),一線為發(fā)送數(shù)據(jù),還有一線為查詢狀態(tài)。由P2.6控制其導(dǎo)通,還是高阻的狀態(tài)。圖35 打印接口原理圖圖36 擴(kuò)展口及工作狀態(tài)原理圖3.6

11、硬件電路總體設(shè)計(jì)將上述功能模塊合理有序連接即構(gòu)成整體圖,電路圖參見(jiàn)圖37。圖37 硬件電路總體設(shè)計(jì)原理圖4 軟件設(shè)計(jì)4.1 主程序設(shè)計(jì)4.1.1 主程序流程圖圖41 主程序流程圖4.1.2 主程序匯編語(yǔ)言設(shè)計(jì)Org 0000H ;主程序入口地址KS: LJMP START ORG 0003H ;外部中斷0服務(wù)程序入口地址LJMP INT_0 ORG 000BH ;定時(shí)器0中斷服務(wù)程序入口地址LJMP INT_T0 ORG 100H TAB1: ;字符段碼表格DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,88H DB 83H, 0C6H,

12、0A1H, 86H, 0FFH START: MOV SP,#60H CLR EAMOV R0,#3EH ;運(yùn)行/設(shè)置狀態(tài)寄存器清零MOV R0,#0H DEC R0 MOV R0,#0H DEC R0 MOV R0,#0H MOV R0,#20H ;20H-22H放初始溫度設(shè)置上限值50.0MOV R,#05H INC R0 MOV R0,#0H INC R0 MOV R0,#00H SETB P1.4 ;設(shè)置P1.4P1.7為輸入端口SETB P1.5 SETB P1.6 SETB P1.7 MOV R2,#03H ;在LED上顯示888DL0: MOV A,#80H ;把字符“8”的段碼

13、送給累加器AMOV SBUF,A ;累加器A循環(huán)三次把段碼發(fā)送到串口,顯示DL1: JNB TI,DL1 CLR TI DJNZ R2 ,DLO LCALL DELAY ;延時(shí)MOV R2,#03H ;關(guān)斷所有LEDDL0: MOV A,#80H ;把關(guān)斷的段碼送給累加器AMOV SBUF,A ;累加器A循環(huán)三次把段碼發(fā)送到串口,關(guān)斷LEDDL1: JNB TI,DL1 CLR TI DJNZ R2 ,DLO ;以上完成了自檢MOV THOD,#21H ;設(shè)置定時(shí)器工作方式MOV TL0,#77H ;設(shè)置定時(shí)器初值MOV THO,#OECH SETB TRO ;開定時(shí)器中斷SETB ETO S

14、ETB IT ;開外部中斷0SETB EX0 SETB EA ;開總中斷STA0: LJMP STA0 ;等待中斷4.2 定時(shí)中斷服務(wù)程序設(shè)計(jì)4.2.1 定時(shí)中斷服務(wù)程序流程圖圖42 定時(shí)中斷服務(wù)程序流程圖4.2.2 定時(shí)中斷服務(wù)匯編語(yǔ)言程序設(shè)計(jì)INT_T0: CLR EA ;關(guān)中斷 CLR TR0 MOV TL0, #77H ;重置定時(shí)器初值MOV TH0, #0E0H MOV R0, #3DH CJNE R0, 55H, INT_T01 LCALL DISP2 MOV R6, #20H LCALL DELAY LCALL STA3 LJMP INT_T04INT_T01: MOV R0,

15、#3EH LCALL DISP1 MOV R6, #40H LCALL DELAY LJMP INT_T03INT_T02 : LCALL DISP0 MOV R6, #20H LCALL DELAY CJNE R2, #3CH, INT_T04 MOV R0, #3CH MOV R0, #55H INT_T03 : LCALL STA2 INT_T04 : SETB TR0 SETB ET0 SETB EA RETI4.3 外部中斷0服務(wù)程序設(shè)計(jì)4.3.1 外部中斷0程序流程圖圖43 外部中斷0服務(wù)程序流程圖4.3.2 外部中斷0匯編語(yǔ)言程序設(shè)計(jì)INT_0: CLR EX0 MOV DPTR

16、 ,#7FFFH LOOP:MOVX A, DPTR JB ACC.7, LOOP MOV R1,#60H MOV A, R1 ADD A, #30H MOVX DPTR, A INC R1 MOV A, R1 ADD A, #30H MOVX DPTR, A INC R1 MOV A, #27H MOVX DPTR, A MOV A, R1 ADD A, #30H MOVX DPTR, A SETB EX0 RETI4.4 溫度測(cè)量子程序設(shè)計(jì)4.4.1 溫度測(cè)量子程序流程圖圖44 溫度測(cè)量子程序流程圖4.4.2 溫度測(cè)量子程序匯編語(yǔ)言設(shè)計(jì)CL0: MOV R0, #40H CLR A CLR

17、 C MOV R0, AINC R0 MOV R0, AMOV R0, #40H CLR P3.7 CLR P3.6 MOV DPTR, #FF7CH MOV A, #0H MOVX DPTR,A HD: JB P1.0, HD MOV DPTR, #0FF7DH MOVX A, DPTR MOV R7, A MOV DPTR, #0FF7FH MOVX A, DPTR ANL A, #0F0H MOV R6, A SWAP A MOV R6, A MOV A, R7 SWAP A MOV R7, A ANL A, #F0H ANL A, R6 ;低八位 MOV R6, A MOV A, R7

18、 ANL A, #0FH ;高八位(最高四位為0) MOV R7, AMOV A, R6MOV R0,40HMOV A, R6MOV R0, AINC R0 MOV A, R7MOV R0, ACLR C LCALL BIJIAOCL3: JB F1 CL4 CLR P2.0 AJMP CL2 CL4: SETB P2.0 AJMP CL2CL2: RET BIJIAO:CLR C CLR F1 MOV A,5BH SUBB A,41H JC BIG1 CLR C MOV A,5AH SUBB A,40H JC BIG1 CLR F1 RETBIG1: SET F1 RET4.5 溫度測(cè)量轉(zhuǎn)換

19、子程序設(shè)計(jì)4.5.1 溫度測(cè)量轉(zhuǎn)換子程序流程圖圖45 溫度測(cè)量轉(zhuǎn)換子程序流程圖4.5.2 溫度測(cè)量轉(zhuǎn)換子程序匯編語(yǔ)言設(shè)計(jì)STA2 : LCALL COMP LCALL CL0 LCPJJL ZH0COMP : MOV R0,#20H MOV A ,R0 MOV B ,#64H MUL AB MOV RO,#5AH MOV R0,A INC R0 MOV R0,B MOV A,21H MOV B,#0AH MUL AB CLR C ADD A,5AH MOV 5AH,A MOV A, #0H ADDC A,5BH MOV 5BH,A CLR C MOV A,22H ADD A,5AH MOV 5

20、AH,A MOV A, #0H ADDC A,5BH MOV 5BH,AZH0: CLR A MOV R7,40H MOV R6,41HMOV R3,A MOV R4,A MOV R5,A MOV R2,#10H HB3: MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV A,R5ANL A,#0FHMOV 6AH,AMOV A,R

21、5ANL A,#F0HSWAP AMOV 6BH,AMOV A,R4ANL A,#0FHMOV 6CH,ARET4.6 顯示子程序設(shè)計(jì)4.6.1 顯示子程序流程圖圖46 顯示子程序流程圖4.6.2 顯示子程序匯編語(yǔ)言設(shè)計(jì)DISP1:SETB RS0 PUSH ACC PUSH DPH PUSH DPL MOV R2,#03H MOV R0,#6AH;(若顯示設(shè)置值則上一條語(yǔ)句改為MOV R0,#22H)DL0: MOV A, R0 MOV DPTR, #TAB1 MOVC A, A +DPTR MOV SBUF,A DL1: JNB TI,DLI CLR TI INC RO ;(若顯示設(shè)置值則

22、此處改為DEC R0) DJNZ R2 ,DLO CLR RS0 POP DPL POP DPH POP ACC RET4.7 設(shè)置鍵處理程序設(shè)計(jì)4.7.1 設(shè)置鍵處理子程序流程圖圖47 設(shè)置鍵處理子程序流程圖4.7.2 設(shè)置鍵處理子程序流程圖CHENG:JB P1.7,CHE1 LCALL DELAY2 JB P1.7,CHE1 MOV RO,#22H CJNE R0,#09H,CHE4MOV R0,#0HAJMP CHE5 CHE1: JB P1.6,CH2 LCALL DELAY2 JB P1.6,CHE2 MOV R0,#21H CJNE R0,#09,CHE4MOV RO,#OH A

23、JMP CHE5CHE2: JB P1.5,CHE5 LCALL DELAY2 JB P1.5,CHE5 MOV R0,#20H CJNE R0,#09H, CHE4 MOV R0,#0H AJMP CHE5CHE4 : INC RO AJMP CHE5 CHE5: MOV R0,#3DH MOV R0,#55H MOV R0,#3EH MOV R0,#0H RET 5 參考文獻(xiàn) 石曉晶 智能儀器設(shè)計(jì)講義,南京: 南京理工大學(xué)機(jī)械學(xué)院, 2009 石曉晶 智能儀器設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書,南京: 南京理工大學(xué)機(jī)械學(xué)院, 2009 張迎新 單片機(jī)初級(jí)教程,北京: 北京航空航天大學(xué)出版社, 2006 周杏鵬

24、 仇國(guó)富 現(xiàn)代檢測(cè)技術(shù),北京: 高等教育出版社, 2003 朱蘊(yùn)璞 孔德仁 傳感器原理及應(yīng)用,北京: 國(guó)防工業(yè)出版社, 2005 周 嚴(yán) 測(cè)控系統(tǒng)電子技術(shù),北京: 科學(xué)出版社, 2007 趙新民 智能儀器設(shè)計(jì)基礎(chǔ),哈爾濱: 哈爾濱工業(yè)大學(xué)出版社, 2009 張國(guó)雄 測(cè)控電路,北京: 機(jī)械工業(yè)出版社, 2008 寇 戈 蔣立平 模擬電路與數(shù)字電路,北京: 電子工業(yè)出版社, 2006程序清單:Org 0000H ;主程序入口地址KS: LJMP START ORG 0003H ;外部中斷0服務(wù)程序入口地址LJMP INT_0 ORG 000BH ;定時(shí)器0中斷服務(wù)程序入口地址LJMP INT_T0

25、 ORG 100H TAB1: ;字符段碼表格DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,88H DB 83H, 0C6H, 0A1H, 86H, 0FFH START: MOV SP,#60H CLR EAMOV R0,#3EH ;運(yùn)行/設(shè)置狀態(tài)寄存器清零MOV R0,#0H DEC R0 MOV R0,#0H DEC R0 MOV R0,#0H MOV R0,#20H ;20H-22H放初始溫度設(shè)置上限值50.0MOV R,#05H INC R0 MOV R0,#0H INC R0 MOV R0,#00H SETB P1.4 ;設(shè)置

26、P1.4P1.7為輸入端口SETB P1.5 SETB P1.6 SETB P1.7 MOV R2,#03H ;在LED上顯示888DL0: MOV A,#80H ;把字符“8”的段碼送給累加器AMOV SBUF,A ;累加器A循環(huán)三次把段碼發(fā)送到串口,顯示DL1: JNB TI,DL1 CLR TI DJNZ R2 ,DLO LCALL DELAY ;延時(shí)MOV R2,#03H ;關(guān)斷所有LEDDL0: MOV A,#80H ;把關(guān)斷的段碼送給累加器AMOV SBUF,A ;累加器A循環(huán)三次把段碼發(fā)送到串口,關(guān)斷LEDDL1: JNB TI,DL1 CLR TI DJNZ R2 ,DLO ;

27、以上完成了自檢MOV THOD,#21H ;設(shè)置定時(shí)器工作方式MOV TL0,#77H ;設(shè)置定時(shí)器初值MOV THO,#OECH SETB TRO ;開定時(shí)器中斷SETB ETO SETB IT ;開外部中斷0SETB EX0 SETB EA ;開總中斷STA0: LJMP STA0 ;等待中斷;*STA2 : LCALL COMP LCALL CL0 LCALL ZH0 STA3: LCALL SET0 JNB F0,STA4 LCALL CHENG STA4 : RET;*CHENG:JB P1.7,CHE1 LCALL DELAY2 JB P1.7,CHE1 MOV RO,#22H C

28、JNE R0,#09H,CHE4MOV R0,#0HAJMP CHE5 CHE1: JB P1.6,CH2 LCALL DELAY2 JB P1.6,CHE2 MOV R0,#21H CJNE R0,#09,CHE4MOV RO,#OH AJMP CHE5CHE2: JB P1.5,CHE5 LCALL DELAY2 JB P1.5,CHE5 MOV R0,#20H CJNE R0,#09H, CHE4 MOV R0,#0H AJMP CHE5CHE4 : INC RO AJMP CHE5 CHE5: MOV R0,#3DH MOV R0,#55H MOV R0,#3EH MOV R0,#0H

29、 RET ;*SET0 : JNB P1.4, SET1 LCALL DELAY0 JNB P1.4,SET1 SETB F0 RET SET1: CLR F0 MOV R0,#3DH MOV R0,#0H MOV R0,#3EH MOV R0,#55H RET;*INT_T0: CLR EA ;關(guān)中斷 CLR TR0 MOV TL0, #77H ;重置定時(shí)器初值MOV TH0, #0E0H MOV R0, #3DH CJNE R0, 55H, INT_T01 LCALL DISP2 MOV R6, #20H LCALL DELAY LCALL STA3 LJMP INT_T04INT_T01

30、: MOV R0, #3EH LCALL DISP1 MOV R6, #40H LCALL DELAY LJMP INT_T03INT_T02 : LCALL DISP0 MOV R6, #20H LCALL DELAY CJNE R2, #3CH, INT_T04 MOV R0, #3CH MOV R0, #55H INT_T03 : LCALL STA2 INT_T04 : SETB TR0 SETB ET0 SETB EA RETI;*CL0: MOV R0, #40H CLR A CLR C MOV R0, AINC R0 MOV R0, AMOV R0, #40H CLR P3.7

31、CLR P3.6 MOV DPTR, #FF7CH MOV A, #0H MOVX DPTR,A HD: JB P1.0, HD MOV DPTR, #0FF7DH MOVX A, DPTR MOV R7, A MOV DPTR, #0FF7FH MOVX A, DPTR ANL A, #0F0H MOV R6, A SWAP A MOV R6, A MOV A, R7 SWAP A MOV R7, A ANL A, #F0H ANL A, R6 ;低八位 MOV R6, A MOV A, R7 ANL A, #0FH ;高八位(最高四位為0) MOV R7, AMOV A, R6MOV R0

32、,40HMOV A, R6MOV R0, AINC R0 MOV A, R7MOV R0, ACLR C LCALL BIJIAOCL3: JB F1 CL4 CLR P2.0 AJMP CL2 CL4: SETB P2.0 AJMP CL2CL2: RET BIJIAO:CLR C CLR F1 MOV A,5BH SUBB A,41H JC BIG1 CLR C MOV A,5AH SUBB A,40H JC BIG1 CLR F1 RETBIG1: SET F1 RET;*COMP : MOV R0,#20H MOV A ,R0 MOV B ,#64H MUL AB MOV RO,#5A

33、H MOV R0,A INC R0 MOV R0,B MOV A,21H MOV B,#0AH MUL AB CLR C ADD A,5AH MOV 5AH,A MOV A, #0H ADDC A,5BH MOV 5BH,A CLR C MOV A,22H ADD A,5AH MOV 5AH,A MOV A, #0H ADDC A,5BH MOV 5BH,AZH0: CLR A MOV R7,40H MOV R6,41HMOV R3,A MOV R4,A MOV R5,A MOV R2,#10H HB3: MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R

34、6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV A,R5ANL A,#0FHMOV 6AH,AMOV A,R5ANL A,#F0HSWAP AMOV 6BH,AMOV A,R4ANL A,#0FHMOV 6CH,ARET;*DISP1:SETB RS0 PUSH ACC PUSH DPH PUSH DPL MOV R2,#03H MOV R0,#6AH;(若顯示設(shè)置值則上一條語(yǔ)句改為MOV R0,#22H)DL0:

35、MOV A, R0 MOV DPTR, #TAB1 MOVC A, A +DPTR MOV SBUF,A DL1: JNB TI,DLI CLR TI INC RO ;(若顯示設(shè)置值則此處改為DEC R0) DJNZ R2 ,DLO CLR RS0 POP DPL POP DPH POP ACC RET;*INT_0: CLR EX0 MOV DPTR ,#7FFFH LOOP:MOVX A, DPTR JB ACC.7, LOOP MOV R1,#60H MOV A, R1 ADD A, #30H MOVX DPTR, A INC R1 MOV A, R1 ADD A, #30H MOVX

36、DPTR, A INC R1 MOV A, #27H MOVX DPTR, A MOV A, R1 ADD A, #30H MOVX DPTR, A SETB EX0 RETI;*DISP2:SETB RS0 PUSH ACC PUSH DPH PUSH DPL MOV R2,#03H MOV R0,#22H;DL0: MOV A, R0 MOV DPTR, #TAB1 MOVC A, A +DPTR MOV SBUF,A DL1: JNB TI,DLI CLR TI DEC RO DJNZ R2 ,DLO CLR RS0 POP DPL POP DPH POP ACC RET;*DELAY0 : MOV R7,#80H DJNZ R7, $ RET DELAY2:MOV R6,#5 0H DELAY20:LCALL DELAY0 DJNZ R6,DELAY20 RET DELAY: PUSH 06H DELAY6 : PUSH 06H DELAY5 : PUSH 06H DELAY4: DJNZ R6,DELAY4 POP 06H DJNZ R6,DELAY5 P0P 06H DJNZ R6,DELAY6 POP 06H DJNZ R6 , DELAY RETEND45

展開閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!