DZ250多點(diǎn)溫度檢測控制儀,dz250,多點(diǎn),溫度,檢測,控制,節(jié)制
長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 1 -第一章 概述本設(shè)計題目為“多點(diǎn)溫度檢測控制儀” ,是針對室溫設(shè)計的系統(tǒng),能對一個需要恒溫或者溫度變化范圍不是很大的環(huán)境進(jìn)行多點(diǎn)溫度檢測和控制。該系統(tǒng)可以檢測多個點(diǎn)的溫度,并且進(jìn)行控制和顯示。1.本系統(tǒng)的主要性能:(1) 利用可逆電機(jī)構(gòu)成位式恒速溫度調(diào)節(jié)系統(tǒng);(2) 一臺儀表可以同時檢測和控制多個點(diǎn)的溫度;(3) 通過鍵功能,可以顯示各個點(diǎn)的溫度值以及給定值;并且使用數(shù)字鍵能修改溫度給定值;2.主要技術(shù)指標(biāo):(1) 溫度控制范圍:20℃~25℃;(2) 控制精度: ±0.5℃;(3) 電源電壓: 220V,50Hz;長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 2 -第二章 系統(tǒng)方案論證與確定2.1、傳感器的選擇: (一)采用 DS1820 作為前端溫度傳感器DS1820 是美國 DALLAS 半導(dǎo)體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。與其它溫度傳感器相比,DS1820 具有以下特性:(1)獨(dú)特的單線接口方式,DS1820 在與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS1820 的雙向通訊(2)DS1820 支持多點(diǎn)組網(wǎng)功能,多個 DS1820 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測溫。(3)DS1820 在使用中不需要任何外圍元件。(4)溫范圍-55℃~+125℃,固有測溫分辨率 0.5℃。(5)測量結(jié)果以 9 位數(shù)字量方式串行傳送。在傳統(tǒng)的模擬信號遠(yuǎn)距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問題、多點(diǎn)測量切換誤差問題和放大電路零點(diǎn)漂移誤差問題等技術(shù)問題,才能夠達(dá)到較高的測量精度。為了克服上面提到的三個問題,采用了新型數(shù)字溫度傳感器 DS1820,在對其測溫原理進(jìn)行詳細(xì)分析的基礎(chǔ)上,提出了提高 DS1820 測量精度的方法,使DS1820 的測量精度由 0.5℃提高到 0.1℃以上,取得了良好的測溫效果。但是由于本系統(tǒng)測量的溫度范圍比較小,由于精度和量程的比值太大,所以不能很好的實(shí)現(xiàn)精確測量。盡管可以用軟件計算提高精度,但研發(fā)時間也會比較長。(二)采用 DS18B20 作為前端溫度傳感器DS18B20 是美國 DALLAS 半導(dǎo)體公司繼 DS1820 之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式??梢苑謩e在 93.75 ms 和 750 ms 內(nèi)完成 9 位和 12 位的數(shù)字量,并且從 DS18B20 讀出的信息或?qū)懭?DS18B20 的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的 DS18B20 供電,而無需額外電源。(1)獨(dú)特的單線接口方式:DS18B20 與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊。(2)在使用中不需要任何外圍元件。(3)可用數(shù)據(jù)線供電,電壓范圍:+3.0~+5.5 V。(4)測溫范圍:-55~+125 ℃。固有測溫分辨率為 0.5 ℃。(5)通過編程可實(shí)現(xiàn) 9~12 位的數(shù)字讀數(shù)方式。長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 3 -(6)用戶可自設(shè)定非易失性的報警上下限值。(7)支持多點(diǎn)組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測溫。(8)負(fù)壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 因而使用 DS18B20 可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。他在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較 DS1820 有了很大的改進(jìn),給用戶帶來了更方便的使用和更令人滿意的效果。(三)傳統(tǒng)的模擬式傳感器傳統(tǒng)的模擬傳感器,例如 AD590 等等很多類型的傳感器都需要大量的硬件,例如A/D、變送電路、放大器等等,不僅提高了成本,還會造成系統(tǒng)的不穩(wěn)定,增加干擾源。所以不是好的選擇。綜合上面的論述 DS18B20 是比較合適的選擇。2.2、控制算法的選擇:本系統(tǒng)的調(diào)節(jié)裝置是采用三位調(diào)節(jié)器,起輸出有三種狀態(tài),當(dāng)溫度超過上限時,啟動正驅(qū)動器,電機(jī)正轉(zhuǎn);當(dāng)溫度低于下限時,啟動逆驅(qū)動器,電機(jī)反轉(zhuǎn);當(dāng)溫度在上、下限之間時,兩個驅(qū)動器都不工作,電機(jī)停止。以此來控制加熱和制冷裝置。這種調(diào)節(jié)系統(tǒng)屬于斷續(xù)作用的調(diào)節(jié)器。連續(xù)作用的系統(tǒng)屬于一個閉環(huán)反饋系統(tǒng),需要控制算法來穩(wěn)定給定值與采樣值,利用兩者的偏差使控制對象保持在控制范圍內(nèi),而本系統(tǒng)是斷續(xù)作用的,只有三種狀態(tài),因此可直接進(jìn)行控制,不需要采用控制算法。2.3、單片機(jī)的選擇:在自動控制系統(tǒng)中,對單片機(jī)的要求主要有以下幾方面:(1) 在滿足系統(tǒng)性能的要求的同時,價格要盡量低;(2) 對外圍設(shè)備的要求盡量少,減少硬件開支;(3) 考慮它的應(yīng)用情況和兼容性,有利于硬件的更換;從以上幾個方面考慮,采用 89C51 作為該系統(tǒng)的核心元件。長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 4 -第三章 系統(tǒng)硬件設(shè)計一個單片機(jī)應(yīng)用系統(tǒng)的硬件設(shè)計主要包括兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如 ROM、RAM、I/O 口、定時/計數(shù)器、中斷系統(tǒng)等容易不滿足應(yīng)用系統(tǒng)的要求時,必須在片外擴(kuò)展,選擇適當(dāng)?shù)男酒O(shè)計相應(yīng)的電路。二是系統(tǒng)配置,即按照系統(tǒng)的功能要求配置外圍設(shè)備,如鍵盤、顯示器、打印機(jī)、A/D、D/A 轉(zhuǎn)換器等,要設(shè)計和市的接口電路。系統(tǒng)硬件框圖如圖.3.1:傳 感 器執(zhí)行機(jī)構(gòu)復(fù)位電路顯 示段譯碼驅(qū)動位譯碼驅(qū)動地址鎖存器鍵盤/顯示接口數(shù)據(jù)存儲器220V50Hz電源電磁干擾濾波器+5V 穩(wěn)壓電源鍵 盤看門狗電 路CPU89C51圖.3.1 系統(tǒng)硬件結(jié)構(gòu)圖系統(tǒng)的擴(kuò)展和配置設(shè)計應(yīng)遵循以下原則:(1) 盡量選擇典型電路,并符合單片機(jī)的常規(guī)用法;(2) 系統(tǒng)的擴(kuò)展與外圍設(shè)備配置的水平應(yīng)當(dāng)充分滿足應(yīng)用系統(tǒng)的功能要求,并留有適當(dāng)?shù)挠嗟兀员氵M(jìn)行二次開發(fā);(3) 硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一起考慮??紤]的原則是:軟件能實(shí)現(xiàn)長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 5 -的盡量用軟件實(shí)現(xiàn),以簡化硬件結(jié)構(gòu),但必須注意的是,由軟件實(shí)現(xiàn)硬件功能,其相應(yīng)時間要比直接用硬件實(shí)現(xiàn)的時間長,占用 CPU 時間,因此,選擇硬件是要考慮這些因素;(4) 整個系統(tǒng)中相關(guān)的器件要盡可能做到性能匹配;(5) 可靠性及抗干擾設(shè)計時硬件系統(tǒng)設(shè)計部可缺少的一部分,它包括芯片、器件選擇,光耦濾波,印刷電路板布線,通道隔離等;(6) 單片機(jī)接口電路較多時,必須考慮其驅(qū)動能力,驅(qū)動能力不足時,系統(tǒng)工作不可靠,解決的辦法是增加其驅(qū)動能力,增設(shè)驅(qū)動器,或者減少驅(qū)動功能,降低總線負(fù)載;3.1 89C51 芯片簡介89C51 是美國 ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS8 位單片機(jī)。片內(nèi)含 4K bytes 的可反復(fù)擦寫的只讀程序存儲器(PEROM)和 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器(CPU)和 Flash 存儲單元,功能強(qiáng)大AT89C51 單片機(jī)可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù):? 與 MCS-51 產(chǎn)品指令系統(tǒng)兼容? 4K 字節(jié)可重擦寫 Flash 閃? 1000 次擦寫中期? 全靜態(tài)操作:0Hz——24MHz? 三級加密程序存儲器? 128*8 字節(jié)內(nèi)部 RAM? 32 個可編程 I/O 口線? 2 個 16 位定時/計數(shù)器? 6 個中斷源? 可編程串行 UART 通道 長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 6 -圖 .3.2 89C51 引腳功能 3.1.1 引腳功能介紹89C 51 單片機(jī)采用 40 引腳雙列直插封裝方式。如圖.3.2。其引腳功能可分為三部分:(1) I/O 口線:P0,P1,P2,P3 共四個八位口。? P0 口——8 位準(zhǔn)雙向口。在單片機(jī)外擴(kuò)存儲器或 I/O 接口時,作為地址總線低 8 位 A7~A0 和數(shù)據(jù)總線 D7~D0。? P1 口——8 位準(zhǔn)雙向并行口。? P2 口——8 位準(zhǔn)雙向口。作為地址總線高 8 位 A15~A8,與 P0 口一起構(gòu)成 16 位地址總線。? P3 口——8 位準(zhǔn)雙向口。但每條引腳都有第二功能。見引腳圖3.1。對于 51 系列單片機(jī)來說,P3 口大多作為第二功能使用。(2) 控制口線共有 4 根。? ALE/PROG——外部地址低 8 位鎖存有效信號輸出線。在 CPU 訪問片外存儲器時用來鎖存 P0 口輸出的低 8 位地址,它是與地址鎖存器配合工作的一格控制信號。ALE 在每個機(jī)器周期輸出兩個正脈沖,是長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 7 -振蕩器頻率的 1/6,可作為其它芯片的外部時鐘。PROG 是對片內(nèi)EPROM 編程脈沖輸入端。? PSEN——片外 ROM 讀選通信號輸出端。 ? EA/Vpp——片外 ROM 選擇信號輸入端。EA=0 時,CPU 從片外 ROM 讀取指令;EA=1 時,CPU 從片內(nèi) ROM 讀取指令。Vpp 是對于內(nèi)有 EPROM來說的為編程電源,應(yīng)接+21V。? RST/Vpd——上電復(fù)位信號輸入端。當(dāng)它保持兩個機(jī)器周期高電平是可以完成復(fù)位操作。Vpd 為備用電源輸入端,當(dāng)主電源發(fā)生故障時,Vpd 將為 ROM 提供備用電源,保證信息不丟失。(3)電源及時鐘? Vcc——芯片電源電壓,+5 伏。? Vss——電源地線,工作時接地。? XTAL1,XTAL2——振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入、輸出端。內(nèi)部振蕩電路 外部震蕩電路圖.3.3長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 8 -3.1.2 89C51 片內(nèi)結(jié)構(gòu)如圖.3.4 所示。圖. 3.4 89C51 內(nèi)部結(jié)構(gòu)框圖長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 9 -3.1.3 總線結(jié)構(gòu)如圖.3.5控制總線地址總線圖.3.5 89C51 總線結(jié)構(gòu)圖89C51 單片機(jī)的管腳除了電源、復(fù)位、時鐘接入、用戶 I/O、部分 P3 口外,其余管腳都是為了擴(kuò)展而設(shè)置的,這些管腳構(gòu)成了三總線形式:(1)16 位地址總線:其尋址范圍是 216 =64Kb,地址為 0000H~FFFFH。低 8 位地址 A7~A0。由 P0 口提供,高 8 位地址 A15~A8 由 P2 口提供。由于 P0 口還要作數(shù)據(jù)線使用,所以 P0 口線輸出的低 8 位地址必須先用地址鎖存器鎖存,以防丟失。再進(jìn)行數(shù)據(jù)線 D7~D0 的操作,利用鎖存器輸出的地址代替原 P0 口輸出的地址。P2 口只作為地址線的高 8 位使用,故不需要外加鎖存器。(2)8 位數(shù)據(jù)總線:單片機(jī)片外數(shù)據(jù)總線 D7~D0 由 P0 口提供,用于 CPU 與外部交換數(shù)據(jù)、指令、或命令等。應(yīng)該連接到對外擴(kuò)展的 ROM、RAM 和 I/O 口等多個外圍芯片的數(shù)據(jù)線上。(3)控制總線:包括片外系統(tǒng)擴(kuò)展用控制線和片外信號對對單片機(jī)的控制線兩部分。系統(tǒng)擴(kuò)展用控制線有 WR、RD、PSEN。ALE 和 EA。片外對單片機(jī)的控制線有INT0、INT1、T0、T1 和 RST??刂凭€一旦有效,單片機(jī)相應(yīng)部件必須做出相應(yīng)的操INT0INT1T0T1RST89C51PSEHRDWR地址鎖存A15~A8A7~A0數(shù)據(jù)總線D7~D0長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 10 -作。3.1.4 系統(tǒng)時鐘89C51 單片機(jī)的時鐘產(chǎn)生方法有兩種,一是內(nèi)部方式,二是外部方式。本系統(tǒng)采用內(nèi)部方式見圖 3.2。外接石英晶體(或陶瓷諧振器)及電容 C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路,對外電容 C1、C2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用 30pF+/-10pF,而如使用陶瓷諧振器建議選擇 40pF+/-10F。3.2 89C51 外擴(kuò)數(shù)據(jù)存儲器 6116MCS-51 系列單片機(jī)內(nèi)部都有 128 個字節(jié) RAM。但是在實(shí)時數(shù)據(jù)存儲器采集系統(tǒng)中,僅靠片內(nèi)的是不夠的。需外擴(kuò) RAM。常用的數(shù)據(jù)存儲器有靜態(tài)的和動態(tài)的兩種。RAM 的擴(kuò)展性能有兩種:(1) RAM 芯片與其擴(kuò)展 I/O 口芯片實(shí)行統(tǒng)一編址。(2) 外部 RAM 與 EPRAOM 地址完全重疊,故兩者片外地址于數(shù)據(jù)總線可以并聯(lián)使用,用不同控制線和指令區(qū)分。如外擴(kuò) RAM 用 MOVX 指令生成讀和寫的有效信號。靜態(tài) RAM 6116 是 2K×8 位,24 條引腳,采用+5 伏供電,引腳如圖.3.6 所示。 圖.3.6 6116 引腳功能 靜態(tài)數(shù)據(jù)存儲器的管腳功能如表-1。89C51 與 RAM 連接時需要加入地址鎖存器74LS373,原因是 P0 口是三態(tài)雙向口,統(tǒng)稱數(shù)據(jù)總線口,因?yàn)橹挥性摽谀苤苯佑糜陂L春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 11 -對外部存儲器的讀寫操作。P0 口還用以輸出,故應(yīng)在外部加鎖存器,將地址鎖存,以防丟失。再進(jìn)行 D7~D0 數(shù)據(jù)操作,利用鎖存器地址代替 P0 口輸出地址。表-1 6116 引腳功能A10 ~A0 11 地址線IO7 ~IO0 8 位雙向數(shù)據(jù)線CE 片選線WE 寫允許線OE 讀允許線3.3 芯片 74LS373 介紹地址鎖存器可使用三態(tài)緩沖輸出的入口存儲器 74LS373,它的引腳如圖.3.7 所示:1 2010 11圖.3.7 74LS373 引腳功能當(dāng)三態(tài)門的使能信號線 OE 為低電平時,三態(tài)門處于導(dǎo)通狀態(tài),允許 Q 端輸出,當(dāng) OE 為高電平時,輸出三態(tài)門斷開,輸出端對外電路呈高阻狀態(tài)。因此 74LS373 用作地址鎖存器時,首先應(yīng)使三態(tài)門的使能端 OE 為低電平,這時當(dāng)外部輸入端為高電平時,鎖存器輸出(Q1~Q8 )狀態(tài)和輸入端(D1~ D8)狀態(tài)相同。當(dāng) G 端從高電平返回到低電平(下降沿)時,輸入端(D1~D8)的數(shù)據(jù)鎖存入 Q1~Q8 中。3.4 8155 芯片介紹3.4.1 8155 簡介:OE VccQ1 Q8D1 D8D2 D7Q2 Q7Q3 Q6D3 D6D4 5Q Q4 D5GND G長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 12 -芯片 8155 是 Intel 公司開發(fā)的具有以下特點(diǎn)的可編程并行 I/O 擴(kuò)展口。(1) 有兩個可編程 8 位并行口 A、B 和 6 位并行口 C。(2) 256 字節(jié)靜態(tài) RAM。(3) 一個 14 位減法定時/計數(shù)器。一片 8155 在外擴(kuò)三個 I/O 口的同時,還為用戶提供了 256 個字節(jié)的外部RAM 和定時/計數(shù)器,不需要一般芯片擴(kuò)展所要求的地址鎖存器,可以直接與單片機(jī)接口。3.4.2 8155 引腳功能8155 是 40 引腳的芯片,如圖.3.8 所示。圖.3.8 8155 引腳功能內(nèi)部結(jié)構(gòu)? CE——片選端,低電平有效;? RD、WR——RD 是 8155 的讀/寫命令輸入線,WR 為寫命令線,當(dāng) RD=0 和WR=1 時,8155 處于讀出數(shù)據(jù)狀態(tài);當(dāng) RD=1 和 WR=0 時,8155 處于寫入數(shù)據(jù)狀態(tài);? AD0~AD7——三態(tài)地址數(shù)據(jù)線,即是地址線,又是數(shù)據(jù)線,分時進(jìn)行工作;? ALE——地址鎖存允許信號;長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 13 -? IO/M——存儲器及 I/O 選擇線,當(dāng) IO/M=1 時 AD7 ~AD0線上地址為 I/O 接口地址。當(dāng) IO/M=0 時,AD 7 ~AD0線上的地址為鎖存器 RAM 的地址,其范圍是 00~FFH;? PA7~0——通用 I/O 線,用于傳送 A 口上的外設(shè)數(shù)據(jù),數(shù)據(jù)的傳送方向由8155 命令字決定;? PB7~0——通用 I/O 線,用于傳送 B 口上的外設(shè)數(shù)據(jù),數(shù)據(jù)的傳送方向由8155 命令字決定; ? PC5~0——為 I/O 數(shù)據(jù)/控制線,共有 6 條,在通用的 I/O 方式下,用作傳送 I/O 數(shù)據(jù);在選通 I/O 方式下,用作傳送命令/狀態(tài)信息; 見表-2;? TIMERIN——是計數(shù)器輸入線,其脈沖上升沿用于對 8155 片內(nèi) 14 位計數(shù)器減 1;? TIMEROUT——是計數(shù)輸出線,當(dāng) 14 位計數(shù)器從計滿回零時就可以在該線上輸出脈沖或方波,輸出信號的形狀與計數(shù)器工作方式有關(guān);表-2 C 口在兩種 I/O 工作方式下各位定義通用 I/O 方式 選通 I/O 方式C 口ALT1 ALT2 ALT3 ALT4PC0 輸入 輸出 A 口中斷 A 口中斷PC1 輸入 輸出 A 口緩沖器滿 A 口緩沖器滿PC2 輸入 輸出 A 口選通 A 口選通PC3 輸入 輸出 輸出 B 口中斷PC4 輸入 輸出 輸出 B 口緩沖器滿PC5 輸入 輸出 輸出 B 口選通3.4.3 8155 的工作方式(1)存儲器方式: 8155 的存儲器方式用于對片內(nèi) 256 字節(jié) RAM 單元進(jìn)行讀寫,若IO/M=0 和 CE=0,則 8155 立即處于本工作方式。此時,CPU 可以通過 AD7~AD0 上的地址選擇 RAM 存儲器上的任一單元讀寫。(2)I/O 方式:8155 的 I/O 方式又可分為基本 I/O 和選通 I/O 兩種工作方式。在I/O 方式下,8155 可以選擇片內(nèi)任一寄存器讀寫,斷口地址由 A2、A1、A0 三位決定。長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 14 -①基本 I/O 方式: 在本方式下,A、B、C 三口作用輸入/輸出。其中,A、B 兩口的輸入/輸出由 D1、D0 決定,C 口各位由 D3、D2 狀態(tài)決定。②選通 I/O 方式: 由命令字中的 D3、D2 狀態(tài)設(shè)定,A 口和 B 口都可以獨(dú)立工作與這種方式。此時,A 口和 B 口用作數(shù)據(jù)口,C 口用作 A 口和 B 口的聯(lián)絡(luò)控制。C 口的各位聯(lián)絡(luò)線的定義是在設(shè)計 8155 時規(guī)定的,其分配和命名如表.2。選通 I/O 方式又可以分為選通輸入和選通輸出兩種方式:a.選通輸入:A 口和 B 口都可設(shè)定為本工作方式。若命令字中的 D0=0 和D3、D2=10B(或 11B),則 A 設(shè)定在本工作方式;若命令字中 D1=0 和 D3、D2=11B,則 B 口設(shè)定在本工作方式。b.選通輸出:A 口和 B 口都可設(shè)定為本工作方式。若命令字中的 D0=1 和D3、D2=10B(或 11B),則 A 設(shè)定在本工作方式;若命令字中 D1=1 和 D3、D2=11B,則 B 口設(shè)定在本工作方式。3.4.4 8155 命令寄存器格式與功能在 8155 的控制邏輯部件中,設(shè)置有一個控制命令寄存器。8155 工作方式由CPU 寫入命令寄存器中的命令字來確定,命令寄存器只能寫入不能讀出。命令寄存器的 4 位用來設(shè)置 A 口、B 口和 C 口的工作方式。D4、D5 位用來確定 A 口、B 口以選通輸入輸出方式工作時是否允許中斷請求。D6、D7 位用來設(shè)定定時器/計數(shù)器的操作。如圖.3.9。 圖.3.9 8155 命令寄存器格式與功能D0 位(PA):定義PA0~7 數(shù)據(jù)信息傳送的方向?!?” —輸入方式;“1” —輸出方式。D1 位(PB):定義PB0~7 數(shù)據(jù)信息傳送方向?!?” —輸入方式;“1” —輸出方式。長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 15 -D3,D2 位(PCII,PCI):定義PC0~5 的工作方式?!?0”—方式1;“11”—方式2;“01”—方式3;“10”—方式4。方式1~4 時,PC0~5,的各位功能見表-2。D4 位(IEA):在端口C 對PA0~7,起控制作用的工作方式時,IEA 位用來定義允許端口A的中斷?!?”—禁止;“1” —允許。D5 位(IEB)。當(dāng)端口C 工作在對PB0~7 起控制作用的工作方式時,IEB 位用來定義允許端口B 的中斷?!?” —禁止;“1” —允許。D7,D6 位(TM2,TM1)。用來定義計時器/計數(shù)器工作的命令。有四種情況,詳細(xì)介紹見表-3。表-3 定時計數(shù)器工作方式定義表TM2 TM1 方式0 0 不影響定時器工作0 1 若計數(shù)器未啟動,則無操作;若計數(shù)器運(yùn)行,則停止計數(shù);1 0 達(dá)到當(dāng)前計數(shù)值后,立即停止;若未啟動定時器則無操作1 1 裝入方式和計數(shù)值后,立即啟動定時器,若定時器已運(yùn)行,則達(dá)到當(dāng)前計數(shù)值后,按新的方式和長度予以啟動;3.4.5 8155 的狀態(tài)寄存器的格式和功能另外,8155 中還設(shè)置了一個狀態(tài)標(biāo)志寄存器,用來存入 A 口和 B 口的狀態(tài)標(biāo)志。狀態(tài)標(biāo)志寄存器的地址與命令寄存器的地址相同,CPU 只能對其讀出,不能寫入。狀態(tài)寄存器的格式如圖.3-8 所示。CPU 可以直接進(jìn)行查詢。下面僅對狀態(tài)字中的 D6位作以說明:D6 為定時器中斷狀態(tài)標(biāo)志位。若定時器正在計數(shù)或開始計數(shù)前,則 D6位等于 0;若定時器計數(shù)長度已經(jīng)滿,則 D6 位等于 1。硬件復(fù)位或?qū)λx出后又恢復(fù)為 0。如圖.3.10 所示:3.4.6 8155 的端口電路長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 16 -8155 器件的 I/O 部件由五個寄存器組成。其中兩個是命令/狀態(tài)寄存器(C/S)地址為 xxxx000。如前所述,當(dāng)寫操作期間選中 C/S 寄存器時,就把一個命令(按圖圖.3.10 的定義)寫入命令寄存器中,并且命令寄存器的狀態(tài)信息不能通過其引腳來讀取;當(dāng)讀操作期間選中 C/S 寄存器時,將 I/O 端口和定時器的狀態(tài)信息(按圖.3.10 格式)讀出。圖.3.10 8155 的狀態(tài)寄存器的格式和功能另外兩個寄存器為PA 和PB。根據(jù)C/S 寄存器的內(nèi)容,分別對PA0~7和PB0~7編程,使相應(yīng)的I/O電路處于基本的輸入或輸出方式,或選通方式。最后一個寄存器是PC,該寄存器僅6位,可以對I/O端口電路PC0~5進(jìn)行編程,或?qū)γ罴拇嫫髅钭值腄2,D3位(PCI 和PCII)行適當(dāng)編程,使其成PA和PB的控制信號,詳見表-2。3.4.7 8155 的定時器8155 的定時器是一個14 位的減法計數(shù)器,他能對輸入定時器的脈沖進(jìn)行計數(shù),在達(dá)到最后計數(shù)值時,有一個矩形波或脈沖輸出。其格式定義如下:為了對定時器進(jìn)行程序控制,首先裝人計數(shù)長度。由于計數(shù)長度為14位(第0~13位),因每次裝入的長度只能是8位,所以必須分兩次裝入。裝入計數(shù)長度寄存器的值為2H~3FFFH。而第14~l5位用來規(guī)定定時器的輸出方式。格式中最高兩位(M2,M1)定義的定時器方式如表-4所示。應(yīng)該注意,硬件復(fù)位信號的到達(dá),會使8155計數(shù)器停止計數(shù)、直至由WS寄存器發(fā)出啟動定時器命令為止。3.4.8 89C51和8155的接口方法和應(yīng)用89C51 單片機(jī)可以和8155 直接連接,不需要任何外加電路,對系統(tǒng)增加256個長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 17 -字節(jié)的RAM、22位I/O 線及一個計數(shù)器。8155 中RAM 的地址,因P2.0即A8=0,P2.7=0,所以可選為0111,1110,0000,0000B(7E00H)~0111,1110,1111,1111B(7EFFH);I/O 口地址:7F00H~7F05H。若A 口定義為基本輸入方式, B 口定義為基本輸出方式,定時器作為方波發(fā)生器,對89C51的晶振頻率進(jìn)行二十四分頻(但需注意8155 的最高計數(shù)頻率約4MHz)。表-4 定時器方式定義表M2 M1 方式 波形0 0 0 單方波0 1 1 連續(xù)方波1 0 2 單脈沖1 1 3 連續(xù)脈沖3.5 8279 可編程鍵盤/顯示器通用芯片Intel8279 是一種通用可編程鍵盤/顯示器接口芯片,它能鍵盤輸入和顯示控制兩種功能。鍵盤部分提供一種掃描工作方式,能對 64 個按鍵鍵盤不斷掃描,自動消抖,自動識別出按下的鍵并給出編碼,能對雙鍵或多鍵同時按下實(shí)行保護(hù)。顯示部分為發(fā)光二極管及其他顯示器提供了按掃描方式工作的顯示接口,可顯示多達(dá) 16 位的字符或數(shù)字。由于它本身可提供掃描信號,因而可代替微處理器完成鍵盤和顯示器的控制,從而減輕了主機(jī)的負(fù)擔(dān)。其主要特性如下:(1)與MCS—85,MCS—48,MCS—51 等微處理器兼容;(2)能同時執(zhí)行鍵盤與顯示器操作;(3)掃描式鍵盤工作方式;(4)有8 個鍵盤FIFO(先入先出)存儲器;(5)帶觸點(diǎn)去抖動的二鍵鎖定或N 鍵巡回功能;(6)兩個8 位或16 位的數(shù)字顯示器;(7)可左/右輸入的l6 字節(jié)顯示用RAM;(8)由鍵盤輸入產(chǎn)生中斷信號;(9)掃描式傳感器工作方式;(10)用選通方式送入輸入信號;(11)單個16 字符顯示器;長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 18 -(12)工作方式可由CPU 編程;(13)可編程掃描定時;3.5.1 8279 的結(jié)構(gòu)8279 的邏輯框圖如圖.3.11 所示。8279 主要由下列部件組成:圖.3.11 8279邏輯框圖1. I/O 控制和數(shù)據(jù)緩沖器雙向的三態(tài)數(shù)據(jù)緩沖器將內(nèi)部總線和外部總線DB 0~7 相連,用于傳送CPU 和8279 之間的命令、數(shù)據(jù)和狀態(tài)。2. 控制邏輯控制與定時寄存器用以寄存鍵盤及顯示器的工作方式,鎖存操作命令,通過譯碼產(chǎn)生相應(yīng)的控制信號,使8279的各個部件完成一定的控制功能。定時控制含有一些計數(shù)器,其中有一個可編程的5位計數(shù)器,對外部輸入時鐘信號進(jìn)行分頻,產(chǎn)生100kHz的內(nèi)部定時信號。外部時鐘輸入信號周期不小于500ns。3. 掃描計數(shù)器掃描計數(shù)器有兩種輸出方式。一種為外部譯碼方式,計數(shù)器以二進(jìn)制方式計數(shù)。4 位計數(shù)狀態(tài)從掃描線SL0~SL3 輸出,經(jīng)外部譯碼器譯碼出l6 位掃描線;另一種是掃描計數(shù)器的低.二位譯碼后從SL0~SL2 輸出。4. 鍵輸入控制這個部件完成對鍵盤的自動掃描,鎖存RL0~RL7 的鍵輸入信息,搜索閉合鍵,去除鍵的抖動,并將鍵輸入數(shù)據(jù)寫入內(nèi)部先進(jìn)先出(FIFO)的RAM 存儲器。5. FIFO/傳感器RAM 和顯示RAM,8279 具有8 個先進(jìn)先出的鍵輸入緩沖器,并提供16 個字節(jié)的顯示數(shù)據(jù)緩沖器。長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 19 -CPU 將段數(shù)據(jù)寫入顯示緩沖器,8279 自動對顯示器掃描,將其內(nèi)部顯示緩沖器十的數(shù)據(jù)在顯示器上顯示出來。3.5.2 8279 的引腳與功能8279 具有40 個引腳,采用雙列直插式封裝,引腳分布圖.3.12所示,圖.3.12 8279引腳與功能其功能定義如下:? DB0~7 是雙向外部數(shù)據(jù)總線。用于傳送8279 與CPU 之間的命令、數(shù)據(jù)和狀態(tài)??芍苯优cMCS—51 系列芯片連接。? CS為選片信號。當(dāng)CS為低電平時,CPU 才選中8279 芯片,并對其進(jìn)行操作。? A0 區(qū)分信息的特性位。 當(dāng)A0 為1 時,CPU 寫入8279 的信息為命令,CPU 從8279 讀出的信息為8279 的狀態(tài)。當(dāng)A0 為0 時,I/O 信息都為數(shù)據(jù)。? RD,WR是讀、寫選通信號,低電平有效。? IRQ 為中斷請求輸出線。高電平有效。 在鍵盤工作方式下,當(dāng)FIFO/傳感器RAM 中有數(shù)據(jù)時,此中斷線變高電平。在FIFO/傳感器RAM 每次讀出時,中斷線就下降為低電平,若在RAM 中還有信息,則此線又重新變?yōu)楦唠娖?。在傳感器工作方式中,每?dāng)傳感器信號變化時,中斷線就變?yōu)楦唠娖健? RL0~RL7 為反饋輸入線,作為鍵輸入線,由內(nèi)部拉高電阻拉成高電平,也可由鍵盤上按鍵拉成低電平。? SL0~3 為掃描輸出線,用于對鍵盤顯示器掃描。? OUTB0~3,OUTA0~3 為顯示段數(shù)據(jù)輸出線,可分別作為兩個半字長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 20 -節(jié)輸出,也可作為8位段數(shù)據(jù)輸出口,此時OUTB0為最低位,OUTA3為最高位。? BD為消隱輸出線,低電平有效,當(dāng)顯示器切換時或使用顯示消隱 命令時,將顯示消隱。? RESET為復(fù)位輸入線,高電平有效。當(dāng)RESET輸入端出現(xiàn)高電平時,8279被復(fù)位,復(fù)位后8279被置于下列方式:A. 16個8位字符顯示為左端輸入。B. 編碼的掃描鍵為兩鍵連鎖、與此同時,程序時鐘前置分頻器被置為31。? SHIFT,CNTL/STB為控制鍵輸入線,由內(nèi)部拉高電阻拉成高電平,也可由外部控制按鍵拉成低電子,SHIFT 為換檔,CNTL 為控制,STB為選通。? CLK為外時鐘輸入端,CLK信號由外部振蕩器提供。需說明的一點(diǎn)是:CLK是系統(tǒng)來的外時鐘,8279靠設(shè)置定時器將外部時鐘變?yōu)閮?nèi)時鐘。其內(nèi)部基頻=外時鐘/定時器值。內(nèi)部時鐘的高低控制著掃描時間和鍵盤去抖動時間的長短,若8279內(nèi)部時鐘為100kHz,則掃描時間為5.1ms,去抖動時間為10.3ms。功能說明:由于數(shù)據(jù)輸入和顯示乃是許多微處理機(jī)外設(shè)的一個不可分離部分。系統(tǒng)設(shè)計者需要—種能夠控制這些功能,而又不致于使CPU負(fù)載過重的接口。8279為8位微處理機(jī)提供這種功能。8279有兩個部分,鍵盤部分和顯示器部分。 鍵盤部分能夠與通常的打字機(jī)型鍵盤或隨機(jī)乒乓開關(guān),或鈕子開關(guān)相聯(lián)接。顯示部分驅(qū)動字母數(shù)字顯示或一排指示燈。從而減輕了CPU在掃描鍵盤和刷新顯示時的負(fù)擔(dān)。8279按設(shè)計直接連到微處理機(jī)總線,CPU能夠?yàn)?279的所有操作方式編制程序,這些方式包括:A. 輸入方式:a.掃描鍵盤——帶有編碼掃描線(8×8鍵鍵盤)或譯碼掃描線(4×8鍵鍵盤)。每按—下按鍵,就產(chǎn)生一個表示按鍵位置的6位編碼。 按鍵的位置信息以及字型變換和控制狀態(tài),都被存儲在FIFO中。所有按鍵都以兩鍵連鎖或N鍵巡回的方式自動回跳。b.掃描傳感器陣列——帶有編碼掃描線(8×8陣列開關(guān))或譯碼掃描線(4×8陣列開關(guān))。c. 按鍵的狀態(tài)(打開或閉合)被存儲在可由CPU尋址的RAM 中。d.選通輸入——在控制線選通時,回送線上數(shù)據(jù)被傳送到FIFO中。長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 21 -B. 輸出方式:a. 8字符或16字符的多路切換式顯示器。該顯示器可被組合成雙排4位或單排8位形式(B0=D0,A3=D7)。b. 右端輸入或左端輸入的顯示格式。3.5.3 8279控制字和操作命令8279的操作方式是通過CPU對8279送入命令時來實(shí)現(xiàn)編程。當(dāng)數(shù)據(jù)選擇端A0 置1時,CPU對8279寫入的數(shù)據(jù)為命令字,讀出的數(shù)據(jù)為狀態(tài)字。8279 共有八條命令。其功能及命令字定義分述如下。1. 鍵盤/顯示器方式設(shè)置命令其中:D7D6D0=000 是方式設(shè)置命令的特征位。DD(D4D3)為顯示器方式選擇位,其定義如下:所謂左入口,即顯示位置從最左一位(最高位)開始,以后逐次輸入的顯示字符逐個向右順序排列,所謂右入口,則是顯示位置從最右一位(最低位)開始,以后逐次輸入顯示字符時,已有的顯示字符依次向左移動。KKK(D2D1D0) 用來設(shè)定七種鍵盤、顯示工作,其定義如下:長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 22 -雙鍵鎖定與N 鍵輪回是多鍵按下時的兩種不同的保護(hù)方式。雙鍵鎖定為兩鍵同時按下提供的保持方法。在消顫周期里,如果有兩鍵同時被按下,則只有其中一個鍵彈起,而另一個鍵保持在按下位置時,才被認(rèn)可。N 鍵輪回為N 鍵同時按下的保護(hù)方法。當(dāng)有若干鍵按下時,鍵盤掃描能夠根據(jù)發(fā)現(xiàn)它們的順序,依次將它們的狀態(tài)送入FIFO RAM 中。編碼掃描方式時,SL0~3 輸出僅有一位為低電平。此時只能外接4位顯示器和4×8的鍵盤。譯碼掃描方式時,SL0~3輸出呈計數(shù)分頻方式??赏饨?6位顯示器和8x8鍵盤矩陣。選通輸入方式時,RL0~7作為選通輸入口,CINTI/STB作為選通信號輸入端。這是只選用顯示器沒有鍵盤的工作方式。2. 時鐘編程命令8279的內(nèi)部定時信號是由外部的輸入時鐘經(jīng)過分頻后產(chǎn)生的,分頻系數(shù)由時鐘編程命令確定,時鐘編程命令格式如下:其中:D7D6D5=001 為時鐘編程命令的特征位,PPPPP(D4~D0) 用來設(shè)定對外部輸入CLK 端的時鐘進(jìn)行分頻的分頻數(shù)N。N取值為2~31。例如外部時鐘頻率為2MHz,PPPPP被置成10100B(N=20),則對輸入的外部時鐘20分頻,以獲得8279內(nèi)部要求的100kHz的基本頻率。3.讀FIFO/傳感器RAM命令格式如下:其中:D7D6D5=010為讀FIFO/傳感器RAM命令的特征位。AAA(D2~D0)為傳感器 RAM 中的八個字節(jié)地址。AI(D4)為自動增量特征。當(dāng)AI=l時,每次讀出傳感器RAM后地址自動加1 使地址指針指向下一個存儲單元。這樣,下一個數(shù)據(jù)便從下一個地址讀出,而不必重新設(shè)置讀FIFO/傳感器RAM 命令。AI=0時僅讀出一個單元內(nèi)容。在鍵盤工作方式中,由于讀出操作嚴(yán)格按照先入先出順序,因此,不需使用這長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 23 -條命令。4. 讀顯示RAM命令在CPU 讀顯示數(shù)據(jù)(檢查)之前必須先輸出讀顯示緩沖器RAM的命令,命令格式如下:其中:D7D6D5=011是該命令字的特征位。AAAA(D3D2D1D0)用來尋址顯示RAM中的存儲單元。由于顯示RAM中有16個節(jié)單元故需要4位地址。AI(D4)為自動增量特征位。AI=1時,每次讀出后地址自動加1,指向下一地址。5. 寫顯示數(shù)據(jù)命令在CPU將顯示數(shù)據(jù)寫入8279的顯示緩沖器RAM之前必須先輸出寫顯示數(shù)據(jù)緩沖器的命令,命令格式如下:其中:D7D6D5=100為寫顯示RAM 命令宇特征位。AAAA(D3D2D1D0)為將要寫入的顯示RAM中的存儲單元地址。AI(D4)為自動增量特征位。AI=1時,每次寫入后地址自動加1,指向下一地址。6. 顯示禁止寫入/消隱命令命令格式:其中:D7D6D5=101為顯示禁止寫入/消陷命令特征位。IWA、IWB(D3D2)為A、B 組顯示RAM寫入屏蔽位。由于顯示寄存器分成A、B兩,可以單獨(dú)送數(shù),故用兩位來分別屏蔽。當(dāng)A組的屏蔽位D3=1時,A組的顯示RAM禁止入。因此,從CPU寫入顯示器RAM數(shù)據(jù)時,不會影響A的顯示。這種情況通常在采用雙立顯示器時使用。因?yàn)閮蓚€四位顯示器是相互獨(dú)立的。為了給其中一個四位顯示器輸入數(shù)據(jù)又不影響另一個四位顯示器,因此必須對另一組的輸入實(shí)行屏蔽。長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 24 -BLA、BLB(D3D2)為消隱設(shè)置位。用于對兩組顯示輸出消隱。若BL=1,對應(yīng)組的示輸出被消隱。當(dāng)BL=0,則恢復(fù)顯示。7. 消除命令CPU將清除命令寫入8279,使顯示緩沖器清成初態(tài)(暗碼),同時也能清除鍵輸入標(biāo)志和中斷請求標(biāo)志。清除命令的格式如下:其中:D7D6D5=110為清除命令特征位。CDCDCD(D4D3D2)用來設(shè)定清除顯示RAM方式。共有四種消除方式。CF(D1)用來置空FIFO存儲器,當(dāng)CF =1時,執(zhí)行清除命令后,F(xiàn)IFORAM被置空,使中斷輸出線復(fù)位。同時,傳感器RAM讀出地址也被置為0。CA (D0)為總清的特征位。它兼有CD和CF的聯(lián)合效能。在CF=1時,對顯示的清除方式由D3、D2的編碼決定綜上所述,8279操作方式命令控制字如表-5所示。表-5 8279操作方式命令控制字長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 25 -清除顯示RAM 大約需100μS時間,在此期間,CPU不能向顯示RAM 寫入數(shù)據(jù)。8. 結(jié)束中斷/錯誤方式設(shè)置命令結(jié)束中斷/錯誤方式設(shè)置命令的格式如下其中:D7D6D5=110 為結(jié)束中斷/錯誤方式設(shè)置命令的特征位。此命令有兩種不同的作用。(1)作為結(jié)束中斷命令。在傳感器工作方式中使用。每當(dāng)傳感器狀態(tài)出現(xiàn)變化時,掃描檢測電路就將其狀態(tài)寫入傳感器 RAM,并啟動中斷邏輯,使 IRQ 變高,向 CPU請求中斷,并且禁止寫入傳感器 RAM。此時,若傳感器 RAM 讀出地址的自動遞增特征沒有置位(AI=0),則中斷請求 IRQ 在 CPU 第一次從傳感器 RAM 讀出數(shù)據(jù)時就被清除。若自動遞增特征已置位(AI=0),則 CPU 對傳感器 RAM 的讀出并不能清除IRQ,而必須通過給 8279 寫入結(jié)束中斷/錯誤方式設(shè)置命令才能使 IRQ 變低。因此,在傳感器工作方式中,此命令用來結(jié)束傳感器 RAM 的中斷請求。(2)作為特定錯誤方式設(shè)置命令。在8279已被設(shè)定為鍵盤掃描N 鍵輪回方式以后,如果CPU給8279又寫入結(jié)束中斷/錯誤方式設(shè)置命令(2=1),則8279將以一種特定的錯誤方式工作。這種方式的特點(diǎn)是:在8279的消顫周期內(nèi),如果發(fā)現(xiàn)多個按鍵同時按下,則FIFO狀態(tài)宇中的錯誤特征位S/E將置1,并產(chǎn)生中斷請求信號和阻止寫入FIFORAM。上述八種用于確定8279操作方式的命令字皆由D7D6D5特征位確定,輸出8279后能自動尋址相應(yīng)的命令寄存器。因此,寫入命令時唯一的要求是使數(shù)據(jù)選擇信號A0=1。9. 狀態(tài)字節(jié)8279的狀態(tài)字節(jié)用于鍵輸入和選通輸入方式中,指出輸入數(shù)據(jù)緩沖器FIF0 中的字符個數(shù)和是否出錯。狀態(tài)字節(jié)的格式如下:長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 26 -其中:DU(D7)在清除命令執(zhí)行期間該位為“1”,D7為工時對顯示RAM寫操作無效。S/E(D6)為傳感器信號結(jié)束/錯誤特征位。該特征位在讀出FIFO態(tài)狀字時被讀出。而在執(zhí)行CF=1的清除命令時被復(fù)位。當(dāng)8279工作在傳感器工作方式時,若S/E=1,表示傳感器的最后一個傳感器信號已進(jìn)入傳感器RAM;而當(dāng)8279工作在特殊錯誤方式時,若S/E=1則表示出現(xiàn)了多鍵同時按下錯誤。O(D5)當(dāng)FIFO已滿,又輸入一個字符時發(fā)生溢出置“1”0 位。U(D4)在FIFORAM中沒有輸入字符時,CFU對FIFORAM讀,則置“1”U 位。F(D3)在F=1時,表示FIFORAM已滿(存有3個鍵入數(shù)據(jù))。NNN(D2D1D0)表示FIFORAM中數(shù)據(jù)的個數(shù)。10. 輸入數(shù)據(jù)格式在鍵掃描方式中,鍵輸入數(shù)據(jù)格式如下:其中:CNTL(D7)控制鍵 CNTL 的狀態(tài)。SHIFT(D6)控制鍵SHIFT的狀態(tài)。D5~D3指出輸入鍵所在的行號(掃描計數(shù)值)。D2~D0指出輸入鍵所在的列號(回送計數(shù)值)??刂奇ICNTL,SHIFT,為單獨(dú)的開關(guān)鍵。CNTL與其他鍵連用作特殊命令鍵,SHIFT可作為上下檔控制鍵;在傳感器掃描方式或選通輸入方式中,輸入數(shù)據(jù)即為RL0~7的輸入狀態(tài)。3.5.4 8279 接口和編程方法8279的接口方法如引腳圖所示。圖中,89C51 經(jīng)8279 外撥8×8鍵盤,16位顯示器。8279的數(shù)據(jù)總線接89C51的P0口。RD,WR接89C51的讀,寫信號線。CS,A0接P2.7(A15)和P2.0(A8),89C51的周期輸出信號ALE作8279的時鐘信號,8279 采用加電自身復(fù)位方式。8279的中斷請求線反向后接89C51的INT1 。8279鍵盤部分可提供具有二鍵鎖定或N鍵巡回方式的64鍵鍵盤矩陣。SL0~SL3為長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 27 -8279所提供的行掃描線,假設(shè)它為編碼輸出(高電平有效),這里SL0~SL2 通過外接三~八譯碼器(74LS138)來選擇行,譯碼器的輸出(低電平有效)接到鍵盤的行輸入。列值由RL0~7進(jìn)入8279,這八條返回線的信號經(jīng)8279緩沖鎖存。并由8279內(nèi)部邏輯部件對它進(jìn)行掃描檢查,以尋找選中的行內(nèi)被按下的按鍵、如果鍵去抖動電路檢測到某鍵被按—下為了去抖動,它等待10ms,然后再重新檢測此鍵是否仍然閉合。如果仍閉合,便將該鍵在陣列中的地址(表示該鍵的六位編碼),及換檔鍵(SHIFT)和控制鍵(CNTL)狀態(tài)送入8279的FIFORAM中。每按一次鍵便送一次,F(xiàn)IFORAM最多可存放八個字符。 進(jìn)入FIFO的字符數(shù)目由包含F(xiàn)IFO狀態(tài)字節(jié)中的字符計數(shù)(狀態(tài)的低三位)指示,當(dāng)檢測到某鍵被按下時,8279的中斷請求線變?yōu)楦唠娖?,同時FIFO狀態(tài)字改變以反映存放在FIFO中的宇符數(shù)。當(dāng)CPU讀入一個數(shù)據(jù)后IRQ降為低電平。假如FIFORAM中仍有數(shù)據(jù),則IRQ再次升高,如此反復(fù)。存在FIFORAM中經(jīng)過譯碼的鍵值格式如下:8279可通過選擇二鍵鎖定或N 鍵巡回方式來解決重鍵問題。圖.3.13中A0~A3和B0~B3為段控輸出(高電平有效),外接驅(qū)動器后連至LED各段。對于七段LED來說,A3為最高位,B0為最低位,SL0~SL3為位控輸出,經(jīng)譯碼驅(qū)動后連至各LED 可控制16位顯示器,其掃描速度(A0~3及B0~3與其同步變化)則由內(nèi)部定時器決定。圖.3.13 89C51 與 8279 接口圖3.6 BIC8708 微機(jī)專用 8 位輸出驅(qū)動芯片在單片機(jī)應(yīng)用系統(tǒng)中最常使用的是小功率驅(qū)動器件,它將 I/O 機(jī)數(shù)據(jù)總線的信號轉(zhuǎn)換成小功率信號。由北京集成電路設(shè)計中心推出的 BIC8708/8718/8728 微機(jī)專長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 28 -用小功率 8 位驅(qū)動器具有良好的驅(qū)動性能,在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。其廣引腳如圖.3.14 所示:BIC87 系列是集電極開路高電壓輸出且具有選通端的 8 位驅(qū)動器。工作電壓+5V±10%,環(huán)境溫度為 0℃~ 70℃,采用 20 引腳雙列直插朔料封裝。輸入端和輸出端分別排在兩側(cè),該驅(qū)動器社有選通端 G,可以方便地進(jìn)行輸入輸出信號控制。輸出端可以直接驅(qū)動繼電器,可控硅,LED 顯示器等等,還可以作為電平轉(zhuǎn)換器使用。1 2010 11圖.3.14 BIC8708 引腳功能 3.7 數(shù)字溫度傳感器 DS18B20 3.7.1 DS18B20 簡介(1)獨(dú)特的單線接口方式:DS18B20 與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊。(2)在使用中不需要任何外圍元件。(3)可用數(shù)據(jù)線供電,電壓范圍:+3.0~+5.5 V。(4)測溫范圍:-55~+125 ℃。固有測溫分辨率為 0.5 ℃。(5)通過編程可實(shí)現(xiàn) 9~12 位的數(shù)字讀數(shù)方式。(6)用戶可自設(shè)定非易失性的報警上下限值。(7)支持多點(diǎn)組網(wǎng)功能,多個 DS18B2 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測溫。(8)負(fù)壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。3.7.2 DS18B20 的內(nèi)部結(jié)構(gòu)G Vcc1A 1Y2A 2Y3A 3Y4A 4Y5A 5Y6A 6Y7A 7Y8A 8YGND NC長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 29 -DS18B20 采用 3 腳 PR35 封裝或 8 腳 SOIC 封裝,其內(nèi)部結(jié)構(gòu)框圖如圖.3.15 所示。(1) 64 b 閃速 ROM 的結(jié)構(gòu)如下:開始 8 位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有 48 位,最后8 位是前 56 位的 CRC 校驗(yàn)碼,這也是多個 DS18B20 可以采用一線進(jìn)行通信的原因。 (2) 非易市失性溫度報警觸發(fā)器 TH 和 TL,可通過軟件寫入用戶報警上下限。(3) 高速暫存存儲器圖.3.15 DS1820 內(nèi)部結(jié)構(gòu)框圖DS18B20 溫度傳感器的內(nèi)部存儲器包括一個高速暫存 RAM 和一個非易失性的可電擦除的 E2RAM。后者用于存儲 TH,T L值。數(shù)據(jù)先寫入 RAM,經(jīng)校驗(yàn)后再傳給E2RAM。而配置寄存器為高速暫存器中的第 5 個字節(jié),他的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20 工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如下:低 5 位一直都是 1,TM 是測試模式位,用于設(shè)置 DS18B20 在工作模式還是在測試模式。在 DS18B20 出廠時該位被設(shè)置為 0,用戶不要去改動,R1 和 R0 決定溫度轉(zhuǎn)換的精度位數(shù),即是來設(shè)置分辨率,如表-6 所示(DS18B20 出廠時被設(shè)置為 12 位)。 表-6 R1、R0 模式表長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 30 -由表-6 可見,設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長。因此,在實(shí)際應(yīng)用中要在分辨率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存存儲器除了配置寄存器外,還有其他 8 個字節(jié)組成,其分配如下所示。其中溫度信息(第 1,2 字節(jié))、T H和 TL值第 3,4 字節(jié)、第 6~8 字節(jié)未用,表現(xiàn)為全邏輯 1;第 9 字節(jié)讀出的是前面所有 8 個字節(jié)的 CRC 碼,可用來保證通信正確。當(dāng) DS18B20 接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16 位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第 1,2 字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式以 0.0625 ℃/LSB 形式表示。溫度值格式如下:對應(yīng)的溫度計算:當(dāng)符號位 S=0 時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng) S=1 時,先將補(bǔ)碼變換為原碼,再計算十進(jìn)制值。表-7 是對應(yīng)的一部分溫度值。表-7 部分溫度值長春工業(yè)大學(xué)畢業(yè)設(shè)計論文 - 31 -DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 TH,T L作比較,若 T>TH或 T
收藏