基于單片機(jī)AT89C51控制的熱水器設(shè)計_第1頁
基于單片機(jī)AT89C51控制的熱水器設(shè)計_第2頁
基于單片機(jī)AT89C51控制的熱水器設(shè)計_第3頁
基于單片機(jī)AT89C51控制的熱水器設(shè)計_第4頁
基于單片機(jī)AT89C51控制的熱水器設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 摘摘 要要 熱水器控制系統(tǒng)以 AT89C52 單片機(jī)為檢測控制中心單元,采用 DSl2887 實時時鐘,不僅實現(xiàn)了時間、溫度和水位三種參數(shù)實時顯示功能,而且具有時間設(shè)定、溫度設(shè)定與控制功能??刂葡到y(tǒng)可以根據(jù)天氣情況利用輔助加熱裝置(電加熱器)使蓄水箱內(nèi)的水溫達(dá)到預(yù)先設(shè)定的溫度,從而達(dá)到 24 小時供應(yīng)熱水的目的。本設(shè)計主要采用了水位傳感器、溫度傳感器和單片機(jī) AT89C52 來實現(xiàn)控制??梢栽诓煌瑫r間進(jìn)行不同的溫度調(diào)節(jié),從而實現(xiàn) 24 小時熱水的控制。 摘摘 要要.11 1 總體方案設(shè)計總體方案設(shè)計.31.11.1 方案比較方案比較.31.21.2 方案選擇方案選擇.42 2單元模塊設(shè)計單元

2、模塊設(shè)計.42.12.1 各單元模塊功能介紹及電路設(shè)計各單元模塊功能介紹及電路設(shè)計.42.1.12.1.1 單片機(jī)系統(tǒng)設(shè)計單片機(jī)系統(tǒng)設(shè)計.42.1.22.1.2 控制器實時時鐘接口電路控制器實時時鐘接口電路.52.1.32.1.3 水位檢測和溫度檢測接口電路水位檢測和溫度檢測接口電路.62.1.42.1.4 DS18B20DS18B20 與單片機(jī)接口電路設(shè)計與單片機(jī)接口電路設(shè)計.72.1.42.1.4 鍵盤和顯示接口電路的設(shè)計鍵盤和顯示接口電路的設(shè)計.92.1.52.1.5 光電隔離與輔助加熱電路光電隔離與輔助加熱電路.103 3 軟件設(shè)計軟件設(shè)計.113.13.1 軟件設(shè)計原理及設(shè)計所用工具

3、軟件設(shè)計原理及設(shè)計所用工具.113.23.2 顯示子程序顯示子程序.133.33.3 主程序:主程序:.14附錄附錄 1 1:.19 1 1 總體方案設(shè)計總體方案設(shè)計 1.11.1方案比較方案比較方案一設(shè)計的太陽能熱水器控制系統(tǒng)以 89C52 單片機(jī)為檢測控制中心單元,采用DSl2887 實時時鐘,不僅實現(xiàn)了時間、溫度和水位三種參數(shù)實時顯示功能,而且具有時間設(shè)定、溫度設(shè)定與控制功能。控制系統(tǒng)可以根據(jù)天氣情況利用輔助加熱裝置(電加熱器)使蓄水箱內(nèi)的水溫達(dá)到預(yù)先設(shè)定的溫度,從而達(dá)到 24 小時供應(yīng)熱水的目的。實際應(yīng)用結(jié)果表明,該控制器和以往顯示儀相比具有性價比高、溫度控制與顯示精度高、使用方便和性

4、能穩(wěn)定等優(yōu)點。AT89C52AT89C52圖1-1 系統(tǒng)硬件結(jié)構(gòu)圖方案二采用系統(tǒng)的溫度采集選用PTl000鉑電阻溫度傳感器,采集到的電壓信號經(jīng)集成運放LM324放大到2.O一5.0伏之間,送入串行加轉(zhuǎn)換器11LCl543N,轉(zhuǎn)換結(jié)果由單片機(jī)處理,其電路原理如圖3所示設(shè)計時將加轉(zhuǎn)換器的參考電壓設(shè)置為vREF+=50V,VREF=1.5VLM324按照同相比例放大電路連接,則Vo=vi*(Rt/R+1)=0.5*(Rt/300+1)Rt值的變化表示了PtlooO溫度傳感器溫度的變化,每個溫度值對應(yīng)一定的轉(zhuǎn)換結(jié)果??梢栽诔绦蛑薪⒁粋€查找表,表中每個元素的地址即為轉(zhuǎn)換結(jié)果,元素值即為所對應(yīng)的溫度值。

5、 圖1-2 系統(tǒng)硬件結(jié)構(gòu)圖11.21.2方案選擇方案選擇方案一硬件電路簡單,程序設(shè)計復(fù)雜一些,但是我已經(jīng)使用開發(fā)工具 KEIL 用匯編語言對系統(tǒng)進(jìn)行了程序設(shè)計,用仿真軟件 PROTEUS 對系統(tǒng)進(jìn)行了仿真,達(dá)到了預(yù)期的結(jié)果。由此可見,該方案完成具有可行性,體現(xiàn)了技術(shù)的先進(jìn)性,經(jīng)濟(jì)上也沒有問題。2 2單元模塊設(shè)計單元模塊設(shè)計2.12.1各單元模塊功能介紹及電路設(shè)計各單元模塊功能介紹及電路設(shè)計物2.1.12.1.1單片機(jī)系統(tǒng)設(shè)計單片機(jī)系統(tǒng)設(shè)計 單片機(jī)系統(tǒng)由 AT89C52 和一定功能的外圍電路組成,包括為單片機(jī)提供復(fù)位電壓的復(fù)位電路,提供系統(tǒng)頻率的晶振。這部分電路主要負(fù)責(zé)程序的存儲和運行。上圖中

6、MCS-51 內(nèi)部時鐘方式電路外接晶體以及電容 C5 和 C6 構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響振蕩器頻率的高低、諧振器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。晶體可在1.2MHz12MHz 之間任選,電容 C5 和 C6 的典型值在 20pF100pF 之間選擇,但在60pF70pF 時振蕩器具有較高的頻率穩(wěn)定性。典型值通常選擇為 30pF 左右,但本電路采用 33pF。在設(shè)計印刷電路板時,晶體或陶瓷振蕩器和電容應(yīng)盡可能安裝的與單片機(jī) 芯片靠近,以減少寄生電容,更好的保證振蕩器穩(wěn)定和可靠的工作。為了提高溫度穩(wěn)定性,應(yīng)采用溫度穩(wěn)定性能

7、好的 NPO 高頻電容。AT89C52 的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。本設(shè)計中所用到的是上電按鈕復(fù)位。圖 2-2 單片機(jī)系統(tǒng)2.1.22.1.2 控制器實時時鐘接口電路控制器實時時鐘接口電路為實現(xiàn)熱水器 24 小時供應(yīng)熱水的目的,控制器必須有一個實時時鐘來為系統(tǒng)提供準(zhǔn)確的基準(zhǔn)時間;在軟件設(shè)計上則要實時地讀出當(dāng)前時間,同設(shè)定時間比較,以決定系統(tǒng)工作狀態(tài)。本系統(tǒng)采用美國 DALLAS 半導(dǎo)體公司最新推出的時鐘芯片 DS12887,該芯片采用 CMOS 技術(shù),把時鐘芯片所需的晶振和電池以及相關(guān)的電路集成到芯片內(nèi)部,并與 MC146818 管腳完全兼

8、容。DS12887 芯片具有微功耗、外圍接口簡單、精度高,工作穩(wěn)定可靠等優(yōu)點。它與 89C52 單片機(jī)的接口電路見下圖 2-2。 圖 2-2 DS12887 與單片機(jī)接口電路2.1.32.1.3 水位檢測和溫度檢測接口電路水位檢測和溫度檢測接口電路蓄水箱水位和溫度檢測部分是實現(xiàn)溫度智能控制的重要環(huán)節(jié),只有準(zhǔn)確地檢測出水位和溫度,才能通過軟件計算提前開始輔助加熱的預(yù)加熱時間。要實現(xiàn)輔助加熱提前時間的精確計算,最好是采用連續(xù)液位傳感器,但考慮系統(tǒng)成本,本設(shè)計仍采用分段式液位傳感器(通過軟件來提高精度),在水位顯示上也仍采用分段顯示。水位檢測部分的硬件連接如圖 2-3 所示。 圖 2-3 水位監(jiān)測及

9、顯示接口電路檢測原理如下:當(dāng)水箱中無水時,8 個非門均由 1M 歐姆電阻上拉成高電平, 所以圖中各“非”門(CD4069) 輸出均為低電平,LED1 LED8 均不亮。當(dāng)水位高于“非”門 1 的輸入探針時,由于水的導(dǎo)電作用,使“非”門 1 的輸入變?yōu)榈碗娖?,所以其輸出變?yōu)楦唠娖?,LED 點亮,依此類推。隨著水位的上升,各“非”門輸出相繼為高電平,LED 依次點亮。這里要注意的是上拉電阻不能選擇太小,因為水的電阻在 100k8 左右,所以上拉電阻選擇太小的話,將在水位升高時,無法把“非”門輸入端拉成低電平。實驗表明, 上拉電阻選擇在 500k1M 歐姆左右能很好地滿足電路的工作要求。為了使 89

10、C52 隨時能夠讀出當(dāng)前的水位情況,這里選用 74LS244 作為狀態(tài)輸入緩沖器。蓄水箱溫度檢測電路采用 DS18B20 芯片使其換成脈沖信號,送到 89C52 的 I/O 口(編程為計數(shù)器工作模式),通過測量輸出脈沖頻率的大小來換算成水溫高低信號。2.1.42.1.4 DS18B20DS18B20 與單片機(jī)接口電路設(shè)計與單片機(jī)接口電路設(shè)計基于 DS18B20 多點溫度測量系統(tǒng)以 AT89C51 為中心器件,以 KEIL 為系統(tǒng)開發(fā)平 臺,用 C 語言進(jìn)行程序設(shè)計,以 PROTEUS 作為仿真軟件設(shè)計而成的。DS18B20 是智能溫度傳感器,它的輸入/輸出采用數(shù)字量,以單總線技術(shù),接收主機(jī)發(fā)送

11、的命令,根據(jù) DS18B20 內(nèi)部的協(xié)議進(jìn)行相應(yīng)的處理,將轉(zhuǎn)換的溫度以串口發(fā)送給主機(jī)。主機(jī)按照通信協(xié)議用一個 IO 口模擬 DS18B20 的時序,發(fā)送命令(初始化命令、ROM 命令、功能命令)給 DS18B20,并讀取溫度值,在內(nèi)部進(jìn)行相應(yīng)的數(shù)值處理,用圖形液晶模塊顯示各點的溫度。在系統(tǒng)啟動之時,可以通過 44 鍵盤設(shè)置各點溫度的上限值,當(dāng)某點溫度超過設(shè)置值時,報警器開始報警,從而實現(xiàn)了對各點溫度的實時監(jiān)控。每個 DS18B20 有自己的序列號,因此本系統(tǒng)可以在一根總線上掛接了 4 個DS18B20,通過 CRC 校驗,對各個 DS18B20 的 ROM 進(jìn)行尋址,地址符合的DS18B20

12、才作出響應(yīng),接收主機(jī)的命令,向主機(jī)發(fā)送轉(zhuǎn)換的溫度。采用這種 DS18B20尋址技術(shù),使系統(tǒng)硬件電路更加簡單。如圖 2-4 圖 2-4 DS18B20 與單片機(jī)接口電路2.1.42.1.4 鍵盤和顯示接口電路的設(shè)計鍵盤和顯示接口電路的設(shè)計 下圖為 89C52 單片機(jī) P1 口構(gòu)成的中斷方式 4*4 鍵盤電路。P1.0-P1.3 為行線,P1.4-P1.7 為列線,行線與 4 輸入與門 74HC21 的一組輸入端相連,輸出端與外部中斷INT1 相連。16 個鍵號 Ki(I=0-15)次序如圖中標(biāo)注。圖 2-5 89C52 P1 口構(gòu)成的 4*4 中斷方式鍵盤 行列式鍵盤處理程序較為復(fù)雜,當(dāng)有鍵按下

13、時 74HC21 輸出端出現(xiàn)低電平請求中斷;在中斷服務(wù)程序中要再次確認(rèn)是否真有鍵按下,真有鍵按下時,再查出是哪個鍵按下,把該鍵的鍵號送入堆棧保護(hù),等待鍵釋放后再將鍵號彈出 A 中。該鍵盤輸入處理程序的出口狀態(tài)是鍵號在 A 中。設(shè)計中斷程序時,先在主程序中將中斷系統(tǒng)初始化,并開中斷。在試驗演示中通常開中斷都設(shè)置循環(huán)等待。鍵盤和顯示電路是人機(jī)交互的重要手段??刂奇I是用戶干預(yù)系統(tǒng)運行的唯一接口,也是用戶比較關(guān)心的問題。為了實現(xiàn)控制器對時間與溫度的設(shè)定及顯示功能,串行顯示電路采用串入并出芯片74LS164驅(qū)動4位數(shù)碼管實現(xiàn)時間與溫度的靜態(tài)顯示。 該電路只使用89C52的3個端口,配接4片串入并出移位寄

14、存器74LS164 與1片三端可調(diào)穩(wěn)壓器LM317T。其中74LS164 的引腳Q0Q7為8位并行輸出端;引腳A、B 為串行輸入端;引腳CL K為時鐘脈沖輸入端,在CLK 脈沖的上升沿作用下實現(xiàn)移位,在CLK = 0 、清除端MR =1時,74LS164保持原來數(shù)據(jù)狀態(tài);MR =0 時,74LS164輸出清零,其顯示電路如圖3-5。其工作過程如下:89C52的串行口設(shè)定在方式0移位寄存器狀態(tài)下,串行數(shù)據(jù)由P3.0發(fā)送,移位時鐘由P3.1 送出。在移位時鐘的作用下,串行口發(fā)送緩沖器的數(shù)據(jù)一位一位地移入74LS164中。4片74LS164 串級擴(kuò)展為4個8 位并行輸出口,分別連接到4個LED顯示器

15、的段選端作靜態(tài)顯示。需要指出的是,由于74LS164 無并行輸出控制端,因而在串行輸入過程中,其輸出端的狀態(tài)會不斷變化,造成不應(yīng)顯示的字段仍有較暗的亮度,影響了顯示的效果。以往的做法是在74LS164 的輸出端加接4片鎖存器或三態(tài)門,使移位寄存器串行輸入數(shù)據(jù)時其輸出端的變化不反映到LED上,待串行輸入結(jié)束后再打開鎖存器或三態(tài)門,將穩(wěn)定的顯示數(shù)據(jù)送給LED。 本設(shè)計電路的獨特之處在于僅采用了1片三端可調(diào)穩(wěn)壓器LM317T,317T 的3、2 腳分別是電壓輸入、輸出端,317T 的1腳是電壓調(diào)整端,腳2輸出電壓隨腳1電壓而變化。腳1與接地電阻之間并一個NPN 三極管,它的基極受P1.7 口線控制,

16、串行輸入時P1.7 口線為高電平,三極管飽和導(dǎo)通使317T 的腳1約為0.3 V,腳2輸出電壓隨之下降到1.5 V,不足以使共陽極LED發(fā)光,故此時串行輸入的影響不會反映到LED上;串行輸入結(jié)束后,使P1.7口線為低電平,三極管截止,腳2輸出電壓因腳1電壓增高便上升到2.0V使LED正常發(fā)光。因此,1片三端可調(diào)穩(wěn)壓器LM317T起到了4片鎖存器的作用使LED 顯示不會閃爍。本電路的另一優(yōu)點是通過可調(diào)電位器P1可在線調(diào)整腳2的輸出電壓,使LED的顯示亮度均勻可調(diào),而且省掉了大量的LED限流電阻。2.1.52.1.5 光電隔離與輔助加熱電路光電隔離與輔助加熱電路圖 3-5 為太陽能熱水器光電隔離與

17、輔助加熱電路設(shè)計。當(dāng)室外光強(qiáng)不足(陰天、下雨)時,對水箱的水提前加熱是很必要的,這一電路恰好能完成這一功能。工作原理:當(dāng)單片機(jī) 89C52P2.1 口輸出高電平時,三極管 T1 導(dǎo)通,致使發(fā)光二極管發(fā)光,同時光敏三極管 T2 導(dǎo)通,繼電器閉合,電阻絲 R1R4 發(fā)熱,這樣就完成了加熱任務(wù),此電路雖然簡單,但在太陽能熱水器中是必不可少的。 圖 2-7 輔助加熱電路圖3 3 軟件設(shè)計軟件設(shè)計3.13.1 軟件設(shè)計原理及設(shè)計所用工具軟件設(shè)計原理及設(shè)計所用工具熱水器不論在什么樣的天氣里,都能夠在設(shè)定的時間向用戶提供設(shè)定溫度的熱水,從而給用戶帶來便利。當(dāng)控制器在設(shè)定的時間使水溫達(dá)到設(shè)定溫度時,將通過聲光

18、報警提醒用戶。根據(jù)這一要求,控制器軟件設(shè)計采用模塊化結(jié)構(gòu),包括主程序、鍵盤中斷子程序、DS12887 更新周期結(jié)束中斷子程序、LED 顯示子程序和提前加熱時間計算子程序等。系統(tǒng)主程序主要完成溫度和水位的檢測以及進(jìn)行輔助加熱時間預(yù)算和一些初始化功能。在主程序中采用了查表方法進(jìn)行輔助加熱提前量預(yù)算。系統(tǒng)主程序流程圖如圖所示。 圖 3-1 系統(tǒng)程序流程圖對于溫度和時間設(shè)定, 每次設(shè)定結(jié)束后, 就將設(shè)定值存入 DS12887 的非易失性 RAM中,下次開機(jī)時進(jìn)行讀取。這樣作至少有兩個優(yōu)點:一是系統(tǒng)在不進(jìn)行設(shè)定時,就認(rèn)定該設(shè)定值和先前一次一樣,解決了每次開機(jī)總要從頭設(shè)定的問題,另一個是若系統(tǒng)在運行中間停

19、電而再次來電時,可以不用重新設(shè)定, 就能按原設(shè)定值對溫度進(jìn)行控制,增強(qiáng)了控制器適應(yīng)外界變化的能力。對提前加熱時間的計算,則是系統(tǒng)能否實現(xiàn)預(yù)定功能的重要一環(huán)。因為系統(tǒng)采用分段式水位檢測,若采用能量守恒的方法對提前加熱時間進(jìn)行預(yù)算,也同樣得不到精確的結(jié)果。為了避開繁瑣的計算過程,本系統(tǒng)中采用了模糊控制思想,使用了如下一些控制語句:IF 水位高 AND 溫度差大 THEN 加熱時間長IF 水位適中 AND 溫度差適中 THEN 加熱時間適中IF 水位低 AND 溫度差低 THEN 加熱時間少采用這種思想后,可以用實驗方法獲得各種情況下需要加熱的時間, 編制成表格。 使用時,只要查表獲得提前加熱時間就

20、行了。顯然,表格分得越細(xì),控制就越準(zhǔn)確。本控制器采用溫差每等于 5為一格, 就能滿足控制要求了。為了減小誤差,試驗表明,可以采用如圖 的方法。 圖 3-2 水位監(jiān)測處理示意圖實驗中,用水位達(dá)到 B1 時的結(jié)果代替水位達(dá)到 A1 時的結(jié)果,B2 代替 A2,B3 代替A3,B4 代替 A4。這樣,CPU 讀入的 A1 水位查表后得到的預(yù)加熱時間是實驗中水位在B1 處的時間。經(jīng)過這種處理,會把由于分段檢測而產(chǎn)生的計算誤差減小一半,由原來的 h 變成了 h/2(h 為分段水位檢測間隙)。如果水箱水深為 40cm,分 8 段檢測,此種處理方法的計算將使水位誤差由原來的 5cm 變成了 2.5cm。這種

21、誤差對于民用的熱水器來說,已完全能夠滿足要求了。3.23.2顯示子程序顯示子程序分析表明,移位寄存器74LS164僅有串入并出作用沒有譯碼功能。因此,在編寫顯示驅(qū)動程序之前,首先需要計算列寫出與本電路對應(yīng)的LED段選碼 ,然后由89C52的P3.0口送入74LS164的串行輸入端,再并行輸出到LED 的段選端。需要指出的是,上面顯示電路采用TOS28106BHK型號的共陽極LED顯示器,根據(jù)PCB印制線路板的連線方便,其LED的8個段選端與74LS164的并行輸出口即8根段選線的連接沒有遵照通常的規(guī)律,而是如圖3-5所示的段排列為7、6、4、2、1、9、10、5,相應(yīng)的段選碼也要重新計算,如顯

22、示字符0的段選碼為11H。電路中設(shè)計了4位LED顯示器,其功能為:左首位為百位數(shù)或標(biāo)志位,左二位為十位數(shù),左三位為個位數(shù),左四位為小數(shù)點后的十分位數(shù)。據(jù)此,給出如圖所示的顯示子程序框圖。 圖 3-3 顯示子程序框圖3.33.3 主程序:主程序:ORG 000HJMP STARTSTART: Curtemp EQU 10H ;Curtemp 存儲地址 Pretemp EQU 11H ;Pretemp 存儲地址MOV TMOD, #53H LCALL InitDS12887 ;初始化 DS12887 時鐘芯片 SETB EA ;開 CPU 中斷 LCALL ReadTempandTime ;讀溫度

23、時間設(shè)定值 LCALL ReadWaterandPosition;讀水位高度 CLR C ;C 清零 SUB Curtemp,pretemp JC OffheatHeatcontinue: LCALL FUZZY ;預(yù)算提前加熱時間 LCALL DELAY LCALL Heat SJMP $OffHeat:CLR P2.1 RETI Heat: SETB P2.1 LCALL DELAY CLR C LCALL ReadTemp MOV A, Curtemp ADD A, #2H SUB A, Pretemp JNC KeepTemp JMP Heatcontinue LCALL Keepte

24、mpCON RETIInitDS12887: SETB P2。1 MOV DPTR, #0BH ;初始化 DS12887B 寄存器 MOV A, #22H ;置 DS12887 24 小時模式 MOVX DPTR, A ;允許報警中斷禁止其它中斷 MOV DPTR, #0AH ;初始化 DS12887 A 寄存器 MOVX A, #20H ;時鐘頻率 52.628KHZ,禁止 SQW MOV DPTR, #00H ;初始化時鐘 MOV A, #00H MOVX DPTR, A ;秒 MOV DPTR, #02H ;分 MOV DPTR, A MOV DPTR, #04H ;時 MOV A, #

25、12H MOV DPTR, A RETIReadTempandTime: LCALL ReadTemp LCALL ReadTime RETI ORG 0013H JMP KeyBoardINTKeyBoardINT:LED顯示子程序:DISI:SETB P1.7 ;滅顯示MOV R0, #SBCDMOV A, R0 ;取出要顯示的數(shù)ADD A, #2DH ;加上偏移量MOVC A , A+PC ;查表取出段選碼MOV SBUF, A ;送出顯示DL1:JNB TI, DL1 ;輸出完否?CLR TI ;完,清中斷標(biāo)志INC R0MOV A, R0ADD A, #21HMOVC A, A +

26、PCANL A, #OEFH ;個位加小數(shù)點MOV SBUF, ADL2: JNB TI, DL2CLR TIINC R0MOV A, R0 ADD A, #13HMOVC A, A+PCMOV SBUF, ADL3: JNB TI, DL3CLR TIMOV A, #0FFHMOV SBUF, ADL4: JNB TI, DL4CLR TICLR P1.7 ;亮顯示RETSEGTAB:DB 11H,0D7H,32HDB 92H,0D4H,98HDB 18H,0D3H,10H,0D0H鍵盤輸入主程序:MOV P1, #0FH ;鍵盤初始化,P1.0P1.3 置輸入方式,P1.4P1.7 為 0 狀態(tài)MOV IE, #84H ;開 CPU 中斷,開 INT1 中斷SJMP $ ;中斷等待中斷服務(wù)程序:ORG 0013 ;INT1 中斷入口地址LJMP IO51K16 ;從中斷入口轉(zhuǎn)移鍵盤處理程序 IO51K16IO51K16: CALL D10MS ;延時 10 秒LCALL KEYIN ;調(diào)鍵輸入檢查子程序JNZ LKOUT ;有鍵輸入,轉(zhuǎn)查鍵號RETI ;無鍵輸入,中斷返回LKOUT: MOV R2, #0EFH ;首列掃描字寫如 R2MOV R4, #00H ;首列偏移值如 R4CONU: MOV P1, R2 ;列掃描

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論