智能儀器課程設(shè)計(jì)_第1頁(yè)
智能儀器課程設(shè)計(jì)_第2頁(yè)
智能儀器課程設(shè)計(jì)_第3頁(yè)
智能儀器課程設(shè)計(jì)_第4頁(yè)
智能儀器課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、智能儀器工程設(shè)計(jì)課程設(shè)計(jì)報(bào)告智能儀器工程設(shè)計(jì)課程設(shè)計(jì)報(bào)告姓 名 學(xué) 號(hào): 學(xué) 院: 系(專(zhuān)業(yè)): 題 目: 智能溫度測(cè)控儀 2012年05月10日- 30 -溫度控制系統(tǒng)的設(shè)計(jì)摘要: 本設(shè)計(jì)以AT89S51單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法。溫度信號(hào)由溫度芯片DS18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)。文中介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測(cè)電路、溫度控制電路、PC機(jī)與單片機(jī)串口通訊電路和一些接口電路 。單片機(jī)通過(guò)對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度控制的目的。文中還著重介紹了軟件設(shè)計(jì)部分,在這里采用模塊化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤(pán)掃描及按鍵處理程序、溫度信號(hào)

2、處理程序、繼電器控制程序、超溫報(bào)警程序。目 錄1 引言12 設(shè)計(jì)說(shuō)明13 工作原理14 方案設(shè)計(jì)與論證24.1 主控制部分 34.2 測(cè)量部分 35 各單元的設(shè)計(jì) 85.1 鍵盤(pán)單元85.2 溫度控制及超溫和超溫警報(bào)單元 105.3 溫度控制器件電路115.4 溫度測(cè)試單元 115.5七段數(shù)碼管顯示單元115.6 接口通訊單元 136 電源輸入單元147 程序設(shè)計(jì)157.1 概 述157.2 程序結(jié)構(gòu)分析 167.3 主程序 178. 測(cè)試分析 17結(jié)論 18附錄A使用說(shuō)明 19附錄B程序清單 191 引言溫度控制系統(tǒng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域 ,如家電、汽車(chē)、材料、電力電子等 ,常用的控制

3、電路根據(jù)應(yīng)用場(chǎng)合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對(duì)象的運(yùn)行性能一直以來(lái)都是控制人員和現(xiàn)場(chǎng)技術(shù)人員努力解決的問(wèn)題。這類(lèi)控制對(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)不良而影響正常工作。控制領(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)更加簡(jiǎn)單,而且減少了溫度測(cè)量轉(zhuǎn)

4、換時(shí)的精度損失,使得測(cè)量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于DS18B20芯片的小型化,更加可以通過(guò)單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實(shí)用性。更能串接多個(gè)數(shù)字溫度傳感器DS18B20進(jìn)行范圍的溫度檢測(cè)。2 設(shè)計(jì)說(shuō)明 設(shè)計(jì)基于單片計(jì)算機(jī)的溫度控制器,用于控制溫度。具體如下: 1. 溫度連續(xù)可調(diào),范圍為0-40 2. 超調(diào)量%20% 3. 溫度誤差±0.5 4. 人-機(jī)對(duì)話方便 3 工作原理溫度傳感器 DS18B20 從設(shè)備環(huán)境的不

5、同位置采集溫度,單片機(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í),單片機(jī)通過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟降溫設(shè)備 (壓縮制冷器) ,當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度的下時(shí) , 單片機(jī)通過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟升溫設(shè)備 (加熱器) 。 當(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ā)出警笛聲。 系統(tǒng)中將通過(guò)串口通訊連接PC機(jī)存儲(chǔ)溫度變化時(shí)的歷史數(shù)據(jù),以便

6、觀察整個(gè)溫度的控制過(guò)程及監(jiān)控溫度的變化全過(guò)程。PC機(jī)加熱器繼電器2DS18B20 溫度芯片數(shù)據(jù)傳輸鍵盤(pán)電路MAX232電平轉(zhuǎn)換芯片 片AT89S518BIT CPU數(shù)據(jù)顯示超溫報(bào)警輸入電源壓縮制冷器繼電器1 N3-1工作原理圖4 方案設(shè)計(jì)4.1 溫度測(cè)量部分方案DS18B20是DALLAS公司生產(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è)量范圍55125,可編程為912位A/

7、D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,業(yè)可采用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與多個(gè)DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。綜上,在本系統(tǒng)中我采用溫度芯片DS18B20測(cè)量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,且此元件線形較好。在0100攝氏度時(shí),最大線形偏差小于1攝氏度。該芯片直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。圖4-1溫度芯片DS18

8、B204.2 主控制部分方案AT89S51 是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用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)提供高性?xún)r(jià)比的解決方案。AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),3

9、2個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。由于系統(tǒng)控制方案簡(jiǎn)單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡(jiǎn)單和成本等因素 ,因此在本設(shè)計(jì)中選用 A TMEL 公司的 A T89S5

10、1單片機(jī)作為主控芯片。主控模塊采用單片機(jī)最小系統(tǒng)是由于 A T89S51芯片內(nèi)含有4 kB的 E2PROM ,無(wú)需外擴(kuò)存儲(chǔ)器 ,電路簡(jiǎn)單可靠 ,其時(shí)鐘頻率為 024 MHz ,并且價(jià)格低廉 ,批量?jī)r(jià)在 10元以?xún)?nèi)。其主要功能特性: 兼容MCS-51指令系統(tǒng) 4k可反復(fù)擦寫(xiě)(>1000次)ISP Flash ROM 32個(gè)雙向I/O口 4.5-5.5V工作電壓 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器 時(shí)鐘頻率0-33MHz 全雙工UART串行中斷口線 128x8 bit內(nèi)部RAM 2個(gè)外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級(jí)加密位 看門(mén)狗(WDT)電路 軟件設(shè)置空閑和省電功能 靈活的

11、ISP字節(jié)和分頁(yè)編程 雙數(shù)據(jù)寄存器指針 可以看出AT89S51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,看門(mén)狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘。同時(shí), AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式何在RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直接到一個(gè)硬件復(fù)位。AT89S51引角功能說(shuō)明Vcc:電源電壓GND:地P0口:P0口是一組8

12、位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(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é),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)校驗(yàn)期間,P1接收低

13、8位地址。表4-1為P1口第二功能。表4-1 P1口第二功能端口引腳第二功能P1.5MOSI(用于ISP編程)P1.6MISO(用于ISP編程)P1.7SCK(用于ISP編程)P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。在訪問(wèn)位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行:MOVX Ri 指令)時(shí),P2口線上的內(nèi)(也即特殊功能寄存器,在整個(gè)訪問(wèn)期間不改變。Flash 編程或校驗(yàn)時(shí),P2也接收高位地址和其它控制信

14、號(hào)。)P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時(shí),被外部拉低的P3口將用上拉電阻輸出電流I。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,P3口的第二功能如下表4-2。 表4-2 P3口的第二功能 端口功能第二功能端口引腳第二功能RXD(P3.0)串行輸入口T0(P3.4)定時(shí)/計(jì)數(shù)器0外部輸入TXD(P3.1)串行輸出口T1(P3.5)定時(shí)/計(jì)數(shù)器1外部輸入INT0(P3.2)外中斷0WR(P3.6)外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通INT1

15、(P3.3)外中斷1RD(P3.7)外部數(shù)據(jù)存儲(chǔ)器讀選通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)。ALE/PROG:當(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ì)特殊功能寄

16、存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位禁位后,只有一條MOVX 和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳伎被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。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)。EA/VPP:外部訪問(wèn)允許。欲使CPU公訪問(wèn)外部程序存儲(chǔ)器(地址0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高

17、電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上12V的編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。AT89S51單片機(jī)內(nèi)部構(gòu)造及功能:特殊功能寄存器:特殊功能寄存器的片內(nèi)空間分存如下圖3-2所示。這些地址并沒(méi)有全部占用,沒(méi)有占用的地址不可使用,讀這些地址將得到一個(gè)隨意的數(shù)值。而寫(xiě)這些地址單元將不能得到預(yù)期的結(jié)果。中斷寄存器:各中斷允許控制位于IE寄存器,5個(gè)中斷源的中斷優(yōu)先級(jí)控制位于IP寄存器。圖4-2為AUXR輔助寄存器。圖4-2 AUXR輔助寄存器雙時(shí)鐘指針寄存器:為方便地訪問(wèn)內(nèi)部和

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

19、如接至Vcc(電源),程序首先執(zhí)行從地址0000H0FFFH(4KB)內(nèi)部程序存儲(chǔ)器,再執(zhí)行地址為1000HFFFFH(60KB)的外部程序存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)器:在AT89S51的具有128字節(jié)的內(nèi)部RAM,這128字節(jié)可利用直接或間接尋址方式訪問(wèn),堆棧操作可利用間接尋址方式進(jìn)行,128字節(jié)均可設(shè)置為堆棧區(qū)空間??撮T(mén)狗定時(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ī)器周

20、期計(jì)數(shù),除硬件復(fù)位或WDT溢出復(fù)位外沒(méi)有其它方法關(guān)閉WDT,當(dāng)WDT溢出,將使RST引腳輸出高電平的復(fù)位脈沖。引腳圖詳見(jiàn)圖4-4 圖4-4 AT89S51單片機(jī)引腳圖 5 各單元的設(shè)計(jì) 5.1鍵盤(pán)單元單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專(zhuān)門(mén)的復(fù)位電路,以及專(zhuān)一的復(fù)位功能外,其它的按鍵或鍵盤(pán)都是以開(kāi)關(guān)狀態(tài)來(lái)設(shè)置控制功能或輸入數(shù)據(jù)。 鍵開(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án)非編碼鍵盤(pán)的單片機(jī)系統(tǒng)中,鍵盤(pán)處理程序首先執(zhí)行等待按

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

22、此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。鍵盤(pán)共有16個(gè)按鍵,用于方便設(shè)定溫度。90 , 數(shù)字按鍵,輸入數(shù)字0-9;確認(rèn) , 設(shè)置的確認(rèn),修改設(shè)置溫度時(shí)進(jìn)行確認(rèn);清除 設(shè)置的清除,修改設(shè)置溫度時(shí)進(jìn)行刪除;開(kāi)啟 開(kāi)啟電源關(guān)閉 關(guān)閉電源F1 顯示及設(shè)置轉(zhuǎn)換到溫度點(diǎn)1,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;F2顯示及設(shè)置轉(zhuǎn)換到溫度點(diǎn)2,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;表5-1鍵盤(pán)的按鍵分布P2.00123P2.14567P2.289F1F2P2.3清除開(kāi)啟關(guān)閉確定P2.4P2.5P2.6P2.75.2溫度控制及超溫和超溫警報(bào)單元當(dāng)采集的溫度經(jīng)處理后

23、超過(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ò)三極管驅(qū)動(dòng)揚(yáng)聲器發(fā)出警笛聲。具體電路連接如圖 5-1 所示。 圖5-1具體電路連接圖5.3溫度測(cè)試單元采用溫度芯片DS18B20。使用集成芯片,能夠有效的減小外界的干擾,提高測(cè)量的精度,

24、簡(jiǎn)化電路的結(jié)構(gòu)。5.4 溫度控制器件電路單片機(jī)通過(guò)三極管控制繼電器的通斷,最后達(dá)到控制電熱器的目的。當(dāng)溫度未達(dá)到要求時(shí),單片機(jī)發(fā)送高電平信號(hào)使三極管飽和導(dǎo)通,繼電器使電源與電熱器接通,電熱器加熱。溫度慢慢升高。當(dāng)溫度上升到預(yù)定溫度時(shí),單片機(jī)發(fā)送低電平信號(hào)三極管進(jìn)入截止?fàn)顟B(tài),繼電器的彈片打到另一側(cè),使電熱器與電源斷開(kāi),電熱器停止加熱。繼電器電路中有一個(gè)三極管8050的保護(hù)電路,即將一個(gè)二極管反向接到三機(jī)管的兩端。連接方法如圖5-2所示。圖5-2 單片機(jī)控制信號(hào)其原理是:當(dāng)繼電器突然斷電時(shí),繼電器產(chǎn)生很大的反向電流。二極管的作用是將反向電流分流,使流過(guò)三級(jí)管8050的電流比較小,達(dá)到保護(hù)三極管80

25、50的作用。5.5七段數(shù)碼管顯示單元 本部分電路主要使用七段數(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ù)摹娜祟?lèi)視覺(jué)的角度上看,就仿佛是全部數(shù)碼管同時(shí)顯示的一樣。具體見(jiàn)實(shí)際連線圖如圖5-3。當(dāng)清除端(CLEAR)為低電平時(shí),輸出端(QAQH)均為低電平。 串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng) A、B 任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端(CLOCK)脈沖

26、上升沿作用下 Q0 為低電平。當(dāng) A、B 有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài),邏輯封裝圖如圖5-3:圖5-3邏輯封裝圖引出端符號(hào):CLOCK 時(shí)鐘輸入端;CLEAR 同步清除輸入端(低電平有效);A,B 串行數(shù)據(jù)輸入端;QAQH 輸出端。真值表:表5-2表5-2 真值表圖5-4 實(shí)際連線圖5.6接口通訊單元 max232資料簡(jiǎn)介:該產(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)換的,該器件包

27、含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合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電平。主要特點(diǎn) :1、單5V電源工作2、 LinBiCMOSTM工藝技術(shù)3、 兩個(gè)驅(qū)動(dòng)器及兩個(gè)接收器4、 ±30V輸入電平5、低電源電流:典型值是8mA6、符合甚至優(yōu)于ANSI標(biāo)準(zhǔn) EIA/TIA-232-E及ITU推薦標(biāo)準(zhǔn)V.287、ESD保護(hù)大于MIL-STD-883(方 法3015)標(biāo)準(zhǔn)的2000V5 1單片機(jī)有一個(gè)全

28、雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿(mǎn)足一定的條件,比如電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我采用了專(zhuān)用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專(zhuān)用芯片更簡(jiǎn)單可靠。在本設(shè)計(jì)中采用了三線制連接串口,也就是說(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腳連接,串口通訊具體如

29、圖5-5圖5-5 通訊接口連線圖6 電源輸入部分 控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖6-1所示,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過(guò)電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來(lái)起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過(guò)低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功

30、能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓?jiǎn)栴}。圖6-1電源部分連線圖7 程序設(shè)計(jì)7.1 程序結(jié)構(gòu)分析主程序調(diào)用了5個(gè)子程序,分別是數(shù)碼管顯示程序、鍵盤(pán)掃描及按鍵處理程序、溫度信號(hào)處理程序、繼電器控制程序、單片機(jī)與PC機(jī)串口通訊程序。鍵盤(pán)掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤(pán)的輸入按鍵的識(shí)別及進(jìn)入相應(yīng)的程序。溫度信號(hào)處理程序:對(duì)溫度芯片送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。繼電器控制程序:控制繼電器動(dòng)作串口通訊程序:實(shí)現(xiàn)PC機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送

31、給PC機(jī)。圖7-1程序結(jié)構(gòu)圖7.2主程序程序開(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í)鍵盤(pán)輸入有效。有按鍵按下的時(shí)候進(jìn)入按鍵處理程序。按下“確定”按鍵后,程序進(jìn)入判斷程序和繼電器控制程序。繼電器動(dòng)作后,程序回到顯示當(dāng)前程序,并開(kāi)始循環(huán)。7.3 程序代碼(詳見(jiàn)附錄 程序清單)8. 測(cè)試分析1、測(cè)試環(huán)境環(huán)境溫度28攝氏度,室內(nèi)面積20平方米測(cè)試儀器:數(shù)字萬(wàn)用表,溫度計(jì)0-100攝氏度2、測(cè)試方法使系統(tǒng)運(yùn)行,采用溫度計(jì)同時(shí)測(cè)量室內(nèi)度變化情況,得出系統(tǒng)

32、測(cè)量的溫度。3、測(cè)試結(jié)果設(shè)定溫度由0攝氏度到40攝氏度標(biāo)定溫差<=1攝氏度 調(diào)節(jié)時(shí)間 15s(具體視現(xiàn)場(chǎng)情況)靜態(tài)誤差<=0.5攝氏度 最大超調(diào)量1攝氏度4、通過(guò)測(cè)試分析,對(duì)于實(shí)際室內(nèi)的溫度控制,可以再提出以下 2 點(diǎn)方法 :增加傳感器個(gè)數(shù),對(duì)各個(gè)溫度傳感器采集的數(shù)據(jù)進(jìn)行求算術(shù)平均,可得到較為準(zhǔn)確的溫度值。 對(duì)實(shí)際室內(nèi)的溫度控制,可采用功率較大的電爐,并且通過(guò)風(fēng)扇對(duì)箱內(nèi)溫度進(jìn)行充分?jǐn)嚭?,降溫設(shè)備可采用空氣壓縮機(jī)等制冷設(shè)備。 5、通過(guò)實(shí)驗(yàn)測(cè)試和分析,發(fā)現(xiàn)雖然傳感器的溫度采集精度最高可得到 0.06 ,但測(cè)試得到的數(shù)據(jù)最小間隔為 0.03 。通過(guò)分析,當(dāng)對(duì)浮點(diǎn)數(shù)求平均處理時(shí),遇到同一時(shí)

33、刻兩個(gè)傳感頭采集的溫度相差不大,使 0.06 時(shí)求出平均溫度變?yōu)?0.03 為了解該數(shù)據(jù)是否真實(shí),可采用一個(gè)高精度的數(shù)字溫度計(jì)測(cè)試,發(fā)現(xiàn)讀出的值與其基本一致,由此推斷如果在同一時(shí)間增加采集溫度的個(gè)數(shù),則可以進(jìn)一步提高溫度的精度。 結(jié) 論  在工業(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è)溫范圍為-1040,溫度檢測(cè)系統(tǒng)根據(jù)用戶(hù)設(shè)定的溫度范圍完成一定范圍的溫度控制。89S51的時(shí)鐘最高可達(dá)12M,I/O口可達(dá)32個(gè),高的時(shí)鐘頻率和豐富的

34、I/O,都為我們實(shí)現(xiàn)電路功能提供了非常有利的條件。同時(shí)也因?yàn)殚_(kāi)發(fā)環(huán)境友好,易用,方便,大大加快本系統(tǒng)設(shè)計(jì)開(kāi)發(fā)。本制作的設(shè)計(jì)中使用了繼電器控制的只是插座電路,因此,該系統(tǒng)的可擴(kuò)展性很強(qiáng)。隨著插入插座的電器的不同,可以實(shí)現(xiàn)許多其它功能的電路。附錄A:使用說(shuō)明1、將溫度控制箱上的開(kāi)關(guān)全部打到“關(guān)”的位置2、將溫度芯片插到溫度控制箱的指定位置3、用串口線將溫度控制箱與計(jì)算機(jī)相連,打開(kāi)相應(yīng)的應(yīng)用程序4、將用電器的插頭插到溫度控制箱的插座5、接上溫度控制箱的電源、并打開(kāi)開(kāi)關(guān)。在溫度控制箱上的數(shù)碼管顯示出當(dāng)前溫度6、按F1鍵,進(jìn)入溫度點(diǎn)1的設(shè)置。通過(guò)鍵盤(pán)設(shè)置所需要的溫度,然后按“確定”鍵。系統(tǒng)會(huì)將設(shè)置值與當(dāng)

35、前值進(jìn)行比較,通過(guò)溫度芯片的反饋,單片機(jī)控制加熱或冷卻水的溫度,使水的溫度穩(wěn)定在設(shè)置的溫度上。從而達(dá)到控制溫度的作用。7、 按F2鍵則相應(yīng)進(jìn)入溫度點(diǎn)2 的設(shè)置。與F1鍵的使用方法相同。8、 當(dāng)要關(guān)閉系統(tǒng)時(shí),先關(guān)掉開(kāi)關(guān),然后再拔掉電源??驁D表示:系統(tǒng)開(kāi)始工作,直至工作結(jié)束,關(guān)閉電源按F1或F2進(jìn)行溫度點(diǎn)1或溫度點(diǎn)2的設(shè)定確認(rèn)溫度控制箱上的開(kāi)關(guān)全部打到關(guān)的狀態(tài)接上溫度芯片,連接好電路,接上電源,打開(kāi)開(kāi)關(guān) 附錄B:程序清單主程序:ORG 0000H ;DS18B20.ASM DS18SL EQU 41H ;用于保存讀出溫度的低8位 DS18SH EQU 40H ;用于保存讀出溫度的高8位DS18FI

36、G 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 EQU 43H ;從低到高DS18CD3 EQU 44HDS18CD4 EQU 45HDS18CD5 EQU 46HDS18CD6 EQU 47HDS18CD7 EQU 48HDS18CD8 EQU 49HDS1864B EQU 4AHDS18ADS EQU 4BHDS18DQ

37、 EQU P1.0 ;30H,31H,32H,33H: X 個(gè)位 十位 XMOD7: MOV SP,#60HLCALL GET_TEMPER ;調(diào)用讀溫度子程序LCALL READCODEAJMP MOD7INIT_1820:    ;DS18B20初始化SETB DS18DQCLR DS18DQ 延時(shí),500US低MCMOV R7,#250DJNZ R7,$MOV R7,#150DJNZ R7,$SETB DS18DQ   ;釋放總線LCALL DELAY60US   ;15-60US的等待時(shí)間MOV R6,#4

38、SETDSDQ:LCALL DELAY60USJNB DS18DQ,SETDSDQFH ;60-240US內(nèi)是否有返回信號(hào),為0跳DJNZ R6,SETDSDQMOV R7,#250DJNZ R7,$CLR DS18FIGRETSETDSDQFH:SETB DS18FIGMOV R7,#250  DJNZ R7,$MOV R7,#100DJNZ R7,$RET;數(shù)據(jù)處理程序:TEMP0: INC AAJMP TEMP1TEMPCOV: MOV A,DS18SL ;數(shù)據(jù)處理子程序TEMPCOVMOV B,#16DIV ABJB B.3,TEMP0TEMP1: MOV 34H,

39、A ;將DS18SL的高四位右移四位,存入34H中(溫度值)MOV A,B ;將DS18SL的低四位X10/16得小數(shù)后一位數(shù).MOV B,#10MUL ABMOV B,#16DIV ABMOV 30H,A ;將小數(shù)后一位數(shù).存入30H中MOV A,DS18SH ;DS18SH中存放高8位數(shù),權(quán)重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

40、中MOV A,DS18SHMOV 33H,#10H ;JB ACC.7,EXIT7MOV 33H,#00HEXIT7: RETGET_TEMPER: ;讀出轉(zhuǎn)換后的溫度值,并顯示SETB DS18DQLCALL INIT_1820 ;先復(fù)位DS18B20JB DS18FIG,TSS2RET ;判斷DS1820是否存在?若DS18B20不存在則返TSS2: MOV DS18ADS,#0DS18JX:LCALL DS18CODPMOV A,DS18ADSADD A,#9MOV DS18ADS,ACJNE A,#63,DS18JXRETDS18CODP:LCALL MRCOVT ;轉(zhuǎn)換指定的DS18

41、B20的溫度LCALL MRRDTEDP ;顯示溫度RETTEMP:LCALL INIT_1820JB DS18FIG,NEXT4RETNEXT4:MOV DS18ADS,#9MOV A,#0CCH ;SKIP ROMLCALL WRITE_1820MOV A,#44H ;溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DELAY1SLCALL MRRDTEDPRET;寫(xiě)DS18B20的子程序(有具體的時(shí)序要求)WRITE_1820:     ;寫(xiě)DS18B20MOV R5,#8DS18JXWE:SETB DS18DQ   ;

42、初始化CLR DS18DQCLR DS18DQMOV R7,#5DJNZ R7,$ ;拉低15US內(nèi),寫(xiě)入數(shù)據(jù)CLR CRRC AMOV DS18DQ,CLCALL DELAY60US ;持續(xù)60USSETB DS18DQ   ;寫(xiě)完一個(gè)位DJNZ R5,DS18JXWERETREAD_1820_CODE:   ;讀取CODE 64位   MOV R4,#8   ;讀8次數(shù)   MOV R1,#DS18CD1   ;低位地址存在R1DS18JXRD3:MOV R5,#8

43、60;  ;8位數(shù)據(jù)DS18JXRD2:SETB DS18DQ  CLR DS18DQ   ;前兩句完成初始化NOPNOP    ;延時(shí)至少1USSETB DS18DQ   ;上升沿,并在,15US內(nèi)讀數(shù)MOV R7,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US   ;讀時(shí)序,最少60USDJNZ R5,DS18JXRD2MOV R1,AINC R1DJNZ R4,DS18JXRD3SETB DS18DQRET;讀DS18B20的程序

44、,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)READ_18200:   MOV R4,#2   ;讀兩次數(shù)   MOV R1,#DS18SL   ;低位地址存在R1DS18JXRD1:MOV R5,#8   ;8位數(shù)據(jù)DS18JXRD:SETB DS18DQ  CLR DS18DQ   ;前兩句完成初始化NOPNOP    ;延時(shí)至少1USSETB DS18DQ   ;上升沿,并在,15US內(nèi)讀數(shù)MOV R7

45、,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US   ;讀時(shí)序,最少60USDJNZ R5,DS18JXRDMOV R1,ADEC R1DJNZ R4,DS18JXRD1SETB DS18DQRETREAD_1820_1:    ;讀取1位SETB DS18DQ         CLR DS18DQCLR DS18DQCLR DS18DQSETB DS18DQMOV R7,#5DJNZ R7,$JB DS18DQ,WEFHLC

46、ALL DELAY10MSWEFH:LCALL DELAY60USRETREADCODE:    ;讀取64位ROM,并顯示出來(lái)SETB DS18DQLCALL INIT_1820JB DS18FIG,NEXTRETNEXT:MOV A,#33HLCALL WRITE_1820LCALL READ_1820_CODELCALL DISPLAYCDRETDS1864SEN:    ;送出64個(gè)位的數(shù)據(jù)MOV R4,#8MOV DPTR,#DS18TABDS1864SEN1:MOV A,DS1864BMOVC A,A+DPTRLCALL

47、WRITE_1820INC DS1864BDJNZ R4,DS1864SEN1RETMATCHROM:LCALL INIT_1820MOV A,#55H ;MARCH ROMLCALL WRITE_1820MOV DS1864B,DS18ADSLCALL DS1864SENRETMRCOVT:    ;匹配ROM并發(fā)出溫度轉(zhuǎn)換命令LCALL MATCHROMMOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DELAY1SRETMRRDTEDP:   ;匹配ROM并顯示轉(zhuǎn)換溫度LCALL INIT_1820LCA

48、LL MATCHROMMOV A,#0BEH ;發(fā)出讀取命令 LCALL WRITE_1820LCALL READ_18200LCALL TEMPCOVLCALL DISPLAY ;調(diào)用數(shù)碼管顯示子程序RET 鍵盤(pán)子程序: START:NOP ;程序開(kāi)始 LCALL CH_KEY ;檢查鍵盤(pán) AJMP START ;返回 CH_KEY:LCALL KS ;檢查有沒(méi)有按鍵按下 JNZ LK1 AJMP CH_KEY LK1:LCALL T12MS ACALL KS JNZ LK2 RET LK2:NOP LCALL SBIE ;按鍵識(shí)別子程序 MOV BUFF, A ;送緩沖區(qū)以識(shí)別是數(shù)字鍵還是功能鍵? LCALL CH_KF ;判斷按鍵功能。 JB FLAG1 ,KEY_FUN ;標(biāo)志為1,則為功能鍵 超溫報(bào)警程序:DIV:   MOV R2,#08H;1kz持續(xù)時(shí)間 DIV1:MOV R3,#0FAH DIV2:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論