2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘要2</b></p><p>  Abstract3</p><p><b>  第一章 引言4</b></p><p>  第二章 設(shè)計(jì)要求和工作原理5</p><p><b>  2.1設(shè)計(jì)要求5</b></p>&

2、lt;p>  第三章 方案設(shè)計(jì)7</p><p>  3.1 溫度測(cè)量部分方案7</p><p>  3.2 主控制部分方案7</p><p>  第四章 各單元的設(shè)計(jì)14</p><p>  4.1鍵盤單元14</p><p>  4.2溫度控制及超溫和超溫警報(bào)單元16</p>&

3、lt;p>  4.3溫度測(cè)試單元16</p><p>  4.4 溫度控制器件電路16</p><p>  4.5七段數(shù)碼管顯示單元17</p><p>  4.7電源輸入部分20</p><p>  第五章 程序設(shè)計(jì)22</p><p>  5.1 程序結(jié)構(gòu)分析22</p><p

4、><b>  5.2主程序22</b></p><p>  5.3 程序代碼(詳見(jiàn)附錄 程序清單)23</p><p><b>  結(jié) 論24</b></p><p>  參 考 文 獻(xiàn)25</p><p><b>  致 謝26</b></p>

5、<p>  附錄1:使用說(shuō)明27</p><p>  附錄2:程序清單28</p><p><b>  摘要</b></p><p>  本設(shè)計(jì)以AT89S51單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法。溫度信號(hào)由溫度芯片DS18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)。文中介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測(cè)電路

6、、溫度控制電路、PC機(jī)與單片機(jī)串口通訊電路和一些接口電路 。單片機(jī)通過(guò)對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度控制的目的。文中還著重介紹了軟件設(shè)計(jì)部分,在這里采用模塊化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號(hào)處理程序、繼電器控制程序、超溫報(bào)警程序。</p><p>  關(guān)鍵詞:AT89S51單片機(jī) DS18B20溫度芯片 溫度控制 串口通訊</p><p><b&g

7、t;  Abstract</b></p><p>  This design take at89S51 monolithic integrated circuit as core temperature control system's principle of work and design method. The temperature signal by the temperature

8、chip DS18B20 gathering, and transmits by digital signal's way for the monolithic integrated circuit. In the article introduced this control system's hardware part, including: Temperature examination electric circ

9、uit, temperature-control circuit, PC machine and monolithic integrated circuit serial port communication channel and </p><p>  Keywords:AT89S51 Monolithic Integrated Circuit ;DS18B20 Temperature Chip;Tempera

10、ture Control;Serial Port Communication</p><p><b>  第一章 引言</b></p><p>  溫度控制系統(tǒng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應(yīng)用場(chǎng)合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對(duì)象的運(yùn)行性能一直以來(lái)都是控制人員和現(xiàn)場(chǎng)技術(shù)人員努力解

11、決的問(wèn)題。這類控制對(duì)象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡(jiǎn)單實(shí)用 ,但由于繼電器動(dòng)作頻繁 ,可能會(huì)因觸點(diǎn)不良而影響正常工作??刂祁I(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對(duì)象的模型難以建立,并且當(dāng)擾動(dòng)因素不明確時(shí),參數(shù)調(diào)整不便仍是普遍存在的問(wèn)題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更

12、加簡(jiǎn)單,而且減少了溫度測(cè)量轉(zhuǎn)換時(shí)的精度損失,使得測(cè)量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于DS18B20芯片的小型化,更加可以通過(guò)單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實(shí)用性。更能串接多個(gè)</p><p>  第二章 設(shè)計(jì)要求和工作原理</p>&l

13、t;p><b>  2.1設(shè)計(jì)要求</b></p><p>  設(shè)計(jì)基于單片計(jì)算機(jī)的溫度控制器,用于控制溫度。具體要求如下: </p><p>  1. 溫度連續(xù)可調(diào),范圍為0℃-40℃ </p><p>  2. 超調(diào)量σ%≤20% </p><p>  3. 溫度誤差≤±0.5℃ </p>

14、<p>  4. 人-機(jī)對(duì)話方便 </p><p><b>  2.2工作原理</b></p><p>  溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機(jī) AT89S51 獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境中一個(gè)比較穩(wěn)定的溫度值,再根據(jù)當(dāng)前設(shè)定的溫度上下限值,通過(guò)加熱和降溫對(duì)當(dāng)前溫度進(jìn)行調(diào)整。當(dāng)采集的溫度經(jīng)處理后超過(guò)設(shè)定溫度的上限時(shí)

15、,單片機(jī)通過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟降溫設(shè)備 (壓縮制冷器) ,當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度的下時(shí) , 單片機(jī)通過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟升溫設(shè)備 (加熱器) 。 </p><p>  當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時(shí)間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時(shí)候,單片機(jī)通過(guò)三極管驅(qū)動(dòng)揚(yáng)聲器發(fā)出警笛聲。 </p><p>  系統(tǒng)中將通過(guò)串

16、口通訊連接PC機(jī)存儲(chǔ)溫度變化時(shí)的歷史數(shù)據(jù),以便觀察整個(gè)溫度的控制過(guò)程及監(jiān)控溫度的變化全過(guò)程。</p><p><b>  2-1工作原理圖</b></p><p><b>  第三章 方案設(shè)計(jì)</b></p><p>  3.1 溫度測(cè)量部分方案</p><p>  DS18B20是DALLAS

17、公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強(qiáng)易配處理器等優(yōu)點(diǎn),特別適合用于構(gòu)成多點(diǎn)溫度測(cè)控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)(按9位二進(jìn)制數(shù)字)給單片機(jī)處理,且在同一總線上可以掛接多個(gè)傳感器芯片,它具有三引腳TO-92小體積封裝形式,溫度測(cè)量范圍-55~+125℃,可編程為9~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,業(yè)可采

18、用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與多個(gè)DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。</p><p>  綜上,在本系統(tǒng)中我采用溫度芯片DS18B20測(cè)量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,且此元件線形較好。在0—100攝氏度時(shí),最大線形偏差小

19、于1攝氏度。該芯片直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。</p><p>  圖4-1溫度芯片DS18B20</p><p>  3.2 主控制部分方案</p><p>  AT89S51 是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)

20、器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)

21、2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。</p><p>  此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝

22、形式,以適應(yīng)不同產(chǎn)品的需求。</p><p>  由于系統(tǒng)控制方案簡(jiǎn)單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡(jiǎn)單和成本等因素 ,因此在本設(shè)計(jì)中選用 A TMEL 公司的 A T89S51單片機(jī)作為主控芯片。主控模塊采用單片機(jī)最小系統(tǒng)是由于 A T89S51芯片內(nèi)含有4 kB的 E2PROM ,無(wú)需外擴(kuò)存儲(chǔ)器 ,電路簡(jiǎn)單可靠 ,其時(shí)鐘頻率為 0~24 MHz ,并且價(jià)格低廉 ,批量?jī)r(jià)在 10元以內(nèi)。</p>

23、<p><b>  其主要功能特性:</b></p><p>  兼容MCS-51指令系統(tǒng) 4k可反復(fù)擦寫(xiě)(>1000次)ISP Flash ROM</p><p>  32個(gè)雙向I/O口 4.5-5.5V工作電壓</p><p>  2個(gè)16位可編程定時(shí)/計(jì)數(shù)器

24、 時(shí)鐘頻率0-33MHz</p><p>  全雙工UART串行中斷口線 128x8 bit內(nèi)部RAM</p><p>  2個(gè)外部中斷源 低功耗空閑和省電模式</p><p>  中斷喚醒省電模式 3級(jí)加密位</p><p>  看門狗(WDT

25、)電路 軟件設(shè)置空閑和省電功能</p><p>  靈活的ISP字節(jié)和分頁(yè)編程 雙數(shù)據(jù)寄存器指針 </p><p>  可以看出AT89S51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,看門狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器

26、及時(shí)鐘。同時(shí), AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式何在RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直接到一個(gè)硬件復(fù)位。</p><p>  AT89S51引角功能說(shuō)明</p><p><b>  Vcc:電源電壓</b><

27、;/p><p><b>  GND:地</b></p><p>  P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端口。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié)

28、,而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p>  P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)校驗(yàn)期間,P1接收低8位地址。表3-1為P1口第二功能。</p><p>

29、  表3-1 P1口第二功能</p><p>  P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行:MOVX @Ri 指令)時(shí),P2口線上的內(nèi)(也即特殊功能寄存器,在整個(gè)訪問(wèn)期間

30、不改變。Flash 編程或校驗(yàn)時(shí),P2也接收高位地址和其它控制信號(hào)。)</p><p>  P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時(shí),被外部拉低的P3口將用上拉電阻輸出電流I。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,P3口的第二功能如下表3-

31、2。 </p><p>  表3-2 P3口的第二功能</p><p>  RST:復(fù)位輸入。當(dāng)振蕩工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期上高電平將使單片機(jī)復(fù)位。WDT益出將使該引腳輸出高電平,設(shè)置SFR AUXR 的 DISRTO 位(地址8EH)可打開(kāi)或關(guān)閉該功能。DISRTO 位缺省為RESET輸出高電平打開(kāi)狀態(tài)。</p><p>  ALE/PROG:

32、當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目地,要注意的是:第當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位禁位后,只有一條MOVX 和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳伎被微弱拉高,單片機(jī)

33、執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。</p><p>  PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,高有兩次有效的PSEN信號(hào)。</p><p>  EA/VPP:外部訪問(wèn)允許。欲使CPU公訪問(wèn)外部程序存儲(chǔ)器(地址0000H-FFFFH),EA端必

34、須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓Vpp。</p><p>  XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>

35、  AT89S51單片機(jī)內(nèi)部構(gòu)造及功能:</p><p>  特殊功能寄存器:特殊功能寄存器的片內(nèi)空間分存如下圖3-2所示。這些地址并沒(méi)有全部占用,沒(méi)有占用的地址不可使用,讀這些地址將得到一個(gè)隨意的數(shù)值。而寫(xiě)這些地址單元將不能得到預(yù)期的結(jié)果。</p><p>  中斷寄存器:各中斷允許控制位于IE寄存器,5個(gè)中斷源的中斷優(yōu)先級(jí)控制位于IP寄存器。圖3-2為AUXR輔助寄存器。</p&

36、gt;<p>  圖3-2 AUXR輔助寄存器</p><p>  雙時(shí)鐘指針寄存器:為方便地訪問(wèn)內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器,提供了兩個(gè)16位數(shù)據(jù)指針寄存儲(chǔ)器:PD0位于SFR區(qū)塊中的地址82H、83H和DP1位于地址84H、85H,當(dāng)SFR中的位DPS=0時(shí)選擇DP0,而DPS=1時(shí)選擇DP1。在使用前初始化DPS。</p><p>  圖3-3 雙時(shí)鐘指針寄存器</p&

37、gt;<p>  電源空閑標(biāo)志:電源空閑標(biāo)志(POF)在特殊功能寄存儲(chǔ)器SFR中PCON的第4位(PCON.4),電源打開(kāi)時(shí)POF置“1”,它可由軟件設(shè)置睡眠狀態(tài)并不為復(fù)位所影響。</p><p>  存儲(chǔ)器結(jié)構(gòu):MCS-51單片機(jī)內(nèi)核采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器空間分開(kāi)的結(jié)構(gòu),均具有64KB外部程序和數(shù)據(jù)的尋址空間。</p><p>  程序存儲(chǔ)器:如果EA引腳接地(GND)

38、,全部程序均執(zhí)行外部存儲(chǔ)器。在AT89S51,假如接至Vcc(電源+),程序首先執(zhí)行從地址0000H-0FFFH(4KB)內(nèi)部程序存儲(chǔ)器,再執(zhí)行地址為1000H-FFFFH(60KB)的外部程序存儲(chǔ)器。</p><p>  數(shù)據(jù)存儲(chǔ)器:在AT89S51的具有128字節(jié)的內(nèi)部RAM,這128字節(jié)可利用直接或間接尋址方式訪問(wèn),堆棧操作可利用間接尋址方式進(jìn)行,128字節(jié)均可設(shè)置為堆棧區(qū)空間。</p>&l

39、t;p>  看門狗定時(shí)器(WDT):WDT是為了解決CPU程序運(yùn)行時(shí)可能進(jìn)入混亂或死循環(huán)而設(shè)置,它由一個(gè)14bit計(jì)數(shù)器和看狗復(fù)位SFR(WDTRST)構(gòu)成。外部復(fù)位時(shí),WDT默認(rèn)為關(guān)閉狀態(tài),要打開(kāi)WDT,必按順序?qū)?1H和0E1H寫(xiě)到WDTRST寄存器,當(dāng)啟動(dòng)了WDT,它會(huì)隨晶體振蕩器在每個(gè)機(jī)器周期計(jì)數(shù),除硬件復(fù)位或WDT溢出復(fù)位外沒(méi)有其它方法關(guān)閉WDT,當(dāng)WDT溢出,將使RST引腳輸出高電平的復(fù)位脈沖。引腳圖詳見(jiàn)圖3-4<

40、;/p><p>  圖3-4 AT89S51單片機(jī)引腳圖 </p><p>  第四章 各單元的設(shè)計(jì) </p><p><b>  4.1鍵盤單元</b></p><p>  單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開(kāi)關(guān)狀態(tài)來(lái)設(shè)置控制功能或輸入數(shù)據(jù)。 </p>

41、<p>  鍵開(kāi)關(guān)狀態(tài)的可靠輸入 :為了去抖動(dòng)我采用軟件方法,它是在檢測(cè)到有鍵按下時(shí),執(zhí)行一個(gè)10ms的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下?tīng)顟B(tài),從而消除了抖動(dòng)影響</p><p>  在這種行列式矩陣鍵盤非編碼鍵盤的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識(shí)別哪一個(gè)按鍵按下。對(duì)鍵的識(shí)別通常有兩

42、種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。</p><p>  對(duì)照?qǐng)D示的4*4鍵盤,說(shuō)明線反轉(zhuǎn)法工作原理。首先辨別鍵盤中有無(wú)鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來(lái)判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會(huì)有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個(gè)鍵被按下是通過(guò)將列線逐列置低

43、電平后,檢查行輸入狀態(tài)來(lái)實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。</p><p>  鍵盤共有16個(gè)按鍵,用于方便設(shè)定溫度。</p><p>  … , 數(shù)字按鍵,輸入數(shù)字0----9;</p><p>  , 設(shè)置

44、的確認(rèn),修改設(shè)置溫度時(shí)進(jìn)行確認(rèn);</p><p>  設(shè)置的清除,修改設(shè)置溫度時(shí)進(jìn)行刪除;</p><p><b>  開(kāi)啟電源</b></p><p><b>  關(guān)閉電源</b></p><p>  顯示及設(shè)置轉(zhuǎn)換到溫度點(diǎn)1,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管</p><p&

45、gt;<b>  閃爍;</b></p><p>  顯示及設(shè)置轉(zhuǎn)換到溫度點(diǎn)2,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管</p><p><b>  閃爍;</b></p><p>  表5-1鍵盤的按鍵分布</p><p>  4.2溫度控制及超溫和超溫警報(bào)單元</p><p>

46、  當(dāng)采集的溫度經(jīng)處理后超過(guò)規(guī)定溫度上限時(shí),單片機(jī)通過(guò) P1.4 輸出控制信號(hào)驅(qū)動(dòng)三極管 D1 ,使繼電器 K1 開(kāi)啟降溫設(shè)備 ( 壓縮制冷設(shè)備 ) :當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度下限時(shí),單片機(jī)通過(guò) P1.5 輸出控制信號(hào)驅(qū)動(dòng)三極管 D2 ,使繼電器 K2 開(kāi)啟升溫設(shè)備 ( 加熱器1) 。當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時(shí)間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時(shí)候,單片機(jī)通過(guò)三

47、極管驅(qū)動(dòng)揚(yáng)聲器發(fā)出警笛聲。具體電路連接如圖 4-1 所示。</p><p>  圖4-1具體電路連接圖</p><p><b>  4.3溫度測(cè)試單元</b></p><p>  采用溫度芯片DS18B20。使用集成芯片,能夠有效的減小外界的干擾,提高測(cè)量的精度,簡(jiǎn)化電路的結(jié)構(gòu)。</p><p>  4.4 溫度控制器件

48、電路</p><p>  單片機(jī)通過(guò)三極管控制繼電器的通斷,最后達(dá)到控制電熱器的目的。</p><p>  當(dāng)溫度未達(dá)到要求時(shí),單片機(jī)發(fā)送高電平信號(hào)使三極管飽和導(dǎo)通,繼電器使電源與電熱器接通,電熱器加熱。溫度慢慢升高。</p><p>  當(dāng)溫度上升到預(yù)定溫度時(shí),單片機(jī)發(fā)送低電平信號(hào)三極管進(jìn)入截止?fàn)顟B(tài),繼電器的彈片打到另一側(cè),使電熱器與電源斷開(kāi),電熱器停止加熱。&l

49、t;/p><p>  繼電器電路中有一個(gè)三極管8050的保護(hù)電路,即將一個(gè)二極管反向接到三機(jī)管的兩端。連接方法如圖4-2所示。</p><p>  圖4-2 單片機(jī)控制信號(hào)</p><p>  其原理是:當(dāng)繼電器突然斷電時(shí),繼電器產(chǎn)生很大的反向電流。二極管的作用是將反向電流分流,使流過(guò)三級(jí)管8050的電流比較小,達(dá)到保護(hù)三極管8050的作用。</p>&l

50、t;p>  4.5七段數(shù)碼管顯示單元 </p><p>  本部分電路主要使用七段數(shù)碼管和移位寄存器芯片74LS164。單片機(jī)通過(guò)I2C總線將要顯示的數(shù)據(jù)信號(hào)傳送到移位寄存器芯片74LS164寄存,再由移位寄存器控制數(shù)碼管的顯示,從而實(shí)現(xiàn)移位寄存點(diǎn)亮數(shù)碼管顯示。由于單片機(jī)的時(shí)鐘頻率達(dá)到12M,移位寄存器的移位速度相當(dāng)快,所以我們根本看不到數(shù)據(jù)是一位一位傳輸?shù)?。從人類視覺(jué)的角度上看,就仿佛是全部數(shù)碼管同時(shí)顯示

51、的一樣。具體見(jiàn)實(shí)際連線圖如圖4-3。</p><p>  當(dāng)清除端(CLEAR)為低電平時(shí),輸出端(QA-QH)均為低電平。 串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng) A、B 任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端(CLOCK)脈沖上升沿作用下 Q0 為低電平。當(dāng) A、B 有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài),邏輯封裝圖如圖4-3:</p>&

52、lt;p><b>  圖4-3邏輯封裝圖</b></p><p>  引出端符號(hào):CLOCK 時(shí)鐘輸入端;CLEAR 同步清除輸入端(低電平有效);A,B 串行數(shù)據(jù)輸入端;QA-QH 輸出端。真值表:表4-2</p><p><b>  表4-2 真值表</b></p><p>  圖4-4 實(shí)際連線圖</p&

53、gt;<p>  4.6接口通訊單元 </p><p>  max232資料簡(jiǎn)介:</p><p>  該產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。由于電腦串口rs232電平是-10v +10v,而一般的單片機(jī)應(yīng)用系統(tǒng)的信號(hào)電壓是ttl電平0 +5v,max232就是用來(lái)進(jìn)行電平轉(zhuǎn)換的,該器件包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EI

54、A-232-F電平。</p><p>  該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。</p><p>  主要特點(diǎn) :1、單5V電源工作</p><p>  2、 LinBiCMOSTM工藝技術(shù)</p>

55、<p>  3、 兩個(gè)驅(qū)動(dòng)器及兩個(gè)接收器</p><p>  4、 ±30V輸入電平</p><p>  5、低電源電流:典型值是8mA</p><p>  6、符合甚至優(yōu)于ANSI標(biāo)準(zhǔn) EIA/TIA-232-E及ITU推薦標(biāo)準(zhǔn)V.28</p><p>  7、ESD保護(hù)大于MIL-STD-883(方 法3015)標(biāo)

56、準(zhǔn)的2000V</p><p>  5 1單片機(jī)有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡(jiǎn)單可靠。</p><p>  在本設(shè)計(jì)中采用了三線

57、制連接串口,也就是說(shuō)和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡(jiǎn)單的連接方法,但是對(duì)我來(lái)說(shuō)已經(jīng)足夠使用了,電路如下圖所示,MAX232的第10腳和單片機(jī)的11腳連接,第9腳和單片機(jī)的10腳連接,第15腳和單片機(jī)的20腳連接,串口通訊具體如圖4-5</p><p>  圖4-5 通訊接口連線圖</p><p><b>  4.7電源輸

58、入部分</b></p><p>  控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖6-1所示,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過(guò)電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。

59、

60、 </p><p>  由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來(lái)起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流

61、后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過(guò)低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓?jiǎn)栴}。</p><p>  圖4-6電源部分連線圖</p><p><b>  第五章 程序設(shè)計(jì)</b></p>

62、<p>  5.1 程序結(jié)構(gòu)分析</p><p>  主程序調(diào)用了5個(gè)子程序,分別是數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號(hào)處理程序、繼電器控制程序、單片機(jī)與PC機(jī)串口通訊程序。</p><p>  鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識(shí)別及進(jìn)入相應(yīng)的程序。</p><p>  溫度信號(hào)處理程序:對(duì)溫度芯片送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,進(jìn)行判

63、斷和顯示。</p><p>  數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。</p><p>  繼電器控制程序:控制繼電器動(dòng)作</p><p>  串口通訊程序:實(shí)現(xiàn)PC機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給PC機(jī)。</p><p><b>  圖5-1程序結(jié)構(gòu)圖</b></p><p>&

64、lt;b>  5.2主程序</b></p><p>  程序開(kāi)始的時(shí)候先設(shè)置初始化,然后就控制數(shù)碼管顯示當(dāng)前溫度。接著就判斷F1、F2按鍵是否被按下。按下F1進(jìn)入溫度控制點(diǎn)1的程序、按下F2進(jìn)入溫度控制點(diǎn)2的程序。程序控制設(shè)置溫度的兩個(gè)數(shù)碼管閃爍的,此時(shí)鍵盤輸入有效。有按鍵按下的時(shí)候進(jìn)入按鍵處理程序。按下“確定”按鍵后,程序進(jìn)入判斷程序和繼電器控制程序。繼電器動(dòng)作后,程序回到顯示當(dāng)前程序,并開(kāi)始

65、循環(huán)。</p><p>  5.3 程序代碼(詳見(jiàn)附錄 程序清單)</p><p><b>  結(jié) 論</b></p><p>  在工業(yè)生產(chǎn)和日常生活中,對(duì)溫度控制系統(tǒng)的要求,主要是保證溫度在一定溫度范圍內(nèi)變化,穩(wěn)定性好,不振蕩,對(duì)系統(tǒng)的快速性要求不高。在論文中簡(jiǎn)單分析了單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)過(guò)程及實(shí)現(xiàn)方法。本系統(tǒng)的測(cè)溫范圍為-10℃~40

66、℃,溫度檢測(cè)系統(tǒng)根據(jù)用戶設(shè)定的溫度范圍完成一定范圍的溫度控制。</p><p>  89S51的時(shí)鐘最高可達(dá)12M,I/O口可達(dá)32個(gè),高的時(shí)鐘頻率和豐富的I/O,都為我們實(shí)現(xiàn)電路功能提供了非常有利的條件。同時(shí)也因?yàn)殚_(kāi)發(fā)環(huán)境友好,易用,方便,大大加快本系統(tǒng)設(shè)計(jì)開(kāi)發(fā)。</p><p>  本制作的設(shè)計(jì)中使用了繼電器控制的只是插座電路,因此,該系統(tǒng)的可擴(kuò)展性很強(qiáng)。隨著插入插座的電器的不同,可以

67、實(shí)現(xiàn)許多其它功能的電路。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  1曹巧媛主編. 單片機(jī)原理及應(yīng)用(第二版). 北京:電子工業(yè)出版社,2002</p><p>  2全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì)編.第五屆全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編(2001), 北京:北京理工大學(xué)出版社,2003</p>

68、<p>  3何力民編. 單片機(jī)高級(jí)教程. 北京:北京航空大學(xué)出版社,2000</p><p>  4金發(fā)慶等編. 傳感器技術(shù)與應(yīng)用.北京機(jī)械工業(yè)出版社,2002</p><p>  5王錦標(biāo),方崇智.過(guò)程計(jì)算機(jī)控制.北京:清華大學(xué)出版社,1997;36~40</p><p>  6邵惠鶴.工業(yè)過(guò)程高級(jí)控制.上海:上海交通大學(xué)出版社,1997;58—62

69、,78—101</p><p>  7胡壽松.自動(dòng)控制原理.北京:國(guó)防工業(yè)出版社,2000;103—124</p><p>  8劉伯春.智能PID調(diào)節(jié)器的設(shè)計(jì)及應(yīng)用.電子自動(dòng)化,1995;(3):20~25</p><p>  9 Katsuhiko Ogata.Moden Control Engineering.Publishing house of elect

70、ronics industry,2000:1 96—202</p><p>  10 周潤(rùn)景,張麗娜.基于PROTEUS 的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京:航空航天</p><p>  大學(xué)出版社 ,2006.P321~P326</p><p>  11王忠飛,胥芳.MCS-51 單片機(jī)原理及嵌入式系統(tǒng)應(yīng)用[M].西安:西安電子科技大學(xué)出</p>

71、<p>  版社,2007.P268-273</p><p>  12 劉國(guó)鈞,陳紹業(yè),王鳳翥.圖書(shū)館目錄.第1版.北京:高等教育出版社,1957</p><p>  13 傅承義,陳運(yùn)泰,祁貴中.地球物理學(xué)基礎(chǔ).北京:科學(xué)出版社,1985,447</p><p>  14 華羅庚,王元.論一致分布與近似分析.中國(guó)科學(xué),1973(4):339~357

72、</p><p>  15 張筑生.微分半動(dòng)力系統(tǒng)的不變集研究:[學(xué)位論文],北京:數(shù)學(xué)系統(tǒng)學(xué)研究所,1983</p><p><b>  致 謝</b></p><p>  三年的讀書(shū)生活在這個(gè)季節(jié)即將劃上一個(gè)句號(hào),而于我的人生卻只是一個(gè)逗號(hào),我將面對(duì)又一次征程的開(kāi)始。在這三年的求學(xué)生涯中師長(zhǎng)、親友給與了我大力支持,在這個(gè)翠綠的季節(jié)我將邁

73、開(kāi)腳步走向遠(yuǎn)方,懷念,思索,長(zhǎng)長(zhǎng)的問(wèn)號(hào)一個(gè)個(gè)在求學(xué)的路途中被知識(shí)的舉手擊碎,而人生的思考才剛剛開(kāi)始。感謝我教書(shū)育人的老師,我不是你們最出色的學(xué)生,而你們卻是我最尊敬的老師。大學(xué)時(shí)代的老師治學(xué)嚴(yán)謹(jǐn),學(xué)識(shí)淵博,思想深邃,視野雄闊,為我營(yíng)造了一種良好的精神氛圍。授人以魚(yú)不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹(shù)立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會(huì)了對(duì)待知識(shí),走向社會(huì)的思考方式。在這里尤其要感謝xx老師,從論文題目的選定到

74、論文寫(xiě)作的指導(dǎo),經(jīng)由您悉心的點(diǎn)撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復(fù)疑無(wú)路,柳暗花明又一村”。 </p><p>  感謝父母,焉得諼草,言樹(shù)之背,養(yǎng)育之恩,無(wú)以回報(bào);感謝同學(xué)在我遇到困境時(shí)向我伸出援助之手,同窗之誼我們社會(huì)再續(xù);感謝這段時(shí)間對(duì)我?guī)椭o與關(guān)懷的叔叔,阿姨,是你們讓我看到了人間真情暖人心,激勵(lì)我時(shí)時(shí)刻刻努力,奮發(fā)向上,排除萬(wàn)難勇往直前。在論文即將完成之際,我的心情無(wú)法平靜,從開(kāi)始進(jìn)入課題到論文的

75、順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng)摯謝意! </p><p>  同時(shí)也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計(jì)的環(huán)境。 </p><p>  最后再一次感謝所有在畢業(yè)設(shè)計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué),以及在設(shè)計(jì)中被我引用或參考的論著的作者。</p><p><b>  附錄1:使用說(shuō)明</b></p>

76、;<p>  1、將溫度控制箱上的開(kāi)關(guān)全部打到“關(guān)”的位置</p><p>  2、將溫度芯片插到溫度控制箱的指定位置</p><p>  3、用串口線將溫度控制箱與計(jì)算機(jī)相連,打開(kāi)相應(yīng)的應(yīng)用程序</p><p>  4、將用電器的插頭插到溫度控制箱的插座</p><p>  5、接上溫度控制箱的電源、并打開(kāi)開(kāi)關(guān)。在溫度控制箱上

77、的數(shù)碼管顯示出當(dāng)前溫度</p><p>  6、按F1鍵,進(jìn)入溫度點(diǎn)1的設(shè)置。通過(guò)鍵盤設(shè)置所需要的溫度,然后按“確定”鍵。系統(tǒng)會(huì)將設(shè)置值與當(dāng)前值進(jìn)行比較,通過(guò)溫度芯片的反饋,單片機(jī)控制加熱或冷卻水的溫度,使水的溫度穩(wěn)定在設(shè)置的溫度上。從而達(dá)到控制溫度的作用。</p><p>  按F2鍵則相應(yīng)進(jìn)入溫度點(diǎn)2 的設(shè)置。與F1鍵的使用方法相同。</p><p>  當(dāng)要關(guān)

78、閉系統(tǒng)時(shí),先關(guān)掉開(kāi)關(guān),然后再拔掉電源。</p><p><b>  框圖表示:</b></p><p><b>  附錄2:程序清單</b></p><p><b>  主程序:</b></p><p>  ORG 0000H ;DS18B20.ASM DS18SL EQU

79、41H ;用于保存讀出溫度的低8位 DS18SH EQU 40H ;用于保存讀出溫度的高8位DS18FIG EQU 8H ;是否檢測(cè)到DS18B20標(biāo)志位A_BIT1 EQU 31H ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置B_BIT1 EQU 32H ;數(shù)碼管十位數(shù)存放內(nèi)存位置D_BIT1 EQU 35H ;數(shù)碼管百位數(shù)存放內(nèi)存位置DS18CD1 EQU 42H ;DS18CD1-DS18CD8暫存64位ROMDS18CD2

80、 EQU 43H ;從低到高DS18CD3 EQU 44HDS18CD4 EQU 45HDS18CD5 EQU 46HDS18CD6 EQU 47HDS18CD7 EQU 48HDS18CD8 EQU 49HDS1864B EQU 4AHDS18ADS EQU 4BHDS18DQ EQU P1.0 ;30H,31H,32H,33H: </p><p>  X 個(gè)位 十位 XMOD7: MOV

81、SP,#60HLCALL GET_TEMPER ;調(diào)用讀溫度子程序LCALL READCODEAJMP MOD7</p><p>  INIT_1820:    ;DS18B20初始化SETB DS18DQCLR DS18DQ ;延時(shí),500US低MCMOV R7,#250DJNZ R7,$MOV R7,#150DJNZ R7,$SETB DS18DQ&

82、#160;  ;釋放總線LCALL DELAY60US   ;15-60US的等待時(shí)間MOV R6,#4SETDSDQ:LCALL DELAY60USJNB DS18DQ,SETDSDQFH ;60-240US內(nèi)是否有返回信號(hào),為0跳DJNZ R6,SETDSDQMOV R7,#250DJNZ R7,$CLR DS18FIGRETSETDSDQFH:SETB DS18FIGMOV

83、R7,#250  DJNZ R7,$MOV R7,#100DJNZ R7,$RET;</p><p><b>  數(shù)據(jù)處理程序:</b></p><p>  TEMP0: INC AAJMP TEMP1TEMPCOV: MOV A,DS18SL ;數(shù)據(jù)處理子程序</p><p>  TEMPCOVMOV B,#

84、16DIV ABJB B.3,TEMP0TEMP1: MOV 34H,A ;將DS18SL的高四位右移四位,存入</p><p>  34H中(溫度值)MOV A,B ;將DS18SL的低四位X10/16得小數(shù)后</p><p>  一位數(shù).MOV B,#10MUL ABMOV B,#16DIV ABMOV 30H,A ;將小數(shù)后一位數(shù).存入30H中MOV A,DS18

85、SH ;DS18SH中存放高8位數(shù),權(quán)</p><p>  重16MOV B,#16MUL ABADD A,34H ;34H中存入溫度值的整數(shù)部分MOV B,#10DIV ABMOV 31H,B ;個(gè)位存入31H中MOV B,#10 ;DIV AB ;MOV 32H,B ;十位存入32H中MOV B,#10 ;DIV AB ;MOV 35H,B ;百位存入33H中MOV A,DS18SH

86、MOV 33H,#10H ;JB ACC.7,EXIT7MOV 33H,#00HEXIT7: RET</p><p>  GET_TEMPER: ;讀出轉(zhuǎn)換后的溫度值,并顯示SETB DS18DQLCALL INIT_1820 ;先復(fù)位DS18B20JB DS18FIG,TSS2RET ;判斷DS1820是否存在?若DS18B20不存在則返TSS2: MOV DS18ADS,#0DS18JX

87、:LCALL DS18CODPMOV A,DS18ADSADD A,#9MOV DS18ADS,ACJNE A,#63,DS18JXRETDS18CODP:LCALL MRCOVT ;轉(zhuǎn)換指定的DS18B20的溫度LCALL MRRDTEDP ;顯示溫度RETTEMP:LCALL INIT_1820JB DS18FIG,NEXT4RETNEXT4:MOV DS18ADS,#9MOV A,#0CCH ;S

88、KIP ROMLCALL WRITE_1820MOV A,#44H ;溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DELAY1SLCALL MRRDTEDPRET;寫(xiě)DS18B20的子程序(有具體的時(shí)序要求)WRITE_1820:     ;寫(xiě)DS</p><p>  據(jù)READ_18200:   MOV R4,#2

89、0;  ;讀兩次數(shù)   MOV R1,#DS18SL   ;低位地址存在R1DS18JXRD1:MOV R5,#8   ;8位數(shù)據(jù)DS18JXRD:SETB DS18DQ  CLR DS18DQ   ;前兩句完成初始化NOPNOP    ;延時(shí)至少1USSETB DS18DQ

90、60;  ;上升沿,并在,15US內(nèi)讀數(shù)MOV R7,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US   ;讀時(shí)序,最少60USDJNZ R5,DS18JXRDMOV @R1,ADEC R1DJNZ R4,DS18JXRD1SETB DS18DQRETREAD_1820_1:    ;讀取1位SETB DS18D

91、Q         CLR DS18DQCLR DS18DQCLR DS18DQSETB DS18DQMOV R7,#5DJNZ R7,$JB DS18DQ,WEFHLCALL DELAY10MSWEFH:LCALL DELAY60USRETREADCOD</p><p><b>  鍵盤子程序:&l

92、t;/b></p><p>  START:NOP ;程序開(kāi)始</p><p>  LCALL CH_KEY ;檢查鍵盤</p><p>  AJMP START ;返回</p><p>  CH_KEY:LCALL KS ;檢查有沒(méi)有按鍵按下</p>

93、<p><b>  JNZ LK1</b></p><p>  AJMP CH_KEY</p><p>  LK1:LCALL T12MS</p><p><b>  ACALL KS</b></p><p><b>  JNZ LK2</b></p

94、><p><b>  RET</b></p><p><b>  LK2:NOP</b></p><p>  LCALL SBIE ;按鍵識(shí)別子程序</p><p>  MOV BUFF, A ;送緩沖區(qū)以識(shí)別是數(shù)字鍵還是功能鍵?</p><p>  LCALL

95、CH_KF ;判斷按鍵功能。</p><p>  JB FLAG1 ,KEY_FUN ;標(biāo)志為1,則為功能鍵 超溫報(bào)警程序:DIV:   MOV R2,#08H;1kz持續(xù)時(shí)間 DIV1:MOV R3,#0FAH DIV2:CPL P3.3;輸出1khz方波    

96、LCALL D5ms;調(diào)用延時(shí)程序1     DJNZR3,DLV2;持續(xù)1秒     DJNZ R2,DIV1     MOV R2,#10H;2khz持續(xù)時(shí)間 DIV3:MOV R3,#0FAH DI4:CPL

97、60;P3.3;輸出2khz方波    LCALL D25ms;調(diào)用延時(shí)程序2    DJNZ R3,DIV4   DJNZ R2,DIV3     SIMP DIV;反復(fù)循環(huán) D5MS:MOV R7,#0FF

98、H;延時(shí)子程序1 LOOP:NOP     NOP     DJNZ R7,LOOP     RET D25MS:MOVR6,#0FFH;延時(shí)子程序2 LIN:DJNZ R6,LIN RET繼電器控制程序:STA

溫馨提示

  • 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. 眾賞文庫(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論