已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1 D/A 、A/D 接口芯片,1.1 D/A轉(zhuǎn)換器的工作原理,1.2 典型D/A器件的應用,2 顯示鍵盤及接口,2.2 LCD顯示器及接口,2.3 鍵盤及接口,2.1 LED顯示器及接口,存儲器擴展技術(shù)部分-目錄,1.3 A/D轉(zhuǎn)換器的工作原理,2.4 專用鍵盤、顯示接口芯片8279的應用,1.4 典型A/D器件的應用,總 目 錄,D/A是將數(shù)字量轉(zhuǎn)換成模擬量的器件, D/A的輸出是電壓或電流信號。衡量D/A性能的主要參數(shù)是:,分辨率: 即輸出的模擬量的最小變化量。 滿刻度誤差:即輸入為全1時,實際輸出電壓與理 想值之差。 輸出范圍: 轉(zhuǎn)換時間:從轉(zhuǎn)換器的輸入改變到輸出穩(wěn)定的時間間隔。 是否容易與CPU接口,1 D/A 、A/D 接口芯片,1.1 D/A轉(zhuǎn)換器的工作原理,目 錄,(1)D / A轉(zhuǎn)換器的轉(zhuǎn)換特性,對n位D/A轉(zhuǎn)換器,其輸入是n位二進制數(shù)字輸入信號Din,將Din看成小數(shù)二進制數(shù)碼,則Din可表示為:,設D/A轉(zhuǎn)換器的基準電壓為UR,則理想D/A轉(zhuǎn)換器的輸出電壓為:,則滿量程輸出電壓值為:,即滿量程值比基準電壓小一個最低有效位(LSB)的數(shù)碼。,R2R梯形電阻式D/A轉(zhuǎn)換原理,目 錄,即模擬輸出電壓Uo與二進制輸入信號成正比。但電路用到的電阻規(guī)格太多,則電阻差別大,故精度不高。,(2)D / A轉(zhuǎn)換器結(jié)構(gòu)及原理,單片D/A轉(zhuǎn)換器的基本組成包括基準電壓源、解碼網(wǎng)絡、電子開關(guān)陣列和相加運算放大器等部分,其中電阻解碼網(wǎng)絡是其核心,常用的解碼網(wǎng)絡有二進制加權(quán)電阻網(wǎng)絡和R2R梯形電阻網(wǎng)絡。,a、加權(quán)電阻網(wǎng)絡電路,模擬開關(guān)由相應位的二進制數(shù)碼控制,當某位為1時,模擬開關(guān)與參考電壓源接通,則流向求和點A的總電流為:,目 錄,b、R2R梯形電阻網(wǎng)絡電路,圖中A1An各節(jié)點往右看,對地的電阻值均等于R。從左到右,各路電流分配規(guī)律是IR/2, IR/22,, IR/2n,則輸出電壓為:,即模擬輸出電壓Uo與二進制輸入信號成正比。,目 錄,1.2 典型D/A器件的應用,1.2.1、 D/A芯片DAC0832的應用,目 錄,圖11 DAC0832的內(nèi)部結(jié)構(gòu)圖,目 錄,圖12 DAC0832引腳圖,圖13 DAC0832外圍連接圖,目 錄,目 錄,二、DAC0832工作方式,DAC0832可以有三種工作方式:,(1)、單緩沖方式 若應用系統(tǒng)中只有一路D/A轉(zhuǎn)換或雖然有多路轉(zhuǎn)換,但并不要求各路信號同步輸出時,則采用單緩沖方式來接口。方法是:使鎖存器和DAC寄存器同時接收數(shù)據(jù)。 (2)、雙緩沖方式 當多路D/A信號要求同步輸出時,則采用雙緩沖方式。方法是:分別使其輸入鎖存器接收數(shù)據(jù);同時傳送數(shù)據(jù)到其 DAC寄存器,以實現(xiàn)多路轉(zhuǎn)換同步輸出。,目 錄,四、DAC0832與MCS51的接口方法,(3)、直通方式 所有控制信號均有效,適宜于連續(xù)控制時。,三、電流輸出轉(zhuǎn)換成電壓輸出,MCS51執(zhí)行下面的程序后運放的輸出端產(chǎn)生一個鋸齒型的電壓波形: MAIN:MOV DPTR,#7FFFH MOV A,#0 LOOP: MOVX DPTR,A INC A AJMP LOOP,目 錄,三、DAC0832的應用,(1)、單緩沖方式,圖14 DAC0832單緩沖方式接口電路,目 錄,執(zhí)行下面的幾條指令就能完成一次D/A轉(zhuǎn)換: MOV DPTR, 7FFFH ; 指向DAC0832 MOV A, DATA ; 數(shù)字量裝入A MOVX DPTR, A ; 完成一次D/A輸入與轉(zhuǎn)換,(2)、雙緩沖方式,目 錄,圖15 DAC0832組成同步雙通道輸出,目 錄,MOV DPTR, 0DFFFH ; 指向DAC0832(1) MOV A, data1 ; data1送入DAC0832(1)中鎖存 MOVX DPTR, A ; MOV DPTR, 0BFFFH ; 指向DAC0832(2) MOV A, data2 ; data2送入DAC0832(2)中鎖存 MOVX DPTR, A MOV DPTR, 7FFFH ; 給0832(1)和(2)提供WR信號 MOVX DPTR, A ; 同時完成D/A轉(zhuǎn)換輸出,目 錄,【例1.1】利用DAC0832產(chǎn)生階梯波,圖16 DAC0832產(chǎn)生的階梯波形圖,目 錄,參考程序如下:,START: MOV A, 00H ; MOV DPTR, 7FFFH ; 0832 的地址送DPTR MOV R1, 0AH ; 臺階數(shù)為 10 LP: MOVX DPTR, A ; 送數(shù)據(jù)至 0832 CALL DELAY ; 1 ms延時 DJN2 R1, NEXT ; 不到 10 臺階轉(zhuǎn)移 SJMP STRT ; 產(chǎn)生下一個周期 NEXT: ADD A, 10 ; 臺階增幅 SJMP LP ; 產(chǎn)生下一臺階 DELAY: MOV 20H, 249 ; 1 ms延時程序 AGAIN: NOP NOP DJNZ 20H, AGAIN,目 錄,作 業(yè):,目 錄,P223 4,衡量A / D性能的主要參數(shù)是: 分辨率: 即輸出的數(shù)字量變化一個相鄰的值所對應的輸入 模擬量的變化值。 滿刻度誤差:即輸出全1時輸入電壓與理想輸入量值之差。 轉(zhuǎn)換速率: 完成一次轉(zhuǎn)換所需時間的倒數(shù)。 轉(zhuǎn)換精度: 量化值與一個理想A/D轉(zhuǎn)換器進行模/數(shù)轉(zhuǎn)換的差 值?;蛘哒f是實際A/D與理想A/D的差別。 是否可方便地與CPU接口,1.3 A/D轉(zhuǎn)換器的工作原理,目 錄,MCS51個別單片機內(nèi)部具有A/D轉(zhuǎn)換線路(例如:8XC51GA/GB內(nèi)具有8路8位逐次逼近式A/D)。 A/D種類:,逐次逼近式 雙積分式(單積分、四積分) 電荷平衡式 并行式,一、雙積分A/D轉(zhuǎn)換原理,由積分器、過零電壓比較器、控制邏輯電路、時鐘和計數(shù)器等部分組成。雙積分A/D工作時分為兩個步驟:固定時間積分; 固定斜率積分。,目 錄,雙積分A/D輸出是采樣周期內(nèi)輸入信號Ui的平均值,因此對疊加在輸入信號的交流干擾有很強的抑制能力,但轉(zhuǎn)換速度較慢。,二、逐次逼近式A/D轉(zhuǎn)換原理,逐次逼近A/D由比較器、D/A轉(zhuǎn)換器、時鐘電路、逐次逼近寄存器、邏輯控制電路、輸出緩沖器等組成,它是采用逐次比較法來實現(xiàn)的。轉(zhuǎn)換開始后,在邏輯控制電路控制下,,時鐘電路使逐次逼近寄存器的最高位置1,其他各位置0,,目 錄,然后經(jīng)D/A轉(zhuǎn)換成對應的模擬電壓Us,送到比較器的一個輸入端并與比較器另一個輸入端的模擬電壓Ui比較,若UsUi,則表明預設的這一數(shù)碼太大,邏輯控制電路將逐次逼近寄存器的該位置0;若UsUi,則表明預設的這一數(shù)碼不夠大,邏輯控制電路將逐次逼近寄存器的該位保持為1,再將逐次逼近寄存器的下一位置1,其他,各位仍為0,然后再經(jīng)D / A轉(zhuǎn)換成對應的模擬電壓Us,再比較以確定這一位的1是保留還是要清除。這樣逐位進行比較,直至D/A轉(zhuǎn)換器輸出電壓Us與Ui相等或Ui-Us小于最大量化誤差值為止。比較結(jié)束時,寄存器中所保留的代碼就是與Ui相應的數(shù)字代碼,從而完成了A/D轉(zhuǎn)換。這種A/D只需n次操作就能完成n位的轉(zhuǎn)換,轉(zhuǎn)換速度較高,精度也較高,電路結(jié)構(gòu)簡單。,目 錄,一 、ADC0809的結(jié)構(gòu),ADC0809是一種8路模擬輸入,8位逐次逼近式A/D。,IN0IN07:8路模擬量輸入線; A、B、C:通路選擇輸入線; EOC:轉(zhuǎn)換結(jié)束信號輸出線,轉(zhuǎn)換結(jié)束后EOC輸出一個寬為8個CLK周期的正脈沖。,1.4 典型A/D器件的應用,1.4.1、 A/D芯片ADC0809的應用,目 錄,圖17 ADC0809的內(nèi)部結(jié)構(gòu)圖,目 錄,圖18 ADC0809的引腳圖,目 錄,圖19 ADC0809的時序圖,目 錄,二、MCS51與ADC0809接口方法,在一個8路數(shù)據(jù)采集系統(tǒng)中。要求在P1.0輸入的同步脈沖控制下對8路模擬量依次各采集256個數(shù)據(jù),存放在外部0B000H0BFFFH單元中(0B000H0B0FFH中為IN0的采樣數(shù)據(jù), 0B100H0B1FFH中為IN1的采樣數(shù)據(jù), 0B700H0B7FFH中為IN07的采樣數(shù)據(jù)。程序如下:,AD0816: MOV R0,#00 MOV P2,#0B0H MOV R7,#0 MOV R5,#0 MOV R6,#08H MOV DPTR,#7FF8H ;置IN0地址 WAIT: JB P1.0,WAIT L0: MOVX DPTR,A,目 錄,二、MCS51與ADC0809接口方法,(1) 查詢方式,圖110 ADC0809查詢方式連接圖,目 錄,下面的程序是采用查詢方法, 分別對 8 路模擬信號輪流采樣一次, 并依次把結(jié)果轉(zhuǎn)存到數(shù)據(jù)存儲區(qū)的采樣轉(zhuǎn)換程序。,MOV R1, data ; 置數(shù)據(jù)區(qū)首址 MOV DPTR, 7FF8H ; P2.7=0, 指向通道 0 MOV R7, 08H ; 置通道數(shù) LP1: MOVX DPTR, A ; 啟動A/D轉(zhuǎn)換 MOV R6, 0AH ; 軟件延時 DALY: NOP NOP NOP,目 錄,NOP NOP DJNZ R6, DALY MOVX A, DPTR ; 讀取轉(zhuǎn)換結(jié)果 MOV R1, A ; 存儲數(shù)據(jù) INC DPTR ; 指向下一個通道 INC R1 ; 修改數(shù)據(jù)區(qū)指針 DJNZ R7, LP1 ; 8 個通道全采樣完了嗎?,目 錄,(2) 中斷方式,圖 111ADC0809 中斷方式硬件接口,目 錄,這里將ADC0809 作為一個外部擴展的并行I/O口, 直接由8031的P2.0和WR脈沖進行啟動。因而其端口地址為 0FEFFH。用中斷方式讀取轉(zhuǎn)換結(jié)果的數(shù)字量, 模擬量輸入通道選擇端ADD A、ADD B、ADD C分別與8031的P0.0、 P0.1、P0.2 直接相連, CLK由 8031 的ALE提供。其讀取通道 0 轉(zhuǎn)換后的數(shù)字量程序段如下:,ORG 1000H INADC: SETB IT1 ; INT1設為邊沿觸發(fā) SETB EA ; 開中斷INT1 SETB EX1,目 錄,MOV DPTR, 0FEFFH ; 端口地址送DPTR MOV A, 00H ; 選擇 0 通道輸入 MOVX DPTR, A ; 啟動輸入 ORG 0013H AJMP PINT1 PINT1: MOV DPTR, 0FEFFH ; 端口地址送DPTR MOVX A, DPTR ; 讀取IN0 的轉(zhuǎn)換結(jié)果 MOV 50H, A ; 存入 50H單元 MOV A, 00H MOVX DPTR, A ; 啟動A/D, IN0 通道輸入并轉(zhuǎn)換 RETI ; 返回,目 錄,【例1.2】:在一個8路數(shù)據(jù)采集系統(tǒng)中。要求在P1.0輸入的同步脈沖控制下對8路模擬量依次各采集256個數(shù)據(jù),存放在外部0B000H0BFFFH單元中(0B000H0B0FFH中為IN0的采樣數(shù)據(jù), 0B100H0B1FFH中為IN1的采樣數(shù)據(jù), 0B700H0B7FFH中為IN07的采樣數(shù)據(jù)。參考程序如下:,AD0809: MOV R0,#00 MOV P2,#0B0H MOV R7,#0 MOV R5,#0 MOV R6,#08H MOV DPTR,#7FF8H ;置IN0地址 WAIT: JB P1.0,WAIT L0: MOVX DPTR,A,目 錄,圖 112 【例1.2】硬件電路連接圖,目 錄,MOV 30H,#0AH DELAY: DJNZ 30H,DELAY FINISH: JB P3.3,FINISH MOVX A,DPTR MOVX R0,A INC DPTR INC P2 DJNZ R6,L0 DJNZ R7,L1 LCALL AD0809 L1: INC R5 MOV P2,#0B0H MOV A,R5 MOV R0,A MOV R6,#08H AJMP L0,目 錄,作 業(yè):,目 錄,P223 6,在單片機應用系統(tǒng)中,使用的顯示器主要有LED(發(fā)光二極管顯示器)和LCD(液晶顯示器)。 一、LED顯示器的結(jié)構(gòu) LED顯示器是由發(fā)光二極管來顯示字段的器件。,目 錄,2 顯示鍵盤及接口,2.1 LED顯示器及接口,共陰極與共陽極的段選碼互為反碼。,目 錄,二、顯示器的顯示方式 (1)、靜態(tài)顯示方式 靜態(tài)顯示方式就是當顯示器顯示某一個字符時,相應的發(fā)光二極管恒定地導通或截止,直到顯示另一個字符為止。靜態(tài)顯示時的亮度較高,編程容易,管理也較簡單,但占用I/O口資源較多,因此在顯示位數(shù)較多時,一般采用動態(tài)顯示方式。 設8255的PA、PB、PC三個8位I/O口輸出分別顯示字符“1”、“2”、“3”的程序如下(設8255控制口地址為7FFFH): MOV DPTR,#7FFFH ;8255控制口 MOV A,#80H MOV DPTR,A ;設8255 PA、PB、PC都為輸出口 MOV DPTR,#7FFCH ;指向8255 PA口地址,目 錄,MOV A,#0F9H MOVX DPTR,A ;顯示字符“1” MOV DPTR,#7FFDH ;指向8255 PB口地址 MOV A,#0A4H MOVX DPTR,A ;顯示字符“2” MOV DPTR,#7FFEH ;指向8255 PC口地址 MOV A,#0B0H MOVX DPTR,A ;顯示字符“3” RET,目 錄,(2)、動態(tài)顯示方式 在多位LED顯示時,為了節(jié)省I/O口線,一般采用動態(tài)顯示方式。動態(tài)顯示方式是一位一位地分時輪流點亮各位顯示器,對每一位顯示器來說,每隔一段時間輪流點亮一次。顯示器的亮度既與導通電流有關(guān),也與點亮和熄滅時間的比例有關(guān)。調(diào)整導通電流和時間參數(shù),可實現(xiàn)亮度較高較穩(wěn)定的顯示。這種顯示方式將七段LED顯示器的所有段選位并聯(lián)在一起,由一個8位I/O口控制,而共陰極或共陽極的公共端分別由相應的I/O口控制,實現(xiàn)各位顯示器的分時選通。,圖658中設6位顯示器的顯示緩沖器單元為內(nèi)部RAM 79H7EH,分別存放6位顯示器的顯示數(shù)據(jù)。顯示程序如下:,目 錄,1008,圖23 用8155 I/O口的6位動態(tài)顯示器接口,8155,+5V,COM0,COM1,COM2,COM3,COM4,COM5,共陰極顯示器,PA5 PA4 PA3 PA2 PA1 PA0,PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7,MCS51,74LS07,74LS06,目 錄,DIR6:MOV R0,#79H ;置顯示緩沖區(qū)首地址 MOV DPTR,#7F00H ;設8155的命令字寄存器地址 ;為7F00H MOV A,#03H MOVX DPTR,A ;設8155 PA、PB口為輸出口 MOV R3,#01 MOV A,R3 ;為PA口輸出準備數(shù)據(jù) LD0: MOV DPTR,#7F01H ;指向8155 PA口地址 MOVX DPTR,A ;設一個顯示器的公共端為0 INC DPTR ;指向8155 PB口地址 MOV A,R0 ;取顯示緩沖區(qū)的數(shù)據(jù) ADD A,#0DH MOVC A,A+PC ;查表找出與該顯示器顯示緩 ;沖區(qū)對應的字符數(shù)據(jù) DIR1:MOVX DPTR,A ;從8155 PB口輸出數(shù)據(jù),目 錄,ACALL DL1 ;進行適當?shù)难訒r,延時程序從略 INC R0 ;指向下一個顯示緩沖區(qū)地址 MOV A,R3 JB ACC.5,LD1;是否顯示到第6個顯示器? RL A ;為顯示下一個數(shù)據(jù)準備PA口數(shù)據(jù) MOV R3,A SJMP LD0 ;6個數(shù)據(jù)未顯示完,則繼續(xù)顯示 LD1: RET DSEG: DB 3FH,06H,5BH,4FH,66H,6DH;0、1、2、3、4、5 DSEG1:DB 7DH,07H,7FH,6FH,77H,7CH;6、7、8、9、A、b DSEG2:DB 39H,5EH,79H,71H,73H,3EH ;C、D、E、F、P、U DSEG3:DB 31H,6EH,1CH,23H,40H,03H;、y、 ;、 DSEG4:DB 18H,00,00,00 ;、,目 錄,LCD顯示器件工作電流小、重量輕、功耗低、壽命長,字跡清晰美觀,在便攜式儀表、低功耗應用的較高檔儀器儀表中被廣泛采用。,一、LCD顯示器的基本結(jié)構(gòu)及工作原理,LCD器件的基本結(jié)構(gòu)是在上、下兩玻璃電極之間注入向列型液晶材料,密封透明 。,目 錄,2.2 LCD顯示器及接口,液晶顯示器從顯示的形式上可分為段式、點陣字符式和點陣圖形式。 段式LCD顯示器顯示字型的筆畫與LED顯示器相同,也有ag七個段選位,另外小數(shù)點和其它一些符號,也可作為一個電極出現(xiàn)。同樣它也有一個公共端COM。其顯示方式也有靜態(tài)顯示方式和動態(tài)顯示方式。,靜態(tài)顯示方式需加直流電,動態(tài)顯示方式需加交流電。液晶分子在長時間的單向電流作用下容易發(fā)生電解,使LCD的壽命減少,因此液晶的驅(qū)動很少用需用直流電的靜態(tài)驅(qū)動方式,而是通常采用動態(tài)驅(qū)動方式。且因液晶在高頻交流電作用下也不能很好地顯示,故一般采取125150Hz的方波來驅(qū)動液晶。,目 錄,實用時,當前、背兩極之間電壓為0V時,該字段不亮,當兩極電壓為2倍幅值時,該字段呈現(xiàn)黑色顯示。 極間電壓0V產(chǎn)生的原理:當VB0V,因是異或門,所以總有VCVA,即前背兩電壓相等,從而電位差為0或VAVC0。故可以用B端作為液晶段的顯示控制端。,目 錄,目 錄,二、LCD驅(qū)動器ICM7211簡介,顯示數(shù)字的液晶顯示板有:3位半(如3555)、4位半(如YXY4501)、5位(如YXY5001)、6位(如YXY6500)、8位(如YXY8002)等。用于驅(qū)動的集成電路的型號很多,一般選用一次能驅(qū)動多位數(shù)的芯片,如ICM7211。,目 錄,目 錄,目 錄,三、LCD驅(qū)動器ICM7211(A)M與MCS51的接口,一片ICM7211(A)M只能驅(qū)動4位LCD,故共需兩片ICM7211(A)M采取級聯(lián)方式才能驅(qū)動YXY8002。圖中,P2.7作為第一片ICM7211(A)M的片選信號,則地址為7FFFH;P2.6作為第二片ICM7211(A)M的片選信號,則地址為0BFFFH。,目 錄,在8位LCD顯示器上顯示字符串“12345678”,經(jīng)過一段時間延時后再顯示字符串“HPHELP”的參考程序如下: LCD_DISP: MOV R2,#4 CLR A DS_LCD0: MOV R1,#0 MOV DPTR,#7FFFH ;準備清除第一片顯示 ADD A,# 7 DS_LCD1: MOVC A,A+PC MOVX DPTR,A ;清除第一片顯示(順 ;序為LCD1LCD4) INC R1 MOV A,R1 DJNZ R2,DS_LCD1,目 錄,SJMP DS_LCD2 LCDD11:DB 3FH,2FH,1FH,0FH DS_LCD2: MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#0BFFFH ;準備清除第二片顯示 ADD A,# 7 DS_LCD3: MOVC A,A+PC MOVX DPTR,A ;清除第二片顯示(順 ;序為LCD1LCD4) INC R1 MOV A,R1 DJNZ R2,DS_LCD3 SJMP DS_LCD4 LCDD12:DB 0CFH,8FH,4FH,0FH,目 錄,DS_LCD4: MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#7FFFH ;準備在第一片顯示“1234” ADD A,# 7 DS_LCD5: MOVC A,A+PC ;在第一片顯示“1234” MOVX DPTR,A INC R1 MOV A,R1 DJNZ R2,DS_LCD5 SJMP DS_LCD6 LCDD21:DB 31H,22H,13H,04H DS_LCD6: MOV R2,#4 CLR A,目 錄,MOV R1,#0 MOV DPTR,#0BFFFH ;準備在第二片顯示“5678” ADD A,# 7 DS_LCD7: MOVC A,A+PC ;在第二片顯示“5678” MOVX DPTR,A INC R1 MOV A,R1 DJNZ R2,DS_LCD7 SJMP DS_LCD8 LCDD22:DB 0C5H,86H,47H,08H DS_LCD8: ACALL DELAY ;延時,延時程序這里未給出 MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#7FFFH ;備在第一片顯示“HP” ADD A,# 7,目 錄,DS_LCD9: MOVC A,A+PC ;在第一片顯示“HP” MOVX DPTR,A INC R1 MOV A,R1 DJNZ R2,DS_LCD9 SJMP DS_LCD10 LCDD31:DB 3CHH,2EH,1AH,0AH DS_LCD10: MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#0BFFFH ;準備在第二片顯示“HELP” ADD A,# 7 DS_LCD11: MOVC A,A+PC ;在第二片顯示“HELP” MOVX DPTR,A,目 錄,INC R1 MOV A,R1 DJNZ R2,DS_LCD11 SJMP DS_LCD12 LCDD32:DB 0CCH,8BH,4DH,0EH DS_LCD12: RET,目 錄,作 業(yè):,P190 5,2.3 鍵盤及接口,鍵盤是由若干個按鍵組成的開關(guān)矩陣,是實現(xiàn)人機會話或人機通信的常用工具。由硬件識別鍵的閉合編碼鍵盤,由軟件識別鍵的閉合未編碼鍵盤。在由單片機組成的測控系統(tǒng)及智能化儀器中,用得較多的是未編碼鍵盤。 通常按鍵開關(guān)為機械彈性開關(guān),機械開關(guān)在閉合及斷開瞬間均伴隨有一連串的抖動 ,時間一般為520ms。,消除鍵抖動可用硬件和軟件兩種方法,一、獨立式未編碼鍵盤接口及處理程序,獨立式鍵盤是各按鍵相互獨立地接通一條輸入數(shù)據(jù)線 。,目 錄,START: MOV A,#0FFH MOV P1,A ;P1口作為輸入時,其口鎖存 ;器必須保持為1 MOV A,P1 ;取P1口的值,即讀鍵狀態(tài) JNB ACC.0,K0 ;0號鍵按下轉(zhuǎn)K0 JNB ACC.1,K1 ;1號鍵按下轉(zhuǎn)K1 JNB ACC.2,K2 ;2號鍵按下轉(zhuǎn)K2 JNB ACC.3,K3 ;3號鍵按下轉(zhuǎn)K3 JNB ACC.4,K4 ;4號鍵按下轉(zhuǎn)K4 JNB ACC.5,K5 ;5號鍵按下轉(zhuǎn)K5 JNB ACC.6,K6 ;6號鍵按下轉(zhuǎn)K6 JNB ACC.7,K7 ;7號鍵按下轉(zhuǎn)K7 JMP START ;無鍵按下返回 K0: LJMP PK0 ;轉(zhuǎn)0號鍵按下處理程序 K1: LJMP PK1 ;轉(zhuǎn)1號鍵按下處理程序 K7: LJMP PK7 ;轉(zhuǎn)7號鍵按下處理程序,目 錄,PK0: ;0號鍵處理程序 JMP START PK7: ;7號鍵處理程序 JMP START,二、行列式未編碼鍵盤原理及處理程序,對于未編碼鍵盤一般排列成nm矩陣形式,即由n行m列組成。當無鍵按下時,Xi均為高電平;當有鍵按下時,Xi的電平由Yi決定。如果把行線接單片機的輸入口,列線接單片機的輸出口,則可在單片機的控制下,先使,目 錄,列線Y0為低電平,其它列線為高電平,讀行線狀態(tài),如所有行線均為高電平,則表明Y0這一列沒有鍵閉合;如讀出的行線狀態(tài)不全為高電平,則為低電平的行線和Y0相交的鍵閉合。依次類推可獲得與其它列線相交的閉合鍵。獲取鍵狀態(tài)的方式有:CPU空閑時掃描鍵盤; 定時掃描鍵盤; 中斷方式掃描鍵盤。,三、行列式未編碼鍵盤與MCS51的接口方法,目 錄,目 錄,KD1: MOV A,#03H MOV DPTR,#7F00H ;設8155命令字地址為7F00H MOVX DPTR,A ;PA、PB為輸出,PC為輸入KEY1:ACALL KS1 ;調(diào)用判別有無鍵閉合子程序 JNZ LK1 ;有鍵閉合,則轉(zhuǎn)LK1 ACALL DIS ;無鍵閉合,調(diào)用顯示延時 AJMP KEY1 ;返回繼續(xù)判鍵是否閉合 LK1 : ACALL DIS ;調(diào)用顯示程序延時消除抖動 ACALL DIS ACALL KS1 ;消抖后,再次判鍵是否閉合 JNZ LK2 ;有鍵閉合,則轉(zhuǎn)LK2 ACALL DIS AJMP KEY1 ;無鍵閉,繼續(xù)判鍵是否閉合LK2: MOV R2,#01H ;先掃描第一列 MOV R4,#00H ;設第一列鍵序號為0 LK4: MOV DPTR,#7F01H ;指向8155 PA口地址 MOV A,R2,目 錄,MOVX DPTR,A ;8155 PA輸出 INC DPTR INC DPTR ;指向PC口地址 MOVX A,DPTR ;讀PC口的內(nèi)容 JB ACC.0,LONE ;表明0行無鍵按下 MOV A,#0 ; 0行有鍵按下,行起始鍵號為0 AJMP LKP ;跳轉(zhuǎn)至LKP,計算鍵號 LONE: JB ACC.1,NEXT ;表明1行無鍵按下 MOV A,#6 ; 1行有鍵按下,行起始鍵號為6 AJMP LKP LKP: ADD A,R4 ;行起始鍵號與列號之和為鍵號 PUSH ACC ;保存鍵號 LK3: ACALL DIS ;延時 ACALL KS1 ;判鍵是否釋放 JNZ LK3 ;等待鍵釋放 POP ACC ;取鍵號 ;對應的鍵處理程序從略,目 錄,RET NEXT: INC R4 ;指向下一列,列號加1 MOV A,R2 JB ACC.5,KND ;是否6列全部掃描一遍 RL A ;沒有,則準備掃描下一列 MOV R2,A ;即準備掃描下一列 AJMP LK4 KND: AJMP KEY1 ;繼續(xù)掃描鍵盤 KS1: MOV DPTR,#7F01H ;指向8155 PA口 MOV A,#0FFH MOVX DPTR,A ;輸出0FFH,即選中全部鍵盤列 INC DPTR INC DPTR ;指向8155 PC口 MOVX A,DPTR ;讀8155 PC口內(nèi)容 CPL A ;讀出的內(nèi)容取反 ANL A,#03H ;只有低位兩行鍵 RET,目 錄,以上鍵盤掃描程序,CPU需不停的掃描鍵盤,影響其它功能的執(zhí)行,工作效率較低。在實際使用鍵盤時常采用定時掃描鍵盤的方式或中斷方式。圖671為一個44鍵盤與MCS51采用中斷方式的一種接口電路。當鍵盤上有任一個鍵閉合時P3.3變?yōu)榈碗娖?,向CPU發(fā)出中斷請求 。,目 錄,實際是一種可編程的集成監(jiān)控器件。 可為64鍵提供鍵陣掃描式接口。 可以自動消抖,自動識別按鍵,給出鍵碼。 可對雙鍵和多鍵同時按下實行保護。 對發(fā)光二極管熒光屏及其他顯示器提供掃描式接口。 對于LED數(shù)碼管可顯示多達16位的字符 和數(shù)字顯示。,目 錄,2.3 專用鍵盤、顯示接口芯片8279的應用,一、 8279內(nèi)部結(jié)構(gòu)和電路工作原理,目 錄,(1)、I/O控制及數(shù)據(jù)緩沖器 I/O控制是計算機對8279進行控制的引線,包括讀、寫、片選以及數(shù)據(jù)/命令(狀態(tài))控制A0。 數(shù)據(jù)緩沖器是計算機與8279之間傳送數(shù)據(jù)或命令。,(2)、控制與定時寄存器及定時控制 控制與定時寄存器用來寄存鍵盤及顯示的工作方式,以及由CPU編程的其它操作方式。 定時控制決定一個由軟件編程的分頻數(shù)(值為231),以便從外部時鐘CLK分頻得到內(nèi)部所需要的100KHz時鐘。然后再經(jīng)過分頻,為鍵盤掃描提供適當?shù)闹鹦袙呙桀l率和顯示掃描時間。,目 錄,(3)、掃描計數(shù)器 編碼方式,掃描計數(shù)器作二進制計數(shù)。4位計數(shù)狀態(tài)從掃描線SL0SL3輸出,經(jīng)外部譯碼器譯碼后,為鍵盤和顯示器提供掃描線(十六選一);,譯碼方式,掃描計數(shù)器的最低二位被譯碼后,從SL0SL3輸出(四選一)。 在編碼方式下,掃描線為輸出高電平有效,在譯碼方式下掃描線為輸出低電平有效。,目 錄,(4)、回復緩沖器、鍵盤去抖及控制,a、 鍵盤工作方式 尋找一行中是否有閉合鍵 消抖:若發(fā)現(xiàn)RL70中某行有鍵按下,則延時10ms,再查RL70,仍有則形成鍵描述碼,放入先進先出寄存器(FIFO)。,描述碼格式,目 錄,b、選通方式 回復線的內(nèi)容在CNTL/STB信號的脈沖上升沿被送入到FIFO存貯器。,c、 傳感器開關(guān)狀態(tài)矩陣方式 回復線的內(nèi)容在每次按鍵掃描時被直接存貯到傳感器RAM(即FIFO存貯器)的相應單元中。,(5)、FIFO/傳感器RAM及其狀態(tài)寄存器,a、盤或選通工作方式 FIFO/傳感器 RAM是雙重功能得88RAM。 此時FIFO狀態(tài)寄存器存放FIFO的工作狀態(tài),如空、滿、多少字符、是否出錯等。當FIFO裝有內(nèi)容時,狀態(tài)邏輯產(chǎn)生IRQ1,向CPU發(fā)出中斷請求。,目 錄,b、 傳感器開關(guān)狀態(tài)矩陣方式 FIFO/傳感器RAM為傳感器RAM ,檢測到一個傳感器的狀態(tài)變化,則IRQ變?yōu)楦唠娖较駽PU。,(6)、顯示RAM和顯示地址寄存器,a、顯示RAM 顯示RAM用來存放顯示數(shù)據(jù),容量為168位。在顯示過程中,存貯的顯示數(shù)據(jù)輪流從顯示寄存器輸出。 顯示寄存器分為A、B兩組,OUTA03和OUTB03可以單獨送數(shù),也可以組成一個8位的字。,b、 顯示地址寄存器 用來寄存由CPU進行讀/寫顯示RAM的地址。 它可以由命令設定設置成每次讀出或?qū)懭胫笞詣舆f增或遞減 。,目 錄,二、 8279的管腳、引線與功能,目 錄,圖215 鍵盤、顯示接口芯片8279引腳圖,三、 命令字及命令字格式,(1)、鍵盤/顯示方式設置命令字,目 錄,預分頻器對外部輸入CLK端的時鐘信號進行PPPPP分頻 ,分頻取值范圍為231。,該命令只在傳感器方式時使用,在鍵盤工作方式中,讀出操作嚴格按照先入先出順序進行。,AI(D4)為自動增量特征位。當AI = 1時,則每次讀出傳感器RAM后地址自動加1使地址指針指向下一個存貯單元,下一個數(shù)據(jù)便從該地址讀出。,X(D3)為無關(guān)位。,AAA(D2 D1 D0)為傳感器RAM中的字節(jié)地址。,目 錄,AI(D4)為自動增量特征位。AI = 1時,每次讀出后地址自動加1,指向下一次讀地址。,AAAA(D3 D2 D1 D0)為讀顯示RAM中的存貯單元地址。,X(D4)為無關(guān)位。,當IW/A = 1或IW/B = 1時,可分別屏蔽該組端口,這樣CPU送信息到顯示RAM時就不影響該端口的內(nèi)容。,目 錄,當BL/A = 1或BL/B = 1時,表示該組的顯示輸出被消隱。當BL/A = 0或BL/B = 0時,表示該組的顯示輸出恢復顯示。,CF(D1)=1用來置空FIFO存貯器,傳感器RAM的讀出地址也被置為0。,CA(D0)為總清除位。當CA = 1時,則同時清除FIFO與顯示用RAM,目 錄,在N鍵輪回工作方式時,E=1則8279將以一種特定的錯誤方式工作。其特點是:在8279的消抖周期內(nèi),若有多個鍵同時按下,則置位FIFO狀態(tài)字中的錯誤特征位S/E,并產(chǎn)生中斷請求信號和阻止寫入FIFO RAM。,在傳感器工作方式中使用,每當傳感器狀態(tài)出現(xiàn)變化時,使IRQ變高,向CPU請求中斷,禁止寫入傳感器RAM。,目 錄,DU:顯示無效特征位, DU1表示顯示無效。 S/E:傳感器信號結(jié)束/錯誤特征值。 傳感器方式:S/E1表示最后一個傳感器信號已經(jīng)進入傳感器RAM中。 特殊錯誤方式時:S/E1表示出現(xiàn)多鍵同時按下錯誤。 O: FIFO溢出特征位:若FIFO已滿還企圖寫入,則出現(xiàn)超出錯誤,置O為1。 U: 不足錯誤特征位:若FIFO已經(jīng)空,還要讀出,則出現(xiàn)不足錯誤,置U為1。 F: F1表示FIFO已經(jīng)滿。 NNN:FIFO RAM中的字符數(shù),最多8個。,目 錄,五、 數(shù)據(jù)輸入/輸出,在鍵盤掃描方式中,發(fā)讀FIFO命令后,從數(shù)據(jù)口讀入數(shù)據(jù)的格式為:,CNTL(D7)為控制鍵CNTL的狀態(tài)位。,SHIFT(D6)為控制鍵SHIFT的狀態(tài)位。,掃描值(D5D4D3)為指示輸入鍵所在列(行)號(由SL2SL0的狀態(tài)確定)。,回送值(D2D1D0)為指示輸入鍵所在行(列)號(由RL7RL0的狀態(tài)確定)。,目 錄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年基于AI的金融風險評估模擬題
- 足細胞病的診斷與管理2026
- 2026年市場營銷經(jīng)理招聘筆試題目解析
- 2026年醫(yī)學實驗室技術(shù)員招聘筆試題
- 2026年環(huán)境科學與保護技術(shù)預測模擬題
- 2026年計算機等級考試全解計算機基礎(chǔ)操作應用題庫
- 2026年營養(yǎng)師資格認證考試營養(yǎng)學基礎(chǔ)知識試題
- 2026年食品質(zhì)量與安全檢測員考試題及答案
- 港口工程設計制度
- 2026年能源管理與節(jié)能減排認證題庫
- 健康體檢中心質(zhì)量管理手冊
- 人教版(2026)八年級下冊英語UNIT 4 Wonders of Nature講義
- Unit 1 Time to Relax Section A(1a-2d)教學課件 人教新教材2024版八年級英語下冊
- 礦山各類安全標識牌規(guī)范及設計標準
- 人文知識競賽重點題庫及答案
- 2025年大學《法醫(yī)學-法醫(yī)毒物分析》考試模擬試題及答案解析
- 醋酸回收系統(tǒng)工藝流程圖
- 渣土運輸計量管理辦法
- 銷售業(yè)績統(tǒng)計圖表模板(銷售數(shù)據(jù))
- DLT 593-2016 高壓開關(guān)設備和控制設備
- 形象代言人合同模板
評論
0/150
提交評論