

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 河北建筑工程學院</b></p><p><b> 單片機課程設計報告</b></p><p> 題目名稱: 單片機的多路溫度測量系統(tǒng)設計 </p><p> 系: 電氣工程系 </p><p>
2、 專 業(yè): 建筑電氣與智能化 </p><p> 班 級: 電智102 </p><p> 學 號: 2010318202 </p><p> 學生姓名:
3、 </p><p> 指導教師: </p><p> 職 稱: 講師 </p><p> 2013年 03月 03日</p><p><b> 目錄</b><
4、/p><p> 一、摘要·································
5、;··············2</p><p> 二、系統(tǒng)總體方案設計 ················
6、3;·················2 </p><p> 1 系統(tǒng)框圖結構············
7、3;···································2 2
8、 設計思路···································
9、3;················2</p><p> 三、系統(tǒng)硬件設計···············
10、························3</p><p> 1 控制器——單片機·······
11、;····································
12、83;·3 2 傳感器電路設計································&
13、#183;··············5 3 復位電路設計···················&
14、#183;·····························6 4 晶振電路設計····&
15、#183;····································
16、;········7 5 LED顯示電路設計·························
17、183;···················8 6 鍵盤電路設計··············&
18、#183;··································8 7 報
19、警電路設計····································
20、;·············9 8 5v穩(wěn)壓電路設計····················
21、83;···············</p><p> 四、系統(tǒng)軟件設計················
22、·······················10</p><p> 1 系統(tǒng)主程序流程圖·······
23、3;····································
24、183;11</p><p> 2 系統(tǒng)子程序流程圖······························
25、···············12</p><p> 3 鍵盤程序設計················
26、·································12</p><p>
27、; 五、結論 ···································
28、183;··········13</p><p> 1 課題總結····················
29、3;································13 2 心得體會··
30、;····································
31、83;··············13</p><p> 六、參考文獻·················
32、··························13</p><p> 七. 附錄·····
33、3;····································
34、183;····14</p><p> 1.系統(tǒng)程序···························
35、;··························14</p><p> 2. 總電路圖·····&
36、#183;····································
37、;···········25</p><p><b> 一、摘 要</b></p><p> 該設計主要應用于多路數(shù)字溫度測量,以AT89C51單片機系統(tǒng)為核心,采用LM35溫度傳感器。LM35是一種可組網(wǎng)的高精度模擬式溫度傳感器,它具有單總線的獨特優(yōu)點,
38、可以使用戶輕松地組建起傳感器網(wǎng)絡,并可使多路溫度測量電路變得簡單、可靠。本文結合實際使用經(jīng)驗,介紹了DS18B20數(shù)字溫度傳感器在單片機下的硬件連接及軟件編程,并給出了軟件流程圖。</p><p> 主題詞: AT89C51單片機、溫度傳感器、軟件流程圖、LM35。</p><p><b> 二、總體方案設計</b></p><p><
39、;b> 方案的闡述與特點:</b></p><p> 本設計是以ST89LE516AD單片機為控制核心、LM35為傳感器組成多路溫度測試系統(tǒng),該系統(tǒng)包括傳感器電路、鍵盤與顯示電路、串口通信電路等。它具有獨特的單總線接口,僅需要占用一個通用I/O端口即可完成與微處理器的通信。全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。</p><p><b>
40、1、系統(tǒng)框圖:</b></p><p><b> 2.設計思路:</b></p><p> 本設計方案采用主從分布式思想,由一位上位機(pc微型計算機),下位機(單片機)多路溫度數(shù)據(jù)采集,組成兩級分布式多路溫度測量的巡回檢測系統(tǒng)。該系統(tǒng)采用RS-232串行通訊標準,通過上位機(PC)控制下位機(單片機)進行現(xiàn)場溫度采集。溫度值既可以送回主控PC進行數(shù)據(jù)
41、處理,由顯示器顯示。也可以由下位機單獨工作,實時顯示當前各點的溫度值,對各點進行控制。</p><p> 下位機采用的是單片機基于數(shù)字溫度傳感器DS18B20的系統(tǒng)。DS18B20利用單總線的特點可以方便的實現(xiàn)多點溫度的測量,輕松地組建傳感器網(wǎng)絡,系統(tǒng)的抗干擾性好、設計靈活、方便,而且適合于在惡劣的環(huán)境下進行現(xiàn)場溫度測量。</p><p><b> 3、它有如下特點:<
42、/b></p><p> (1)獨特的單線接口,既可通過串行口線,也可通過其它I/O口線與微機接口,無需變換其他電路,直接輸出被測溫度值;</p><p> ?。?)多點能力使分布式溫度檢測應用得以簡化;</p><p> ?。?)不需要外部元件;</p><p> ?。?)既可用數(shù)據(jù)線供電,也可采用外部電源供電;</p>
43、<p> ?。?)不需備份電源;</p><p> ?。?)通過編程可實現(xiàn)9~12位的數(shù)字讀數(shù)方式;</p><p> (7)用戶可定義非易失性的溫度告警設置;</p><p> (8)警告搜索命令能識別和尋址溫度在編定的極限之外的器件(溫度警告情況);</p><p> (9)應用范圍包括恒溫控制、工業(yè)系統(tǒng)、消費類產(chǎn)品、
44、溫度計或任何熱敏系統(tǒng)。</p><p> 以上特性使得LM35非常適用于構建高精度、多點溫度測量系統(tǒng)。</p><p><b> 三、硬件設計</b></p><p> 本課題的整個系統(tǒng)是由單片機、顯示電路、鍵盤電路、驅動電路、串口通信等構成。</p><p> 1控制器--單片機的設計:</p>
45、<p> 本設計采用的單片機為STC12C5A32AD</p><p> STC12C5A32AD單片機是單時鐘/ 機器周期(1T)的兼容8051 內核單片機,是高速/ 低功耗的新一代單片機,全新的流水線/ 精簡指令集結構。STC12C5A32AD單片機主要性能:</p><p> ●高速:1個時鐘/機器周期,RISC型8051內核,速度比普通8051快12倍</p&
46、gt;<p> ●工作電壓:5.5V--3.3V</p><p> ●低功耗設計:空閑模式,掉電模式(可由外部中斷喚醒)</p><p> ●工作頻率:0~35MHz</p><p> ●時鐘:外部晶體或內部RC 振蕩器可選</p><p> ●芯片內E2PROM 功能</p><p> ●
47、ISP/IAP,在系統(tǒng)可編程/在應用可編程,無需仿真器</p><p> ● 8位8通道ADC,轉換速度可達300K/S</p><p> ● 2個硬件16位定時器,兼容普通8051 的定時器。再加上2 路PCA 還可再實現(xiàn)2個16位定時器</p><p> ●硬件看門狗(WDT)</p><p> ●全雙工異步串行口(UART),由
48、于STC12系列單片機是高速的8051,可再用定時器或PCA軟件實現(xiàn)多串口</p><p> 圖3-1 STC12C5A32AD</p><p><b> ● Vcc: 電源</b></p><p><b> ● GND: 地</b></p><p> ● P0 口:P0口是一個8位的雙向I
49、/O口。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。</p><p> ● P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,同時也是模擬量輸入口,可以對8路模擬量進行模數(shù)轉換。</p><p> ● P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口。在訪問外部程序存儲器或用16位地址讀取外部數(shù)
50、據(jù)存儲器(例如執(zhí)行MOVX @DPTR)時,P2 口送出高八位地址。</p><p> ● P3 口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口。P3口亦作為特殊功能口使用,如表3-1所示。</p><p> 表3-1 STC12C5A32AD引腳號特殊功能</p><p> ● RST: 復位輸入,晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片
51、機復位。</p><p> ● ALE:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。</p><p> ● XTAL1:振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。</p><p> ● XTAL2:振蕩器反相放大器的輸出端。</p><p> 2溫度傳感器--LM35的連線圖:</p>
52、<p> LM35 是由National Semiconductor 所生產(chǎn)的溫度傳感器,其輸出電壓與攝氏溫度成正比,具有10mv/℃的靈敏度,工作溫度范圍為4V~30V;輸出阻抗為0.1Ω。LM35溫度傳感器,由于它采用內部補償,所以輸出可以從0℃開始,器件有三個引腳,分別是電源負GND,電源正Vcc,信號輸出端。</p><p> 電路需要兩路運算放大電路,所以選擇雙路運算放大器,一路作跟隨器
53、另一路作同向放大器,LM358 內部包括有兩個獨立的、高增益、內部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。</p><p> 圖3-2 溫度傳感器LM35</p><p> 3 常用的上電復位且開關復位電路</p><p> 當復
54、位鍵KEY5被按下時,電容C3開始充電,按鍵放開時,C3開始放電,電流經(jīng)電阻R4流向接地端,此時單片機復位端RST電平被拉高,當放電時間常數(shù)C3×R4 > 2Tcy(Tcy時為機器周期)即給單機機持續(xù)兩個機器周期的高電平時單片機被復位.</p><p> 圖3-3 復位開關電路</p><p><b> 4晶振電路設計:</b></p>
55、<p><b> 圖3-4 晶振電路</b></p><p> STC89LE516AD單片機串口主要有兩個數(shù)據(jù)緩沖寄存器SBUF和一個輸入移位寄存器組成,其內部還有一個串行控制寄存器SCON和一個波特率發(fā)生器。接收緩沖器與發(fā)送緩沖器占用同一個地址99H,其名稱亦同樣為SBUF。</p><p> 5 LED顯示電路設計</p>&l
56、t;p> 本顯示方案采用單片機I/O口串行擴展74lLS64驅動器驅動4位LED數(shù)碼管實現(xiàn)靜態(tài)顯示,所謂靜態(tài)顯示就是在任何時刻所有LED數(shù)碼管處于顯示狀態(tài),靜態(tài)顯示具有編程簡單,亮度高,無閃爍,占用CPU資源少等優(yōu)點。</p><p> 圖3-5 LED顯示電路</p><p><b> 6鍵盤電路設計</b></p><p>&l
57、t;b> 其原理圖如下:</b></p><p><b> 圖3-6 鍵盤電路</b></p><p> 本課題使用行列掃描方式,在單片機的P1口上連接上4*4的鍵盤,單片機掃描鍵盤,如果有鍵按下,單片機會根據(jù)鍵碼執(zhí)行相應的程序,使整個系統(tǒng)的功能更加完善。</p><p><b> 7報警電路設計</b
58、></p><p> 為了實現(xiàn)多點溫度檢測報警系統(tǒng),本課題采用AT89C51單片機作為主控制器,采用掃描的方式對多點LM35溫度傳感器獲取對應該位置的溫度值,經(jīng)處理后通過串口可以立即發(fā)送到上位機,如溫度不在設定的范圍內,給出報警信號。系統(tǒng)總體硬件電路圖如下所示:</p><p><b> 圖3-7 報警電路</b></p><p>&
59、lt;b> 8、 5V穩(wěn)壓電路</b></p><p> 為了給STC89LE516AD單片機提供精確的5V基準電壓,本設計采用了LM117三端可調正穩(wěn)壓集成電路。它的輸出電壓范圍是1.2V至37V,負載電流最大為1.5A。僅需外接兩個電阻就可以設置輸出電壓。此外它的線性調整率和負載調整率都比較好。</p><p> 圖3.7 5V穩(wěn)壓電路</p>&
60、lt;p><b> 四、軟件設計</b></p><p> 該軟件設計主要包括系統(tǒng)程序和流程圖,根據(jù)整個系統(tǒng)的要求,完成溫度的測量與控制必須經(jīng)過以下幾個步驟:單片機接受傳感器的溫度信號,并通過MAX7219驅動顯示出來,單片機掃描鍵盤,接受控制信號,并將溫度顯示出來,若溫度不在范圍內則發(fā)出報警。</p><p><b> 1系統(tǒng)主程序流程圖<
61、;/b></p><p> 圖4-1 主程序流圖</p><p><b> 2子程序流程圖</b></p><p> 圖4-2 子程序流圖</p><p><b> 3鍵盤程序設計</b></p><p> 根據(jù)設計要求,應采用4*4的鍵盤電路結構,P1.0-
62、 P1.3接四條行線,P1.4-P1.7接四條列線,整個系統(tǒng)的功能可以利用16個按鍵將系統(tǒng)完善化、系統(tǒng)化,對于鍵盤各鍵的功能如下圖所示:</p><p> 表4-1 鍵盤程序設計</p><p><b> 五、結論</b></p><p><b> 1、課題總結</b></p><p> 本
63、課題主要是實現(xiàn)對溫度進行多點同時測量并準確顯示。整個系統(tǒng)由單片機控制,要能夠接受傳感器的數(shù)據(jù)并顯示出來,可以從鍵盤輸入命令,系統(tǒng)根據(jù)命令選擇對應的傳感器,并由驅動電路驅動溫度顯示,對異常情況進行報警。</p><p><b> 2、心得體會</b></p><p> 本次設計過程中通過老師的引導和自己查閱部分專業(yè)書籍,我基本了解了單片機設計的流程和部分注意事項,并
64、大致掌握了protel的使用。但是也發(fā)現(xiàn)很多意想不到的問題,比如編程能力差,工程實踐能力差,設計細節(jié)沒有注意到,基礎理論掌握不扎實,應用與理論嚴重脫節(jié)。但是通過這次課程的設計,將課本的知識實際應用,擺脫考試的局限,鍛煉自己的解決問題的能力,獨立思考能力。本課題使我熟悉了單片機設計原則,對51系列單片機內部構造、與其它芯片的接口技術及其工作情況有了更進一步了解,雖然是很簡單的運用,但比為了考試而瞬時記憶的知識牢固多了,工作需要獨立解決問題
65、的的能力,所以這種機會還是多多益善。</p><p><b> 六、考文獻參</b></p><p> [1]周慈航著·單片機程序設計基礎[M]·北京:北京航空航天大學出版社,2003</p><p> [2]方佩敏編著·智能化集成溫度傳感器原理與應用[M]·北京:電子工業(yè)出版社,2002</
66、p><p> [3]張毅剛主編·單片機原理及應用[M]·北京:高等教育出版社,2008</p><p> [4]李道玲,李玲,朱艷編著·傳感器電路分析與設計[M]·武漢:武漢大學出版社,2003</p><p> [5]劉篤人,韓保軍編著。傳感器及應用技術[M]·西安:西安電子科技大學出版社,2003</p&
67、gt;<p> [6]陳小忠等,單片機接口技術實用子程序·北京:人民郵電出版社,2005</p><p> [7]李群芳編著 ,單片機原理、接口及應用—嵌入式系統(tǒng)計數(shù)基礎·北京:清華大學出版社</p><p> [8]方佩敏編著·智能化集成溫度傳感器原理與應用[M]·北京:電子工業(yè)出版社,2002</p><p
68、><b> 七、附錄</b></p><p><b> 1系統(tǒng)源程序</b></p><p> ;****************************************************************</p><p><b> ;常數(shù)定義</b></p&g
69、t;<p> ;****************************************************************</p><p> TMEL EQU 0E0H ;20ms,定時器0時間常數(shù)</p><p> TMEH EQU 0B1H</p>
70、<p> TMEPHEAD EQU 36H</p><p> ;****************************************************************</p><p><b> ;工作內存定義</b></p><p> ;****************
71、************************************************</p><p> BITST DATA 20H</p><p> TIMEISOK BIT BITST.1</p><p> TEMPONEOK BIT BITST.2&
72、lt;/p><p> TEMPL DATA 26H</p><p> TEMPH DATA 27H</p><p> TEMPHC DATA 28H</p><p> TEMPLC DATA 29H</
73、p><p> ;****************************************************************</p><p><b> ; 引腳定義</b></p><p> ;****************************************************************
74、</p><p> TEMPDIN BIT P3.7</p><p> ;****************************************************************</p><p><b> ; 中斷向量區(qū)</b></p><p> ;*********
75、*******************************************************</p><p> ORG 000H</p><p> LJMP START</p><p> ORG 00BH</p><p> LJMP T0IT&
76、lt;/p><p> ;****************************************************************</p><p><b> ;系統(tǒng)初始化</b></p><p> ;*************************************************************
77、***</p><p> ORG 100H</p><p> START: MOV SP,#60H</p><p> CLSMEM: MOV R0,#20H</p><p> MOV
78、 R1,#60H</p><p> CLSMEM1: MOV @R0,#00H</p><p> INC R0</p><p> DJNZ R1,CLSMEM1</p><p> MOV TMOD,#0
79、0100001B </p><p> MOV TH0,#TIMEL</p><p> MOV TL0,#TIMEH</p><p> SJMP INIT</p><p> ERROR: NOP</p>&l
80、t;p> LJMP START</p><p><b> NOP</b></p><p> INIT: NOP</p><p> SETB ET0</p><p> SETB TR0</p><p> SE
81、TB EA</p><p> MOV PSW,#00H</p><p> CLR TEMPONEOK</p><p> LJMP MAIN</p><p> ;*******************************************************
82、*********</p><p> ; 定時器0中斷服務程序</p><p> ;****************************************************************</p><p> T0IT: PUSH PSW</p><p> MOV
83、 PSW,#10H</p><p> MOV TH0,#TIMEH</p><p> MOV TL0,#TIMEL</p><p> INC R7</p><p> CJNE R7,#32H,T0ITI</p><p> MOV
84、 R7,#00H</p><p> SETB TIMEISOK</p><p> TOIT1: POP PSW</p><p><b> RETI</b></p><p> ;*********************************
85、*******************************</p><p><b> ; 主程序</b></p><p> ;****************************************************************</p><p> MAIN: LCALL D
86、ISP1</p><p> JNB TIME1SOK,MAIN</p><p> CLR TIME1SOK</p><p> JNB TEMPONEOK,MAIN2</p><p> LCALL READTEMP1</p><p> L
87、CALL CONVTEMP</p><p> LCALL DISPBCD</p><p> LCALL DISP1</p><p> MAIN2: LCALL READTEMP</p><p> SETB TEMPONEOK</p>
88、;<p> LJMP MAIN</p><p> ;****************************************************************</p><p> ;****************************************************************</p>
89、<p><b> ;子程序區(qū)</b></p><p> ;****************************************************************</p><p> ; RESET DS18B20</p><p> ;*********************************
90、*******************************</p><p> INITDS1820: SETB TEMPDIN</p><p><b> NOP </b></p><p><b> NOP</b></p><p> CLR
91、TEMPDIN</p><p> MOV R6,#0A0H</p><p> DJNZ R6,$</p><p> MOV R6,#0A0H</p><p> DJNZ R6,$</p><p> SETB TEMPDIN<
92、/p><p> MOV R6,#32H</p><p> DJNZ R6,$</p><p> MOV R6,#3CH</p><p> LOOP1820: MOV C,TEMPDIN</p><p> JC
93、 INITDS1820OUT</p><p> DJNZ R6,LOOP1820</p><p> MOV R6,#064H</p><p> DJNZ R6,$</p><p> SJMP INITDS1820</p><p><b
94、> RET</b></p><p><b> ;</b></p><p> INITDS1820OUT: SETB TEMPDIN</p><p><b> RET</b></p><p> ; *************************
95、***************************************</p><p> ; 讀DS18B20的程序,從DS18B20中讀出一個字節(jié)的數(shù)據(jù)</p><p> ; ****************************************************************</p><p> READDS18
96、20: MOV R7,#08H</p><p> SETB TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p> READDS1820LOOP: CLR TEMPDIN<
97、;/p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB TEMPDIN</p><p> MOV R6,#07H</p&
98、gt;<p> DJNZ R6,$</p><p> MOV C,TEMPDIN</p><p> MOV R6,#3CH</p><p> DJNZ R6,$</p><p> RRC A</p><p> SETB
99、TEMPDIN</p><p> DJNZ R7,READDS1820LOOP</p><p> MOV R6,#3CH</p><p> DJNZ R6,$</p><p><b> RET</b></p><p> ; **************
100、**************************************************</p><p> ; 寫DS18B20的程序,從DS18B20中寫一個字節(jié)的數(shù)據(jù)</p><p> ; ****************************************************************</p><p> W
101、RITEDS1820: MOV R7,#08H</p><p> SETB TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p> WRITEDS1820LOP: CLR
102、 TEMPDIN</p><p> MOV R6,#07H</p><p> DJNZ R6,$</p><p> RRC A</p><p> MOV TEMPDIN,C</p><p> MOV R6,#34H</p
103、><p> DJNZ R6,$</p><p> SETB TENPDIN</p><p> DJNZ R7,WRITEDS1820LOP</p><p><b> RET</b></p><p> ; ********************
104、********************************************</p><p> ; READ TEMP</p><p> ; ****************************************************************</p><p> READTEMP: LCALL
105、 INITEDS1820</p><p> MOV A,#0CCH</p><p> LCALL WRITEDS1820</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p> MOV A,#
106、44H</p><p> LCALL WRITEDS1820</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p><b> RET</b></p><p> READTEMP1: LCA
107、LL INITDS1820</p><p> MOV A,#0CCH</p><p> LCALL WRITEDS1820</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p> MOV
108、 A,#0BEH</p><p> LCALL WRITEDS1820</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p> MOV R5,#09H</p><p> MOV R0,
109、#TEMPHEAD</p><p> MOV B,#00H</p><p> READTEMP2: LCALL READDS1820</p><p> MOV @R0,A</p><p> INC R0</p><p> READT
110、EMP21: LCALL CRC8CAL</p><p> DJNZ R5,READTEMP2</p><p> MOV A,B</p><p> JNZ READTEMPOUT</p><p> MOV A,TEMPHEAD+0<
111、/p><p> MOV TEMPL,A</p><p> MOV A,TEMPHEAD+1</p><p> MOV TEMPH,A</p><p> READTEMPOUT: RET</p><p> ; *********************
112、*******************************************</p><p> ; 處理溫度BCD碼子程序</p><p> ; ****************************************************************</p><p> CONVTEAMP: MOV
113、 A,TEMPH</p><p> ANL A,#80H</p><p> JZ TEMPC1</p><p> CLR C</p><p> MOV A,TEMPL</p><p> CPL
114、 A</p><p> ADD A,#01H</p><p> MOV TEMPL,A</p><p> MOV A,TEMPH</p><p> CPL A</p><p> ADDC A,#00H<
115、;/p><p> MOV TEMPH,A</p><p> MOV TEMPHC,#0BH</p><p> SJMP TEMPCH</p><p> TEMPC1: MOV TEMPHC,#0AH</p><p&g
116、t; TEMPC11: MOV A,TEMPHC</p><p> SWAP A</p><p> MOV TEMPHC,A</p><p> MOV A,TEMPL</p><p> ANL A,#
117、0FH</p><p> MOV DPTR,#TEMPDOTTAB</p><p> MOVC A,@A+DPTR</p><p> MOV TEMPLC,A</p><p> MOV A,TEMPL</p><p>
118、; ANL A,#0F0H</p><p> SWAP A</p><p> MOV TEMPL,A</p><p> MOV A,TEMPH</p><p> ANL A,#0FH</p>
119、<p> SWAP A</p><p> ORL A,TEMPL</p><p> LCALL HEX2BCD1</p><p> MOV TEMPL,A</p><p> ANL A,#
120、0F0H</p><p> SWAP A</p><p> ORL A,TEMPHC</p><p> MOV TEMPHC,A</p><p> MOV A,TEMPL</p><p> ANL
121、 A,#0FH</p><p> SWAP A</p><p> ORL A,TEMPLC</p><p> MOV TEMPLC,A</p><p> MOV A,R7</p><p>
122、 JZ TEMPC12</p><p> ANL A,#0FH</p><p> SWAP A</p><p> MOV R7,A</p><p> MOV A,TEMPHC</p><
123、p> ANL A,#0FH</p><p> ORL A,R7</p><p> MOV TEMPHC,A</p><p> TEMPC12: RET</p><p> ; *****************************
124、***********************************</p><p> ; 小數(shù)部分碼表</p><p> ; ****************************************************************</p><p> TEMPDOTTAB: DB 00H, 01H, 01H, 02
125、H, 03H, 03H, 04H,04H,05H,06H</p><p> DB 06H,07H,08H,09H,09H</p><p> ; ****************************************************************</p><p> ; 顯示區(qū)BCD碼溫度值刷新子程序</p>&
126、lt;p> ; ****************************************************************</p><p> DISPBCD: MOV A,TEMPLC</p><p> ANL A,#0FH</p><p> MOV 70
127、H,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</p&
128、gt;<p> ANL A,#0FH</p><p> MOV 72H,A</p><p> MOV A,TEMPHC</p><p> SWAP A</p><p> ANL A,#0FH</p><p&
129、gt; MOV 73H,A</p><p> MOV A,TEMPHC</p><p> ANL A,#0F0H</p><p> CJNZ A,#010H,DISPBCD0</p><p> SJMP DISPBCD2</p&
130、gt;<p> DISPBCD0: MOV A,TEMPHC</p><p> ANL A,#0FH</p><p> JNZ DISPBCD2</p><p> MOV A,TEMPHC</p><p> SWA
131、P A</p><p> ANL A,#0FH</p><p> MOV 73H,#0AH</p><p> MOV 72H,A</p><p> DISPBCD2: RET</p><p> ; ******
132、*********************************************************</p><p> ; 顯示子程序</p><p> ; ****************************************************************</p><p> ; 顯示數(shù)據(jù)在70H—73
133、H單元內,用4位LED共陽數(shù)碼管顯示,</p><p> DISP1: MOV R1,#70H</p><p> MOV R5,#0FEH</p><p> PLAY: MOV P1,#0FFH</p><p> MOV
134、 A,R5</p><p> MOV P3,A</p><p> MOV A,@R1</p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV
135、 P1,A</p><p> MOV A,R5</p><p> JB ACC.1,LOOP5</p><p> CLR P1.7</p><p> LOOP5: LCALL DLIMS</p&g
136、t;<p> INC R1</p><p> MOV A,R5</p><p> JNB ACC.3,ENDOUT</p><p> RL A</p><p> MOV R5,A</p&
137、gt;<p> AJMP PLAY</p><p> ENDOUT: MOV P1,#0FEH</p><p> MOV P3,#0FEH</p><p><b> RET</b></p><p> TAB
138、: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH</p><p> ;共陽段碼表 “0” “1” “2” “3” “4” “5” “6” “7” “8” “9” “不亮” “—” </p><p> DL1MS: MOV R6,#14H</p>
139、<p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p>
140、<p> ; ****************************************************************</p><p> ; 單字節(jié)十六進制轉BCD</p><p> ; ****************************************************************</p><
141、p> 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
142、 AB</p><p> SWAP A</p><p> ORL A,B</p><p><b> RET</b></p><p> ; ****************************************************************&l
143、t;/p><p> ; Calculate CRC—8 Values. Uses The CCITT—8 Polynomial,Expressed As</p><p> ; X^8+X^5+X^4+1</p><p> ; **************************************************************
144、**</p><p> CRC8CAL: PUSH ACC</p><p> MOV R7,#08H</p><p> CRC8LOOP1: XRL A,B</p><p> RRC A</p><
145、;p> MOV A,B</p><p> JNC CRC8LOOP2</p><p> XRL A,#18H</p><p> CRC8LOOP2: RRC A</p><p> MOV B,A</p
146、><p> POP ACC</p><p> RR A</p><p> PUSH ACC</p><p> DJNZ R7,CRC8LOOP1</p><p> POP ACC</p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計---基于單片機溫度測量系統(tǒng)設計
- 單片機課程設計--多路數(shù)字溫度測量系統(tǒng)設計
- 單片機課程設計--單片機轉速測量系統(tǒng)
- 單片機課程設計報告---單片機秒表系統(tǒng)設計
- 基于單片機的多路溫度采集系統(tǒng)課程設計
- 單片機測量溫度儀器設計課程設計報告
- msp430單片機溫度單片機課程設計--溫度測試系統(tǒng)設計
- 單片機課程設計—基于51單片機的溫度監(jiān)控系統(tǒng)設計
- 單片機課程設計報告---單片機控制秒表系統(tǒng)
- 單片機課程設計報告---基于單片機的數(shù)字溫度計設計
- 單片機課程設計報告---溫度監(jiān)控系統(tǒng)設計
- 單片機課程設計--基于51單片機的溫度控制系統(tǒng)設計
- 單片機課程設計——基于51單片機的溫度控制系統(tǒng)設計
- 單片機課程設計--基于單片機的溫度數(shù)據(jù)采集系統(tǒng)設計
- 單片機課程設計報告---單片機數(shù)字時鐘
- 單片機課程設計報告--基于單片機的數(shù)字溫度計設計
- 單片機課程設計--基于51單片機的溫度控制系統(tǒng)設計
- 單片機課程設計---單片機數(shù)字顯示溫度計
- 單片機課程設計-- 基于單片機的數(shù)字溫度計設計
- 單片機課程設計--基于msp430單片機的溫度測量及顯示系統(tǒng)
評論
0/150
提交評論