第九章接口技術(shù)LED鍵盤ADDA20146_第1頁
第九章接口技術(shù)LED鍵盤ADDA20146_第2頁
第九章接口技術(shù)LED鍵盤ADDA20146_第3頁
第九章接口技術(shù)LED鍵盤ADDA20146_第4頁
第九章接口技術(shù)LED鍵盤ADDA20146_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 計算機與計算機之間,計算機與外設(shè)之間的數(shù)據(jù)交換稱為通信。 計算機與外部設(shè)備的通信有兩種基本方式:并行通信和串行通信。 一個信息的各位數(shù)據(jù)被同時傳送的通信方法稱為并行通信。并行通信依靠并行I/O接口實現(xiàn)。并行通信速度快,但傳輸線根數(shù)多,成本高,適合近距離通信,通常傳送距離小于30米。 一條信息的各位數(shù)據(jù)被逐位順序傳輸?shù)耐ㄐ欧绞椒Q為串行通信。串行通信通過串行接口實現(xiàn)。串行通信速度慢,但傳輸線少,適宜長距離傳輸。61 串行通信基礎(chǔ) 異步通信是以字符為單位傳送的,數(shù)據(jù)傳送可靠性高,適合低速通信的場合。 同步通信方式是以多個字符組成的數(shù)據(jù)塊為單位的方式傳送的,數(shù)據(jù)傳輸率高,適合高速率、大容量的數(shù)據(jù)通信

2、。串行通信的兩種基本方式:根據(jù)信息傳送的格式分為:異步通信和同步通信。 異步通信用起始位“0”表示字符的開始,然后從低位到高位逐位傳送數(shù)據(jù),最后用停止位“1”表示字符的結(jié)束。一個字符又稱為一貞信息。圖a中,一貞信息包括一位起始位、8位數(shù)據(jù)位和1位停止位;圖b中,數(shù)據(jù)位增加到9位。在MCS-51單片機系統(tǒng)中,第九位數(shù)據(jù)D8可以用作奇偶效驗位,也可以用作地址/數(shù)據(jù)貞標志,D8=1表示該貞信息傳送的是地址,D8=0表示傳送的是數(shù)據(jù)。兩貞信息之間可以有間隔,也可以無間隔,且間隔時間可以任意改變,間隔用空閑位“1”填充。異步通信方式:異步通信中,計算機與外設(shè)之間必須約定:(1)字符格式約定好字符的編碼形

3、式、奇偶效驗位形式以及起始位和停止位的規(guī)定。(2)波特率是每秒數(shù)據(jù)傳輸?shù)奈粩?shù)。 1波特=1bps(位/秒) 異步通信要求發(fā)送與接收以相同的波特率進行。異步通信方式: 同步通信在數(shù)據(jù)開始處用12個同步字符來指示。 同步通信中,由同步時鐘來實現(xiàn)發(fā)送和接收的同步。在發(fā)送時要插入同步字符,接收端在檢測到同步字符后,就開始接收串行數(shù)據(jù)??梢姡酵ㄐ啪哂休^高的傳輸速率,通常在幾十至幾百千波特,但在硬件上要求較高。同步通信方式: 分為:單工、半雙工、全雙工串行通信中數(shù)據(jù)傳輸方向:ABABBA單工半雙工全雙工9.2 鍵盤接口鍵盤是微機系統(tǒng)中最常用的人機對話輸入設(shè)備。鍵盤有兩種基本類型:編碼鍵盤和非編碼鍵盤。

4、編碼鍵盤本身除了按鍵以外,還包括產(chǎn)生鍵碼的硬件電路。這種鍵盤使用十分方便,但價格較高,一般的單片機應(yīng)用系統(tǒng)較少采用。非編碼鍵盤是靠軟件識別鍵盤上的閉合鍵,由此計算出鍵碼。非編碼鍵盤幾乎不需要附加的硬件邏輯。 非編碼鍵盤又分為獨立式和行列式鍵盤。消除鍵抖動鍵閉合和釋放過程呈現(xiàn)一串抖動脈沖波,其時間由按鍵的機械特性有關(guān),一般為510毫秒;鍵閉合穩(wěn)定期一般為幾百毫秒到幾秒。為確保CPU對鍵的一次閉合僅做一次處理,必須去除抖動。硬件方法是加RS觸發(fā)器消抖動電路,從根本避免抖動的產(chǎn)生。軟件方法是通過延時的方法躲過抖動,待信號穩(wěn)定之后,在進行狀態(tài)的輸入。圖 消除鍵抖動電路 獨立式按鍵1獨立式按鍵接口結(jié)構(gòu)獨

5、立式按鍵的接口電路示意圖(a) 中斷方式;(b) 查詢方式 org 00START:mov sp,#60hMOV P3,#0FFH ;;置P1口為輸入狀態(tài)PAN: MOV A,P3 ;;鍵狀態(tài)輸入CPL A JZ PAN ACALL DEALAY10MS MOV A,P3 ; ;鍵狀態(tài)輸入 CPL A JZ PAN JB ACC.0,K0 ;檢測0號鍵是否按下,按下轉(zhuǎn) JB ACC.1,K1 ; 檢測1號鍵是否按下,按下轉(zhuǎn) JB ACC.2,K2 ;檢測2號鍵是否按下,按下轉(zhuǎn) JB ACC.3,K3 ;檢測3號鍵是否按下,按下轉(zhuǎn) sJMP START ;;無鍵按下返回,再順次檢測K0:AJMP

6、 PROM0K1:AJMP PROM1K2:AJMP PROM2K3:AJMP PROM3 2獨立式按鍵的軟件結(jié)構(gòu)PROM0:MOV 40H,#1 ;0號鍵功能程序 SJMP START1 ;0號鍵功能程序執(zhí)行完返回PROM1:MOV 40H,#2 SJMP START1 PROM2:MOV 40H,#3 SJMP START1 PROM3: MOV 40H,#4START1: MOVA,40H;取要顯示的數(shù) ANLA,#0FHMOVDPTR,#TAB;徊楸淼玫階中吐?MOVCA,A+DPTRMOVP0,A ;從P0口送要顯示的字型碼MOVP1,#0FFH ;;從P1口送要顯示的位信息MOVR

7、7,#0;延時得到每位顯示的時間 DJNZR7,$ LJMP STARTTAB:DB0C0H,0F9H,0A4H,0B0H,99H;1,2,3,4DB92H,82H,0F8H,80H,90H,88H ;5,6,7,8,9,-DB 83H,0C6H,0A1H,86H,8EH ,00HDEALAY10MS:MOV R6,#10 DELAY2:MOV R5,#125DJNZ R5,$DJNZ R6,DELAY2RETEND 行列式鍵盤鍵盤識別過程:(1)測試是否有鍵按下單片機I/O口向所有列線(D0D3)輸出低電平,即向列口寫入00H;然后輸入各行線狀態(tài)(D4D7),即讀入輸入口的字;比較:若行線狀

8、態(tài)全為高電平,則表明無鍵按下,若行線狀態(tài)中有低電平,則表明有鍵按下。(2)消抖動(3)掃描鍵盤以確定被按鍵的物理位置鍵盤識別過程:(4)計算鍵碼根據(jù)被按下鍵的行線號和列線號,按照一定的算法,可以求出被按下鍵的鍵碼。鍵碼實際上是鍵在矩陣中按從左到右、從上到下的序號。按這種編排規(guī)律,本鍵盤32個鍵的鍵碼為00H1FH。各行的首鍵號是00H、08H、10H、18H,如列線按07編號,則鍵碼的計算公式為:鍵碼=首鍵號+列號圖 行列式鍵盤的編碼與鍵值 (a) 二進制組合編碼;(b) 順序排列編碼 鍵盤識別過程:(5)等待鍵釋放計算完鍵碼后,再以延時和掃描的方法等待和判定鍵釋放。鍵釋放之后就可以根據(jù)得到的

9、鍵碼,轉(zhuǎn)到相應(yīng)的鍵處理子程序,進行數(shù)據(jù)的輸入或命令的處理。9.3 單片機與LED顯示器接口技術(shù)9.3.1 LED顯示器結(jié)構(gòu)與原理圖9.8 七段顯示塊管腳與結(jié)構(gòu)圖 表9-2 七段LED的段選碼顯示字符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“滅”00HFFHA77H88HB7CH83H9.3.2 LED顯示器接口及顯示

10、程序圖 N位LED顯示器 1LED靜態(tài)顯示方式 LED工作在靜態(tài)顯示方式下,共陰極接地或共陽極接+5 V;每一位的段選線(ag、dp)與一個8位并行I/O口相連,如圖所示。該圖表示了一個4位靜態(tài)LED顯示器電路,顯示器的每一位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。由于每一位由一個8位輸出口控制段選碼,故在同一時刻各位可以顯示不同的字符。 N位靜態(tài)顯示器要求有N8根I/O口線,占用I/O口線較多。故在位數(shù)較多時往往采用動態(tài)顯示方式。 靜態(tài)顯示的亮度大,軟件較為簡單,不占用CPU時間,但由于每位LED都需要一個并行接口輸出字形代碼,故占用I/O資源較多。2LE

11、D動態(tài)顯示方式動態(tài)顯示接口是對多位LED顯示器采用動態(tài)掃描的方法進行顯示,即逐個循環(huán)的點亮各位顯示器。這樣,雖然在任一時刻只有一位顯示器被點亮,但由于人眼的視覺殘留效應(yīng),實際上看起來與全部顯示器持續(xù)點亮的效果一樣。動態(tài)顯示器可簡化電路,常用在智能儀表中。動態(tài)顯示除了要給顯示器提供字形代碼外,還要對顯示器提供位碼。因此多位LED動態(tài)顯示接口電路需要有兩個輸出口,一個用于輸出8位字形碼,另一個用于輸出位控碼,位控碼的位數(shù)等于LED顯示器的位數(shù)。2LED動態(tài)顯示方式圖 8位LED動態(tài)顯示器電路 例 8255A用作6位共陰極顯示器的接口電路。8255的A口作為段碼數(shù)據(jù)口(字型碼),B口作為位控制端口。

12、74LS06集電極開路的反相高壓驅(qū)動器, 74LS07集電極開路的正相高壓驅(qū)動器。在顯示器上顯示一位。在最右邊0010,0000H位顯示1(字型碼06H)ORG0000HSTART:MOV DPTR,#8003H;設(shè)置8255的工作方式MOVA,#80HMOVX DPTR, A ;MOV DPTR,#8000H;從8255的A口送要顯示的字型碼MOVA,#06HMOVXDPTR,A MOVDPTR,#8001H;從8255的B口送要顯示的位信息MOVA,#20HMOVXDPTR,ASJMPSTARTEND在顯示器上顯示123456。要顯示多位要采用動態(tài)顯示方式,先設(shè)置顯示緩沖區(qū),要顯示的字形先

13、存入內(nèi)部RAM的40H45H單。ORG0000HMOV DPTR,#8003H;設(shè)置8255的工作方式MOVA,#80HMOVX DPTR, A ;DISP1:MOVR0,#40HMOVR2,#20HDISP2:MOVAR0;取要顯示的數(shù)ANLA,#0FHMOVDPTR,#TAB;查表得到字型碼MOVCA,A+DPTRMOV DPTR,#8000H;從8255的A口送要顯示的字型碼MOVXDPTR,A MOVDPTR,#8001H;從8255的B口送要顯示的位信息MOVA,R2MOVXDPTR,AMOVR7,#0;延時得到每位顯示的時間DJNZR7,$INCR0;調(diào)整指針指向下一個顯示數(shù)據(jù)單元

14、CLRC;調(diào)整位指向右邊的下一位MOVA,R2RRCAMOVR2,AJNZDISP2;6位沒顯示返回繼續(xù)顯示SJMPDISP1;6位顯示一遍則重新從頭開始顯示TABLE:DB3FH,06H,5BH,4FH,66H;1,2,3,4DB6DH,7DH,07H,7FH,6FH,40H;5,6,7,8,9,-ENDMOV R1,#40HMOV A,#1MOVR6,#6LOOP:MOVR1,AINCAINCR1DJNZR6,LOOPEND字形口:8004H,位控制口8002H9.4 A/D轉(zhuǎn)換器接口9.4.1 A/D轉(zhuǎn)換器概述 在設(shè)計A/D轉(zhuǎn)換器與單片機接口之前,往往要根據(jù)A/D轉(zhuǎn)換器的技術(shù)指標選擇A/

15、D轉(zhuǎn)換器。為此,先介紹一下A/D轉(zhuǎn)換器的主要技術(shù)指標。 量化間隔和量化誤差是A/D轉(zhuǎn)換器的主要技術(shù)指標之一。量化間隔可用下式表示。其中n為A/D轉(zhuǎn)換器的位數(shù)。 量化誤差有兩種表示方法:一種是絕對誤差,另一種是相對誤差。 A/D轉(zhuǎn)換器芯片種類很多,按其轉(zhuǎn)換原理可分為逐次比較式、雙重積分式、計數(shù)式和并行式A/D轉(zhuǎn)換器;按其分辨率可分為816位的A/D轉(zhuǎn)換器芯片。目前最常用的是逐次逼近式和雙重積分式。逐次比較式:轉(zhuǎn)換速度快,最常用。雙重積分式:轉(zhuǎn)換精度高,速度慢。計數(shù)式:速度慢,硬件需要元件精度不高。并行式A/D轉(zhuǎn)換器:轉(zhuǎn)換速度最快,但由于硬件要求高,不易實行。9.4.2 A/D轉(zhuǎn)換器ADC0809

16、與單片機的接口1ADC0809芯片簡介表9.10 ADC0809通道地址選擇表 ADDC ADDB ADDA選通的通道0 0 0IN00 0 1IN10 1 0IN20 1 1IN31 0 0IN41 0 1IN51 1 0IN61 1 1IN7圖5.17 ADC0809轉(zhuǎn)換工作時序 2ADC0809與單片機接口轉(zhuǎn)換結(jié)果數(shù)據(jù)的傳送方式:定時傳送方式:根據(jù)轉(zhuǎn)換時間在轉(zhuǎn)換開始后延時一段時間,讀取轉(zhuǎn)換結(jié)果。查詢傳送方式:查詢轉(zhuǎn)換完成信號,在轉(zhuǎn)換完成后進行數(shù)據(jù)傳送。中斷方式:把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。圖9-16中ADC0809的地址碼為:0FEF8H0

17、FEFFH.例1.欲對IN1通道進行A/D轉(zhuǎn)換,采用的是定時方式進行轉(zhuǎn)換結(jié)果數(shù)據(jù)的傳送。假設(shè)fosc為12MHz,則機器周期為1微妙,ADC0809的轉(zhuǎn)換時間為100微秒。ORG0000HMAIN:MOVDPTR,#0FEF9H;設(shè)置通道1地址MOVA,#00HMOVX DPTR,A;啟動通道1轉(zhuǎn)JBP3.3,$;查詢轉(zhuǎn)換是否結(jié)束MOVX A,DPTR;讀取轉(zhuǎn)換結(jié)果MOV40H,AEND例2. 采用的是查詢方式。ORG0000HMAIN:MOVDPTR,#0FEF9H;設(shè)置通道1地址MOVA,#00HMOVX DPTR,A;啟動通道1轉(zhuǎn)MOV R7,#35H;延時超過100微秒等待轉(zhuǎn)換結(jié)束DJ

18、NZR7,$MOVX A,DPTR;讀取轉(zhuǎn)換結(jié)果MOV40H,AEND實驗時ADC0809的片選線接CS0,ADC0809的8路模擬量輸入端的地址為8000H8007H;IN1的地址為8001H,IN1接可變電位器的輸出端,P1口接8個發(fā)光二極管。A/D轉(zhuǎn)換結(jié)果在8個發(fā)光二極管上以二進制數(shù)的形式顯示。ORG0000HMAIN:MOVDPTR,#8001H;設(shè)置通道1地址MOVA,#00HMOVX DPTR,A;啟動通道1轉(zhuǎn)MOV R7,#35H;延時超過100微秒等待轉(zhuǎn)換結(jié)束DJNZR7,$MOVX A,DPTR;讀取轉(zhuǎn)換結(jié)果MOVP1,ASJMPMAINEND例9-7.設(shè)圖9.16接口電路用

19、于一個8路模擬量輸入的巡回檢測系統(tǒng),使用中斷方式采樣數(shù)據(jù),把采樣轉(zhuǎn)換所得的數(shù)字量按序存于片內(nèi)RAM的30H37H單元中。采樣完一遍后停止采集。 ORG2000HMAIN:MOV R0,#30H ;設(shè)立數(shù)據(jù)存儲區(qū)指針 MOV R2,#08H ;設(shè)置8路采樣計數(shù)值 SETB IT1 ;設(shè)置外部中斷0為邊沿觸發(fā)方式 SETB EA ;CPU開放中斷SETB EX1 ;允許外部中斷0中斷 MOV DPTR,#FEF8H ;送入口地址并指向IN0 MOVX DPTR,A ;啟動A/D轉(zhuǎn)換,A的值無意義 HERE: SJMP HERE ;等待中斷ORG2100H MOVX A,DPTR ;讀取轉(zhuǎn)換后的數(shù)字

20、量 MOV R0,A ;存入片內(nèi)RAM單元 INC DPTR ;指向下一模擬通道 INC R0 ;指向下一個數(shù)據(jù)存儲單元 DJNZ R2,INT0 ;8路未轉(zhuǎn)換完,則繼續(xù) CLR EA ;已轉(zhuǎn)換完,則關(guān)中斷 CLR EX0 ;禁止外部中斷0中斷 RETI ;中斷返回INT0: MOVX DPTR,A ;再次啟動A/D轉(zhuǎn)換 RETI ;中斷返回9.5 D/A轉(zhuǎn)換器接口9.5.1 D/A 轉(zhuǎn)換器概述 按轉(zhuǎn)換數(shù)字量的位數(shù)可分為8位、10位、12位等;按數(shù)據(jù)傳送方式分為并行和串行兩種;按轉(zhuǎn)換輸出的模擬量分為電壓和電流輸出型。 在設(shè)計D/A轉(zhuǎn)換器與單片機接口之前,一般要根據(jù)D/A轉(zhuǎn)換器的技術(shù)指標選擇D/

21、A轉(zhuǎn)換器芯片。 (1) 分辨率。分辨率是D/A轉(zhuǎn)換器對輸入量變化敏感程度的描述。D/A轉(zhuǎn)換器的分辨率定義為:當(dāng)輸入數(shù)字量發(fā)生單位數(shù)碼變化時,即LSB位產(chǎn)生一次變化時所對應(yīng)輸出模擬量的變化量。對于線性D/A轉(zhuǎn)換器來說,其分辨率與輸入數(shù)字量輸出的位數(shù)n呈現(xiàn)下列關(guān)系 (2) 建立時間。建立時間是描述D/A轉(zhuǎn)換速率快慢的一個重要參數(shù)。一般所指的建立時間是輸入數(shù)字量變化后,模擬輸出量達到終值誤差LSB/2(最低有效位)時所經(jīng)歷的時間。根據(jù)建立時間的長短,把D/A轉(zhuǎn)換器分成以下幾擋: 超高速 100 ns 較高速 100 ns1 s 高 速 110 s 中 速 10100 s 低 速 100 s9.5.2 8位D/A轉(zhuǎn)換器與單片機的接口1 DAC0832的結(jié)構(gòu)與引腳功能2DAC0832 D/A轉(zhuǎn)換器與單片機接口 根據(jù)對DAC0832的輸入寄存器和DAC寄存器的不同控制方式,可有三種工作方式:(1)直通方式:使WR1*=WR2*=0,數(shù)據(jù)可以經(jīng)輸入端經(jīng)兩個寄存器直接進入D/A轉(zhuǎn)換器。(2)單緩沖方式:兩個寄存器之一處于直通,WR1*=0或WR2*=0,另一個寄存器處于受控狀態(tài)。(3)雙緩沖方式:兩個寄存器均處于受控狀態(tài)。2DAC0832 D/A轉(zhuǎn)換器與單片機接口 設(shè)分配給 DAC0832

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論