版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、28 成都理工大學(xué)工程技術(shù)學(xué)院實驗報告成都理工大學(xué)工程技術(shù)學(xué)院單片機課程設(shè)計報告 數(shù)字溫度計設(shè)計 指導(dǎo)教師: 學(xué) 生: 學(xué) 號: 2013年12月 25 日摘要在這個信息化高速發(fā)展的時代,單片機作為一種最經(jīng)典的微控制器,單片機技術(shù)已經(jīng)普及到我們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),作為自動化專業(yè)的學(xué)生,我們學(xué)習(xí)了單片機,就應(yīng)該把它熟練應(yīng)用到生活之中來。本文將介紹一種基于單片機控制的數(shù)字溫度計,本溫度計屬于多功能溫度計,可以設(shè)置上下報警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時,可以報警。本文設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點。關(guān)鍵詞:單片機,數(shù)字
2、控制,數(shù)碼管顯示,溫度計,DS18B20,AT89S52。 目錄1概述41.1設(shè)計目的41.2設(shè)計原理41.3設(shè)計難點42 系統(tǒng)總體方案及硬件設(shè)計42.1數(shù)字溫度計設(shè)計方案論證52.2.1 主控制器52.4 系統(tǒng)整體硬件電路設(shè)計83系統(tǒng)軟件設(shè)計83.1初始化程序83.2讀出溫度子程序93.3讀、寫時序子程序103.4 溫度處理子程序123.5 顯示程序124 Proteus軟件仿真125硬件實物136課程設(shè)計體會.14附錄1:151概述1.1設(shè)計目的 隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的
3、要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實驗室使用,可廣泛用于食品庫、冷庫、糧庫、溫室大棚等需要控制溫度的地方。目前,該產(chǎn)品已在溫控系統(tǒng)中得到廣泛的應(yīng)用。1.2設(shè)計原理 本系統(tǒng)是一個基于單片機AT89S52的數(shù)字溫度計的設(shè)計,用來測量環(huán)境溫度,測量范圍為-50110度。整個設(shè)計系統(tǒng)分為4部分:單片機控制、溫度傳感器、數(shù)碼顯示以及鍵盤控制電路。整個設(shè)計是以AT89S52
4、為核心,通過數(shù)字溫度傳感器DS18B20來實現(xiàn)環(huán)境溫度的采集和A/D轉(zhuǎn)換,同時因其輸出為數(shù)字形式,且為串行輸出,這就方便了單片機進(jìn)行數(shù)據(jù)處理,但同時也對編程提出了更高的要求。單片機把采集到的溫度進(jìn)行相應(yīng)的轉(zhuǎn)換后,使之能夠方便地在數(shù)碼管上輸出。LED采用三位一體共陽的數(shù)碼管。1.3設(shè)計難點 此設(shè)計的重點在于編程,程序要實現(xiàn)溫度的采集、轉(zhuǎn)換、顯示和上下限溫度報警,其外圍電路所用器件較少,相對簡單,實現(xiàn)容易。2 系統(tǒng)總體方案及硬件設(shè)計2.1數(shù)字溫度計設(shè)計方案論證由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機進(jìn)行
5、數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計要求。2.2總體設(shè)計框圖溫度計電路設(shè)計總體設(shè)計方框圖如圖1所示,控制器采用單片機AT89S52,溫度傳感器采用DS18B20,用4位共陰LED數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示。圖1 總體設(shè)計框圖2.2.1 主控制器單片機AT89S52具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設(shè)
6、計需要,適合便攜手持式產(chǎn)品的設(shè)計使用。AT89S52單片機芯片具有以下特性:1)指令集合芯片引腳與Intel公司的8052兼容;2)4KB片內(nèi)在系統(tǒng)可編程FLASH程序存儲器;3)時鐘頻率為033MHZ;4)128字節(jié)片內(nèi)隨機讀寫存儲器(RAM);5)6個中斷源,2級優(yōu)先級;6)2個16位定時/記數(shù)器;7)全雙工串行通信接口;8)監(jiān)視定時器;9)兩個數(shù)據(jù)指針;2.2.2 顯示電路2.2.3溫度傳感器DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9-12位的數(shù)字值讀數(shù)方
7、式。DS18B20的性能特點如下:1.全數(shù)字溫度轉(zhuǎn)換及輸出。2.先進(jìn)的單總線數(shù)據(jù)通信。3.最高12為位分辨率,精度可達(dá)±0.5攝氏度。4.12位分辨率時的最大工作周期為750毫秒。5.可選擇寄生工作方式。6.檢測溫度范圍為+55+125(-67+257)。7.內(nèi)置EEPROM,限溫報警功能。8.64位光刻ROM,內(nèi)置產(chǎn)品序列號,方便多機鏈接。9.多樣封裝形式,便于不同硬件系統(tǒng)。2.3 DS18B20溫度傳感器與單片機的接口電路2.4 系統(tǒng)整體硬件電路設(shè)計2.4.1 主板電路 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報警調(diào)整電路,單片機主板電路等,單片機主板電路如
8、圖5 所示:圖5 單片機主板電路2.4.2 顯示電路 圖6 溫度顯示電路3 系統(tǒng)軟件設(shè)計系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。3.1初始化程序 置1發(fā)出存在脈沖延時15-60usP3.7設(shè)為總線發(fā)出復(fù)位脈沖釋放總線檢測總線=1 圖7 初始化程序流程圖3.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的2字節(jié),讀出溫度的低八位和高八位,在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖8示初始化ds18b20發(fā)送字節(jié)指令到總線發(fā)送轉(zhuǎn)換指令調(diào)用讀寫指令讀溫度延時調(diào)用時序初始化判斷F0=1EA=1 圖8 讀溫
9、度程序流程圖3.3讀、寫時序子程序讀寫的程序是本次設(shè)計中的重點和難點,通過我們對其時序的分析,從而寫出高效的程序。寫1,0時序讀0,1時序釋放總線所寫位送到總線延時15-60us判斷總線=0寫入位=0第二次寫寫入位=1將總線拉低延時1.7us將總線拉高開始讀位延時60-120us圖9 寫時序子程序流程圖 圖10 讀時序子程序流程圖3.4 溫度處理子程序計算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖11所示從18620取溫度低位保存讀取高位保存進(jìn)行十進(jìn)制轉(zhuǎn)換圖11 溫度處理程序流程圖 輪流送溫度值高低位至數(shù)碼管3.5 顯示程序 此函數(shù)實現(xiàn)的對數(shù)碼管
10、顯示的處理,其亮點在于可以直接對數(shù)碼管進(jìn)行操作,其本身是個兩變量函數(shù),第一個變量是要開通的位選,第二個變量是要顯示的數(shù)據(jù),這樣我們可以直接方便而又簡單直觀的對數(shù)碼管進(jìn)行操作。程序流程圖如圖12。 顯示小數(shù)位顯示低位顯示高位動態(tài)顯示開小數(shù)位位選開低位位選開高位位選 4 Proteus軟件仿真5 硬件實物6 課程設(shè)計體會這次課程設(shè)計雖然只有短短的兩周時間,但我受益匪淺。剛開始時覺得自己的課題無處入手,但通過老師的講解和查詢資料,開始有了自己的思路,整理出了總體方案,然后設(shè)計出硬件原理圖,源程序等。在這次設(shè)計中困難最大的就是調(diào)試,收獲最多的也是調(diào)試,因為調(diào)試的時候你必須對程序相當(dāng)?shù)氖煜?,對每一條指令
11、相當(dāng)了解,并且硬件的連接也要清晰的印在腦海里,只有這樣你才能讓軟件和硬件結(jié)合在一起,實現(xiàn)預(yù)期功能。在編程結(jié)束時需要編寫END指令,這也是初學(xué)者編程時經(jīng)常忘記的??傊?,在課程設(shè)計中遇到了不少的困難,在老師的細(xì)心講解和輔導(dǎo)下,最終完成了本次設(shè)計。在此,由衷感謝老師的指導(dǎo)和幫助。 參考文獻(xiàn)1DS18b20數(shù)據(jù)手冊。2 求是科技編著8051系列單片機C程序設(shè)計完全手冊北京: 人民郵電出版社, 20063 余發(fā)山,王福忠.單片機原理及應(yīng)用技術(shù).徐州:中國礦業(yè)大學(xué)出版社,200附錄1: DQ BIT P3.7 ; 定義p3.7為ds18b20的地址總線 swpH equ 0d2H; 定義swph=0d2h
12、 swpL equ 0ffH ; 定義swpL=0ffh 初始化 WDLSB DATA 30H ; 定義wdlsb=30h WDMSB DATA 31H ; 定義wdmsb=31h;* ORG 0000H ;主程序入口地址 LJMP MAIN ;跳轉(zhuǎn)到main ORG 000BH ;timer0的入口地址 LJMP TMR0 ; 跳到Timer0 ;*; Timer0 Interrupt Service RoutineTMR0: MOV TH0,#swpH ;輪流送溫度值的高低兩位到數(shù)碼管 高位 MOV TL0,#swpL ;溫度值的低位 JB 21H,DSL JB 22H,DSL1; JB
13、23H,DSL2 MOV P0,43H ORL P0,#01000000B ; 十位位選為1 SETB P2.0;小數(shù)點不亮 SJMP EXITDSL: MOV P0,42H ORL P0,#00100000B ; 個位位選 CPL P2.0;個位后面小數(shù)位亮 SJMP EXIT1DSL1:MOV P0,41H ORL P0,#00010000B ;小數(shù)位位選SETB P2.0;小數(shù)點不亮SJMP EXIT2;DSL2: ; MOV P0,40H;ORL P0,#10000000B;SETB P2.0;SJMP EXIT3EXIT: CPL 21H; 21h取反,即21h=1 RETI EXI
14、T1: CPL 22H; 22h=1 CPL 21H ;21h=0 RETI EXIT2: ; CPL 23H; CPL 22H ;22h=0 RETI ;EXIT3: ; CPL 23H; ; RETI ; Main programMAIN: TOINIT: CLR EA MOV TMOD,#01H ;定義timer0的工作方式為1 MOV TH0,#swpH ;裝初始值 MOV TL0,#swpL SETB EA ;開總中斷 SETB ET0;開中斷允許 SETB TR0;開定時器中斷;* ; 地址清零,騰出地址空間 MOV R2,#3 ;R2里放循環(huán)次數(shù)為2次 MOV R0,#41H ;
15、 R0=42HOVER: MOV R0,#00H; 42H=00H INC R0; R0=43HDJNZ R2,OVER; 判斷2次循環(huán)是否結(jié)束 LOOP: LCALL DSWD ; SJMP LOOP ;*; Read a temperature from the DS18B20DSWD: LCALL RSTSNR ; Init of the DS18B20 JNB F0,KEND ; F0=0則轉(zhuǎn)移 MOV R0,#0CCH;R0=0cch LCALL SEND_BYTE ; Send a byte to the 1 wire line MOV R0,#44H LCALL SEND_BYT
16、E ; Send a Convert Command SETB EA ; MOV 48H,#1 ;SS2: MOV 49H,#255;SS1: MOV 4AH,#255;SS0: DJNZ 4AH,SS0; DJNZ 49H,SS1; DJNZ 48H,SS2 ; CLR EA ;進(jìn)入讀時序禁用任何中斷 LCALL RSTSNR ; JNB F0,KEND; MOV R0,#0CCH ; LCALL SEND_BYTE ; MOV R0,#0BEH ; 讀命令 LCALL SEND_BYTE ; Send Read Scratchpad command LCALL READ_BYTE ; Re
17、ad the low byte from scratchpad MOV WDLSB,A ; Save the temperature (low byte) LCALL READ_BYTE ; Read the high byte from scratchpad MOV WDMSB,A ; Save the temperature (high byte) LCALL TRANS12 ; 讀取溫度值的10進(jìn)制數(shù)KEND: SETB EA ; RET;*; 從1820讀取溫度并轉(zhuǎn)換為10進(jìn)制TRANS12: MOV A,30H ;30H存從1820取的溫度值的低位 ANL A,#0F0H ;選取讀取
18、溫度值低位中的高4位儲存溫度 MOV 3AH,A ;儲存至3AH MOV A,31H ; 31h存從1820讀取溫度的高位 ANL A,#0FH ; 保存溫度值高位中的低4位 ORL A,3AH ; A中為溫度值 SWAP A ;半字節(jié)交換 MOV B,#10 ;轉(zhuǎn)換為10進(jìn)制 DIV AB ;MOV 42H,A MOV 42H,B ; 除10 取余數(shù),42H即個位 MOV B,#10 DIV AB MOV 43H,B ;43H放十3位 MOV A,30H ANL A,#0FH ;1820中讀取的溫度值低位中的低4位,即小數(shù)位 MOV DPTR,#tab1 ;查表小數(shù)位 MOVC A,A+DP
19、TR MOV 41H,A ;41H中為小數(shù)位 RET ;*; Send a byte to the 1 wire lineSEND_BYTE: MOV A,R0 ;保存數(shù)值 A=0CCH MOV R5,#8;發(fā)送次數(shù)為8次SEN3: CLR C; 清零 RRC A; 循環(huán)右移送值 JC SEN1 ; 判斷寫0還是寫1 LCALL WRITE_0 SJMP SEN2 SEN1: LCALL WRITE_1 SEN2: DJNZ R5,SEN3 ; 判斷是否寫完 RET;*; Read a byte from the 1 wire line 讀時序READ_BYTE: MOV R5,#8 ;8次R
20、EAD1: LCALL READ ;跳轉(zhuǎn)到讀時序 RRC A ;把讀的的值右循環(huán)給A DJNZ R5,READ1 ;判斷是否讀完 MOV R0,A RET;*; Reset 1 wire line時序初始化RSTSNR: SETB DQ ; P3.7=1 NOP;延時 NOP CLR DQ ;P3.7=0發(fā)出復(fù)位脈沖 MOV R6,#250 DJNZ R6,$ ; 保持500us MOV R6,#50 DJNZ R6,$ ; 100us SETB DQ ; 釋放總線 MOV R6,#15 DJNZ R6,$ ; 30us CALL CHCK ;判斷p3.7位是否被拉高,如已經(jīng)拉高,則low,否
21、則,將其拉高 MOV R6,#60 DJNZ R6,$ ; 120us SETB DQ ; RET;*; low level subroutines 判斷p3.7位是否被拉高,如已經(jīng)拉高,則low,否則,將其拉高CHCK: MOV C,DQ ; C=P3.7 JC RST0 ;進(jìn)位標(biāo)志位P3.7=1則轉(zhuǎn)移RST0 SETB F0 ; 標(biāo)志位F0=1 SJMP CHCK0 RST0: CLR F0 ; FO=0CHCK0: RET;*WRITE_0: ;寫0時序 CLR DQ ;開始寫p3.7=0,拉低 MOV R6,#30; 延時60us DJNZ R6,$ ; 60us SETB DQ ;
22、p3.7=1 RET ;*WRITE_1: ;寫1時序 CLR DQ ; 拉低 NOP ;延時 NOP NOP NOP NOP SETB DQ ;釋放總線 MOV R6,#30 DJNZ R6,$ ;延時60us RET;*READ: ;讀時序 SETB DQ ;拉高 NOP ;延時 NOP CLR DQ ;拉低 NOP ;延時 NOP SETB DQ ;拉高 NOP ;1us NOP NOP NOP NOP NOP NOP MOV C,DQ MOV R6,#23 DJNZ R6,$ ;等待46us RET;*;DELAY10: MOV R4,#20 此段程序未用到;D2: MOV R5,#3
23、0 ; DJNZ R5,$ ; 60us ; DJNZ R4,D2 ; 40us ; RETtab1: DB 00H,01H,01H,02H,02H,03H,03H,04HDB 05H,06H,06H,07H,07H,08H,08H,09H END 數(shù)字電子鐘設(shè)計 目 錄1實驗?zāi)康?2實驗題目描述和要求 23設(shè)計報告內(nèi)容23.1實驗名稱23.2實驗?zāi)康?3.3實驗器材及主要器件23.4數(shù)字電子鐘基本原理33.6數(shù)字電子鐘電路圖43.7數(shù)字電子鐘的組裝與調(diào)試44 實驗結(jié)論55 實物效果圖56、實驗心得5參考文獻(xiàn) 5附錄 61實驗?zāi)康模?).掌握組合邏輯電路、時序邏輯電路及數(shù)字邏輯電路系統(tǒng)的設(shè)計、
24、安裝、測試方法;(2).進(jìn)一步鞏固所學(xué)的理論知識,提高運用所學(xué)知識分析和解決實際問題的能力;(3).提高電路布局布線及檢查和排除故障的能力;(4).培養(yǎng)書寫綜合實驗報告的能力。2實驗題目描述和要求(1)設(shè)計一個有“時”、“分”、“秒”(23小時59分59秒)顯示的電子鐘;(2)用中小規(guī)模集成電路組成電子鐘,并在實驗電路板上進(jìn)行組裝、調(diào)試;(3)畫出框圖和邏輯電路圖,寫出設(shè)計、實驗總結(jié)報告;3設(shè)計報告內(nèi)容3.1實驗名稱數(shù)字電子鐘3.2實驗?zāi)康?#183;掌握數(shù)字電子鐘的設(shè)計、組裝與調(diào)試方法;·熟悉集成電路的使用方法。3.3實驗器材及主要器件28(1)2N5551( 6片)(2)AT89
25、S52(1片)(3)共陰七段三位顯示器(2片)(4)電阻、電容、導(dǎo)線等(若干)3.4數(shù)字電子鐘基本原理數(shù)字電子鐘的邏輯框圖如圖3-4所示。它由計數(shù)器、顯示器。晶振的振蕩電路產(chǎn)生的信號經(jīng)過AT89S52的P3.4口為秒脈沖,秒脈沖送入計數(shù)器,計數(shù)結(jié)果通過“時”、“分”、“秒”顯示時間。圖3-43.5數(shù)字電子鐘單元電路設(shè)計、參數(shù)計算和器件選擇(一)計數(shù)器秒脈沖信號經(jīng)過AT89S52,分別得到“秒”個位、十位、“分”個位、十位以及“時”個位、十位的計時?!懊搿薄胺帧庇嫈?shù)器為六十進(jìn)制,小時為二十四進(jìn)制。(1) 六十進(jìn)制計數(shù)由分頻器來的秒脈沖信號,首先送到“秒”計數(shù)器進(jìn)行累加計數(shù),秒計數(shù)器應(yīng)完成一分鐘之
26、內(nèi)秒數(shù)目累加,并達(dá)到60秒時,進(jìn)行分鐘累加(2)二十四進(jìn)制計數(shù)“12翻1”小時計數(shù)器是按照“0102032223000102”規(guī)律計數(shù)的,這與日常生活中的計時規(guī)律相同。利用清零端實現(xiàn)起從2300的翻轉(zhuǎn),其中“24”為過渡狀態(tài)不顯示。其中,“時”十位是3進(jìn)制,“時”個位是十進(jìn)制和四進(jìn)制。開始主程序循環(huán)到來中斷開始1秒到來,秒加160秒到了,分加160分到來,時加1(二)顯示器本系統(tǒng)用七段發(fā)光二極管來顯示輸出的數(shù)字,顯示器有兩種:共陽極顯示器或共陰極顯示器。對應(yīng)8031的顯示器是共陽極顯示器。3.6數(shù)字電子鐘電路圖 圖3.63.7數(shù)字電子鐘的組裝與調(diào)試由圖中所示的數(shù)字中系統(tǒng)組成框圖按照信號的流向分
27、級安裝,逐級級聯(lián)。這里的每一級是指組成數(shù)字中的各個功能電路。4.實驗結(jié)論通過運用數(shù)字集成電路設(shè)計的24小時制的數(shù)字電子時鐘,經(jīng)過試驗,成功實現(xiàn)了一下基本功能: 能準(zhǔn)確計時,以數(shù)字形式顯示時、分、秒的時間。5、實物效果圖6.實驗心得通過這次數(shù)字電子鐘的課程設(shè)計,我們才把學(xué)到的東西與實踐相結(jié)合。從中對我們學(xué)的知識有了更進(jìn)一步的理解,而且更進(jìn)一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的工作原理和其具體的使用方法。也鍛煉了自己獨立思考問題的能力和通過查看相關(guān)資料來解決問題的習(xí)慣。雖然這只是一次簡單的課程設(shè)計,但通過這次課程設(shè)計我們了解了課程設(shè)計的一般步驟,和設(shè)計中應(yīng)注意的問題。設(shè)計本身并不是有很重要的意義,
28、而是同學(xué)們對待問題時的態(tài)度和處理事情的能力。各個芯片能夠完成什么樣的功能,使用芯片時應(yīng)該注意那些要點。同一個電路可以用那些芯片實現(xiàn),各個芯片實現(xiàn)同一個功能的區(qū)別。另外,我還漸漸熟悉了proteus這個仿真軟件的各個功能,讓我體會到了期中的樂趣,還在電腦制作文檔的過程中,使我對辦公軟件有了更進(jìn)一步的了解和掌握。課程設(shè)計是一個學(xué)習(xí)新知識、鞏固加深所學(xué)課本理論知識的過程,它培養(yǎng)了我們綜合運用知識的能力,獨立思考和解決問題的能力。它不僅加深了我對單片機課程的理解,還讓我感受到了設(shè)計電路的樂趣。在這次設(shè)計中,我一點也不怕麻煩,反復(fù)設(shè)計、繪圖與修改,就是希望能把這次課程設(shè)計做好。因此這次課程設(shè)計非常有意義
29、。參考文獻(xiàn):【1】. 現(xiàn)代數(shù)字電路與邏輯設(shè)計 清華大學(xué)出版社 北京交通大學(xué)出版社.【2】. 模擬電子技術(shù)(修訂版) 清華大學(xué)出版社 北京交通大學(xué)出版社【3】. 模擬電子技術(shù)教程 電子工業(yè)出版社【4】. 朱定華主編.電子電路測試與實驗.北京:清華大學(xué)出版社,2004.附錄: ORG 0000H LJMP MAIN ;上電,跳向主程序 ORG 000BH ;T0的中斷入口 LJMP IT0P ORG 1000HMAIN: MOV TMOD,#01H ;設(shè)T0為方式1 MOV 20H,#14H ;裝入中斷次數(shù),20次即為1s鐘了 CLR A ; A清0 MOV 40H,A ;"時“單元清0
30、 MOV 41H,A ;"分”單元清0 MOV 42H,A ;“秒”單元清0 SETB ET0 ;允許T0申請中斷 SETB EA ;總中斷允許 MOV TH0,#3CH ;給T0裝入計數(shù)初值 MOV TL0,#0B0H SETB TR0 ;啟動T0 MOV 40H,#23H MOV 41H,#59H MOV 42H,#40H / MOV R2,#3 ; 清除地址空間 / MOV R0,#60H /OVER: / MOV R0,#00H / INC R0 / DJNZ R2,OVERHERE: LCALL DISPLAY SJMP HERE RETIIT0P: PUSH PSW ;T
31、0中斷服務(wù)子程序入口,保護(hù)現(xiàn)場 PUSH Acc MOV TH0,#3CH ;重新裝入初值(方式1不帶自動重裝的) MOV TL0,#0B0H DJNZ 20H,RETURN ;1S時間未到,返回 MOV 20H,#14H ;重置中斷次數(shù) MOV A,#01H ;“秒”單元曾1 ADD A,42H DA A ;“秒"單元十進(jìn)制調(diào)整 MOV 42H,A ;“秒”的BCD碼存回“秒”單元 CJNE A,#60H,RETURN ;是否到60s,未到則返回 MOV 42H,#00H ;計滿60s,“秒”單元清0 MOV A,#01H ;“分”單元曾1 ADD A,41H DA A ;“分”單
32、元十進(jìn)制調(diào)整 MOV 41H,A ;“分”的BCD碼存回“分”單元 CJNE A,#60H,RETURN ;是否到60分,未到則返回 MOV 41H,#00H ;計滿60分,“分”單元清0 MOV A,#01H ;"時“單元曾1 ADD A,40H DA A ;”時“單元十進(jìn)制調(diào)整 MOV 40H,A CJNE A,#24H,RETURN ;是否到24小時,未到則返回 MOV 40H,#00H ;到24小時,”時“單元清0 LCALLDISPLAYRETURN: POP Acc ;恢復(fù)現(xiàn)場 POP PSW ;中斷返回 RETI DISPLAY: ;顯示程序 MIAO: ;秒的顯示程序 MOV A,42H ANL A,#0FH ;取秒的低位MOV DPTR,#TABMOVC A,A+DPTR MOV P0,A ;段碼送p0口/MOV P2,#00100000B MOV P2,#0ORL P2,#00100000B ;開秒
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度水陸聯(lián)運貨物保險及運輸合同
- 二零二五年度新能源儲能技術(shù)聘用合同8篇
- 二零二四年度信息化設(shè)備融資租賃管理合同3篇
- 課件:正確認(rèn)識高職院校內(nèi)部質(zhì)量保證體系診斷與改進(jìn)
- 二零二五年度牧草生物質(zhì)能項目合作協(xié)議4篇
- 2025版農(nóng)家樂民宿租賃管理服務(wù)合同2篇
- 二零二五版年薪制勞動合同:房地產(chǎn)企業(yè)銷售精英激勵方案4篇
- 第三單元 資產(chǎn)階級民主革命與中華民國的建立(解析版)- 2023-2024學(xué)年八年級歷史上學(xué)期期中考點大串講(部編版)
- 2025年度個人家政服務(wù)分期支付合同范本2篇
- 二零二五年度地鐵車站安全門系統(tǒng)采購合同
- 2024年蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 人教版初中語文2022-2024年三年中考真題匯編-學(xué)生版-專題08 古詩詞名篇名句默寫
- 2024-2025學(xué)年人教版(2024)七年級(上)數(shù)學(xué)寒假作業(yè)(十二)
- 山西粵電能源有限公司招聘筆試沖刺題2025
- ESG表現(xiàn)對企業(yè)財務(wù)績效的影響研究
- 醫(yī)療行業(yè)軟件系統(tǒng)應(yīng)急預(yù)案
- 使用錯誤評估報告(可用性工程)模版
- 《精密板料矯平機 第2部分:技術(shù)規(guī)范》
- 黑枸杞生物原液應(yīng)用及產(chǎn)業(yè)化項目可行性研究報告
- 2024年黑龍江省政工師理論知識考試參考題庫(含答案)
- 四年級上冊脫式計算300題及答案
評論
0/150
提交評論