基于單片機(jī)的智能溫度計的畢業(yè)設(shè)計論文.doc
《基于單片機(jī)的智能溫度計的畢業(yè)設(shè)計論文.doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的智能溫度計的畢業(yè)設(shè)計論文.doc(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、智能儀器設(shè)計課程設(shè)計報告 智能溫度計的設(shè)計目 錄引言 31 設(shè)計任務(wù)書 32 方案總體設(shè)計與論證 33 硬件電路設(shè)計 43.1 傳感器調(diào)理電路模塊設(shè)計43.2 A/D轉(zhuǎn)換模塊設(shè)計53.3 顯示模塊設(shè)計73.4 鍵盤模塊設(shè)計83.5 狀態(tài)指示與接口模塊設(shè)計83.6 硬件電路總體設(shè)計94 軟件設(shè)計 104.1 主程序設(shè)計114.2 定時中斷服務(wù)程序設(shè)計144.3 外部中斷0服務(wù)程序設(shè)計164.4 溫度測量子程序設(shè)計184.5 溫度測量轉(zhuǎn)換子程序設(shè)計214.6 顯示子程序設(shè)計254.7 設(shè)置鍵處理子程序設(shè)計275 參考文獻(xiàn) 29程序清單 30引 言溫度是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)
2、域最常遇到的一個物理量。測量溫度的基本方法是使用溫度計直接讀取溫度。最常見到的測量溫度的工具是各種各樣的溫度計,例如,水銀玻璃溫度計,酒精溫度計,熱電偶或熱電阻溫度計等。它們常常以刻度的形式表示溫度的高低,人們必須通過讀取刻度值的多少來測量溫度。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計就可以直接測量溫度,得到溫度的數(shù)字值,既簡單方便,又直觀準(zhǔn)確。1 設(shè)計任務(wù)書設(shè)計一個智能溫度計,并使其具有如下特點: 1、一路水溫檢測, 誤差:0.5;2、溫度3位數(shù)碼顯示(XX.Xmm);3、工作狀態(tài)指示;4、開機(jī)自檢;5、配簡單鍵盤;6、配微型打印機(jī)接口;7、配置通信接口。2 方案總體設(shè)計與論證圖21是智
3、能溫度計的基本組成方框。主要由溫度傳感器(溫敏二極管),信號調(diào)理電路,A/D轉(zhuǎn)換器(A/D574),單片機(jī)(80C51),8279鍵盤輸入,LED顯示器以及74164,發(fā)光二極管(指示工作狀態(tài))等組成。溫度傳感器熱敏二極管是把溫度轉(zhuǎn)換成電壓的器件,溫度傳感器輸出電壓的大小隨溫度的高低變化而變化,熱敏二極管在0100溫度變化范圍內(nèi),電壓值的變化范圍從1個毫伏到200個毫伏。信號調(diào)理電路的主要功能是把微弱的溫度電壓信號放大到(02.44)伏的范圍內(nèi),以適應(yīng)AD574單極性輸入的要求。A/D轉(zhuǎn)換器把放大后的模擬電壓信號轉(zhuǎn)換成對應(yīng)的數(shù)字信號。單片機(jī)8051是智能溫度計的核心部分,一方面控制A/D轉(zhuǎn)換器
4、實現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)換,另一方面將采集到溫度的數(shù)字信號,經(jīng)過計算處理,得到相應(yīng)的溫度值的BCD碼,送到74164,由它驅(qū)動LED數(shù)碼管顯示器以數(shù)字形式顯示測量的溫度。通過鍵盤輸入要報警的溫度上限值,由單片機(jī)檢測哪一位設(shè)定的鍵盤被按下,單片機(jī)可以直接將該位寄存器中的內(nèi)容自動加一,即可實現(xiàn)相應(yīng)值的設(shè)定。通過緩沖器可以預(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)硬件基本上由傳感器信號調(diào)理模塊,A/D模塊,鍵盤模塊,顯
5、示模塊,工作狀態(tài)指示模塊,以及接口模塊組成。而軟件設(shè)計是緊緊圍繞系統(tǒng)的硬件結(jié)構(gòu)展開的,軟件主要是配合控制硬件完成預(yù)期的設(shè)計要求,軟件的基本模塊也是針對上述硬件結(jié)構(gòu)進(jìn)行相應(yīng)操作的。下面具體闡述系統(tǒng)各功能模塊的設(shè)計。3 硬件電路設(shè)計3.1 傳感器調(diào)理電路模塊測溫傳感器選用熱敏二極管傳感器。這種傳感器是利用半導(dǎo)體的溫度特性來實現(xiàn)對溫度的檢測功能。硅二極管的結(jié)電壓在溫度每升高1時,電壓下降2mV,它屬于PN結(jié)型溫度傳感器,它在0100溫度范圍內(nèi)表現(xiàn)出良好的線性,尺寸小,熱時間常數(shù)為0.22s,靈敏度高,測溫范圍是-50150。信號調(diào)理電路中包括電橋和放大部分。將測溫二極管放入電橋的一個橋臂,可直接輸出
6、傳感器相對0時的電壓輸出,再將橋路輸出送給AD620的差分輸入端,進(jìn)行50倍的放大,在經(jīng)過OP07組成的100倍的反相放大電路,使得傳感器感受0100的溫度時,信號調(diào)理電路對應(yīng)輸出02.44V的電壓值,這個電壓值正好是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正好對應(yīng)AD574輸出為999的輸入電壓(單極性10V輸入),這樣實現(xiàn)了AD574的輸
7、出,正好為外界溫度的情況。這樣就實現(xiàn)了這樣就實現(xiàn)了對溫度的有效測量信號的拾獲和放大。3.2 A/D轉(zhuǎn)換模塊設(shè)計AD574是12 位逐次逼近型的 A/D 轉(zhuǎn)換芯片。轉(zhuǎn)換時間為 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)有時鐘電路,無需外部時鐘。圖32 A/D轉(zhuǎn)換模塊圖圖32是AD574與單片機(jī)接口電路以,它分兩次將單極性電壓的12位轉(zhuǎn)換結(jié)果送給單片機(jī)。具體先由單片機(jī)發(fā)
8、出控制信號,使A/D轉(zhuǎn)換器啟動轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束,單片機(jī)再分兩次將轉(zhuǎn)換數(shù)據(jù)讀到內(nèi)存中。按上圖接法AD574是單極性輸入,接成0+10V的接法,按上圖向FF7C寫數(shù)據(jù),就啟動AD574轉(zhuǎn)換器開始轉(zhuǎn)換,檢測P1.0口即可查看AD574是否轉(zhuǎn)換結(jié)束,從FF7D端口即可讀出轉(zhuǎn)換結(jié)果的高八位,從FF7F端口中即可讀出轉(zhuǎn)換結(jié)果的低四位。3.3 顯示模塊設(shè)計利用串口和74164驅(qū)動LED顯示器工作,采用靜態(tài)顯示方式。這種方式可避免采用并行I/O接口占用資源較多的缺點。采用共陽極數(shù)碼管,因而各位的COM接口接+5V電源,若要顯示某字段,則相應(yīng)的移位寄存器74164輸出必須為低電平,由于74164在低電平輸出時
9、,允許通過的電流為8mA左右,故不用再加驅(qū)動電路了,只需向串口發(fā)送要顯示三位數(shù)的顯示控制代碼(段碼),即可在LED顯示器上顯示出所要的字符,只需將各位的小數(shù)點控制位接低電平,使其顯示,其他位的小數(shù)點控制位均接高電平即可,注意加限流電阻。圖33 顯示模塊原理圖3.4 鍵盤模塊設(shè)計因為本設(shè)計中需要的按鍵不多,故設(shè)計采用獨立式按鍵,分別占用P1.4,P1.5,P1.6和P1.7口。它們分別實現(xiàn)選擇是正常運(yùn)行還是設(shè)置模式的功能鍵,溫度上限十位的設(shè)置鍵,溫度上限個位的設(shè)置鍵以及溫度上限的十分位的設(shè)置鍵。鍵盤的防抖動可有軟件來實現(xiàn),每個引腳上都引入上拉電阻。圖34 鍵盤模塊原理圖3.5 狀態(tài)指示與接口模塊
10、設(shè)計當(dāng)測量溫度達(dá)到了上限溫度時,P2.0口輸出高電平,驅(qū)動報警二極管發(fā)光,指示溫度已經(jīng)超過上限值,當(dāng)溫度下降到設(shè)定值以下是,P2.0變成低電平,報警解除。當(dāng)按下打印摁鍵時,單片機(jī)響應(yīng)外部中斷0,進(jìn)而要打印的數(shù)碼發(fā)送至打印機(jī)的數(shù)據(jù)口,進(jìn)行打印。打印時,需要先將要打印的字符轉(zhuǎn)換為其ASCII碼,將此ASCII送入打印機(jī)數(shù)據(jù)口進(jìn)行打印。需要注意要將小數(shù)點也打印出來,打印完十位和個位再將小數(shù)點打印出來,再把十分位進(jìn)行打印。而擴(kuò)展接口采用簡單的三線式接口,一線為接收數(shù)據(jù),一線為發(fā)送數(shù)據(jù),還有一線為查詢狀態(tài)。由P2.6控制其導(dǎo)通,還是高阻的狀態(tài)。圖35 打印接口原理圖圖36 擴(kuò)展口及工作狀態(tài)原理圖3.6
11、硬件電路總體設(shè)計將上述功能模塊合理有序連接即構(gòu)成整體圖,電路圖參見圖37。圖37 硬件電路總體設(shè)計原理圖4 軟件設(shè)計4.1 主程序設(shè)計4.1.1 主程序流程圖圖41 主程序流程圖4.1.2 主程序匯編語言設(shè)計Org 0000H ;主程序入口地址KS: LJMP START ORG 0003H ;外部中斷0服務(wù)程序入口地址LJMP INT_0 ORG 000BH ;定時器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 ;延時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è)置定時器工作方式MOV TL0,#77H ;設(shè)置定時器初值MOV THO,#OECH SETB TRO ;開定時器中斷SETB ETO S
14、ETB IT ;開外部中斷0SETB EX0 SETB EA ;開總中斷STA0: LJMP STA0 ;等待中斷4.2 定時中斷服務(wù)程序設(shè)計4.2.1 定時中斷服務(wù)程序流程圖圖42 定時中斷服務(wù)程序流程圖4.2.2 定時中斷服務(wù)匯編語言程序設(shè)計INT_T0: CLR EA ;關(guān)中斷 CLR TR0 MOV TL0, #77H ;重置定時器初值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è)計4.3.1 外部中斷0程序流程圖圖43 外部中斷0服務(wù)程序流程圖4.3.2 外部中斷0匯編語言程序設(shè)計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 溫度測量子程序設(shè)計4.4.1 溫度測量子程序流程圖圖44 溫度測量子程序流程圖4.4.2 溫度測量子程序匯編語言設(shè)計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 溫度測量轉(zhuǎn)換
19、子程序設(shè)計4.5.1 溫度測量轉(zhuǎn)換子程序流程圖圖45 溫度測量轉(zhuǎn)換子程序流程圖4.5.2 溫度測量轉(zhuǎn)換子程序匯編語言設(shè)計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è)計4.6.1 顯示子程序流程圖圖46 顯示子程序流程圖4.6.2 顯示子程序匯編語言設(shè)計DISP1:SETB RS0 PUSH ACC PUSH DPH PUSH DPL MOV R2,#03H MOV R0,#6AH;(若顯示設(shè)置值則上一條語句改為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è)計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è)計講義,南京: 南京理工大學(xué)機(jī)械學(xué)院, 2009 石曉晶 智能儀器設(shè)計實驗指導(dǎo)書,南京: 南京理工大學(xué)機(jī)械學(xué)院, 2009 張迎新 單片機(jī)初級教程,北京: 北京航空航天大學(xué)出版社, 2006 周杏鵬
24、 仇國富 現(xiàn)代檢測技術(shù),北京: 高等教育出版社, 2003 朱蘊(yùn)璞 孔德仁 傳感器原理及應(yīng)用,北京: 國防工業(yè)出版社, 2005 周 嚴(yán) 測控系統(tǒng)電子技術(shù),北京: 科學(xué)出版社, 2007 趙新民 智能儀器設(shè)計基礎(chǔ),哈爾濱: 哈爾濱工業(yè)大學(xué)出版社, 2009 張國雄 測控電路,北京: 機(jī)械工業(yè)出版社, 2008 寇 戈 蔣立平 模擬電路與數(shù)字電路,北京: 電子工業(yè)出版社, 2006程序清單:Org 0000H ;主程序入口地址KS: LJMP START ORG 0003H ;外部中斷0服務(wù)程序入口地址LJMP INT_0 ORG 000BH ;定時器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 ;延時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è)置定時器工作方式MOV TL0,#77H ;設(shè)置定時器初值MOV THO,#OECH SETB TRO ;開定時器中斷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 ;重置定時器初值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è)置值則上一條語句改為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: 本站所有資源如無特殊說明,都需要本地電腦安裝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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。