第11章键盘与LED显示器接口技术_第1页
第11章键盘与LED显示器接口技术_第2页
第11章键盘与LED显示器接口技术_第3页
第11章键盘与LED显示器接口技术_第4页
第11章键盘与LED显示器接口技术_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微型计算机技术微型计算机技术第第1111章章 键盘与键盘与LEDLED显示器接口技术显示器接口技术键盘及其接口电路键盘及其接口电路 LED数码显示器及其接口电路数码显示器及其接口电路微型计算机技术微型计算机技术9.1 9.1 键盘及其接口电路键盘及其接口电路9.1.1 键盘键盘 键盘按用途分为通用键盘和专用键盘。有机械按键,键盘按用途分为通用键盘和专用键盘。有机械按键,电容按键,导电橡胶按键,薄膜按键。电容按键,导电橡胶按键,薄膜按键。1 1、通用键盘:微机系统中、通用键盘:微机系统中8484键,键,101/102/104101/102/104键,键,107107键等。键等。内含单片机,串行输

2、出,双字节扫描码。内含单片机,串行输出,双字节扫描码。2、专用键盘:根据自己需要设计键盘。、专用键盘:根据自己需要设计键盘。 按照按键的识别方式分为编码和非编码键。按照按键的识别方式分为编码和非编码键。1、编码键盘:通过硬件电路产生被按按键的键码和一个选通、编码键盘:通过硬件电路产生被按按键的键码和一个选通脉冲,可作为脉冲,可作为CPU的中断请求信号。的中断请求信号。2、非编码键盘:将按键排列成行、列矩阵,按键只是使相应、非编码键盘:将按键排列成行、列矩阵,按键只是使相应接点接通或断开,在程序配合下产生被按键的编码。接点接通或断开,在程序配合下产生被按键的编码。微型计算机技术微型计算机技术9.

3、1.2 键盘的工作原理键盘的工作原理 1 1、线性键盘、线性键盘 每个键对应每个键对应I/OI/O端口的一位,没有按键闭合时,各位均处于端口的一位,没有按键闭合时,各位均处于高电位;当某键被按下时,对应位与地接通,则为低电位,高电位;当某键被按下时,对应位与地接通,则为低电位,而其他仍为高电位。因此,而其他仍为高电位。因此,CPUCPU通过读入通过读入I/OI/O端口数据并判断端口数据并判断哪一位为哪一位为“0”0”,即可知哪一个键被按下,从而转到相应功,即可知哪一个键被按下,从而转到相应功能的处理程序去执行。能的处理程序去执行。 线性键盘原理图线性键盘原理图 微型计算机技术微型计算机技术按键

4、抖动按键抖动按键就是无锁开关,由于机械运动的抖动和接触按键就是无锁开关,由于机械运动的抖动和接触的不稳定,按键在按下和释放时有抖动。的不稳定,按键在按下和释放时有抖动。按键过程 前跳沿 后跳沿 识别区 按按键过程图键过程图 按键时间大于按键时间大于100mS100mS前跳沿和后跳沿小于前跳沿和后跳沿小于20ms20ms:抖动过程一般持续:抖动过程一般持续 5 510ms10ms软件去抖:软件去抖:避免抖动常用软件延迟来让过抖动区,此消除抖避免抖动常用软件延迟来让过抖动区,此消除抖动的方法为软件去抖。动的方法为软件去抖。微型计算机技术微型计算机技术2 2、矩阵键盘、矩阵键盘 当较多的按键需要识别

5、时,常将按键设计成阵列形式。当较多的按键需要识别时,常将按键设计成阵列形式。 一般地,一个键盘阵列可以有一般地,一个键盘阵列可以有N N行和行和M M列,共有列,共有N NM M个按键,称个按键,称为为N N* *M M键盘阵列,或键盘阵列,或N NM M键盘矩阵。键盘矩阵。 识别识别矩阵键盘上的闭合键矩阵键盘上的闭合键的方法通常有行的方法通常有行扫描法扫描法和和反转法反转法。第1列 第2列 第3列 第4列矩阵键盘原理图矩阵键盘原理图微型计算机技术微型计算机技术行扫描法行扫描法 将行线接一并行口,输出方式;将列线也接并行口,将行线接一并行口,输出方式;将列线也接并行口,输入方式,输入方式,行扫

6、描法识别按键分两步:行扫描法识别按键分两步:识别是否有键按下:识别是否有键按下:先将所有行线置为低电平,先将所有行线置为低电平,读取列线值,若此时列线值全为读取列线值,若此时列线值全为1 1,说明无键按下;,说明无键按下;否则说明有键按下。否则说明有键按下。判别是哪一个键按下:判别是哪一个键按下:编程改变行扫描码,使行编程改变行扫描码,使行线逐行为线逐行为0 0,其余行为,其余行为1 1,然后读取列值,看是否,然后读取列值,看是否有列线变成有列线变成0 0,逐行扫描。当读到某一列线的值为,逐行扫描。当读到某一列线的值为0 0时,说明行与列线相交的位置上的键被按下,可时,说明行与列线相交的位置上

7、的键被按下,可以退出扫描,根据此时的行扫描码和列线值,便以退出扫描,根据此时的行扫描码和列线值,便能识别闭合的到底是哪一个键。能识别闭合的到底是哪一个键。微型计算机技术微型计算机技术行扫描法行扫描法8255A微型计算机技术微型计算机技术键盘接口电路应用举例键盘接口电路应用举例例:设上图电路中,例:设上图电路中,8255A的地址为的地址为200h-203h,利用行扫描,利用行扫描法编写按键识别程序,将按下键的行号与列号的编码存于法编写按键识别程序,将按下键的行号与列号的编码存于BX中。中。分析:分析:82558255的的A A口用作输出口,口用作输出口,B B口用作输入口,口用作输入口,AHAH

8、存放输出给存放输出给A A口的口的内容,内容,ALAL存放从存放从B B口读入的列的内容。口读入的列的内容。逐行输出逐行输出0 0识别不同按键的过程是:识别不同按键的过程是:先将先将AHAH的的D0D0位置位置0 0,其余位,其余位置置1 1,即,即AH=0feh,AH=0feh,并将并将AHAH的内容输出给的内容输出给PAPA口的行线,使键盘阵列口的行线,使键盘阵列的第的第1 1行输出为行输出为0 0,然后从,然后从PBPB口读入列线状态放在口读入列线状态放在ALAL中,若中,若ALAL不不为全为全1 1,说明第,说明第1 1行有键按下。例如,若第行有键按下。例如,若第1 1行第行第1 1列

9、交叉点的键列交叉点的键按下,则读入到按下,则读入到ALAL的内容为的内容为0feh(AL0feh(AL的的D0D0位为位为0 0,其余,其余位位为为1)1),则该键按下时,则该键按下时,AHAH和和ALAL的内容就可组成一个行与列的编码为的内容就可组成一个行与列的编码为AHAL=fefehAHAL=fefeh。微型计算机技术微型计算机技术 当行线的第当行线的第1 1行输出行输出0 0时,如果从时,如果从PBPB口读入的内容为全口读入的内容为全1 1,说,说明第明第1 1行无键按下,这时将行无键按下,这时将AHAH寄存器的寄存器的0 0左移一位,使左移一位,使AH=0fdhAH=0fdh,再输出

10、给,再输出给PAPA口的行线,第口的行线,第PAPA口的第口的第2 2行输出为行输出为0 0,仿第一行的方法,可判别第二行是否有键按下。每个按键的仿第一行的方法,可判别第二行是否有键按下。每个按键的编码都是唯一的。编码都是唯一的。 因共有因共有4 4行按键,所以,在识别过程中从行按键,所以,在识别过程中从PAPA口最多输出口最多输出4 4行行0 0。用用CXCX作为行输出计数器,将作为行输出计数器,将CXCX的初值设为的初值设为4 4,表示共需从,表示共需从PAPA口输出口输出4 4行行0 0,每从,每从PAPA口输出一行口输出一行0 0,就将,就将CXCX内容就减内容就减1 1,当,当CXC

11、X减至减至0 0时,就从时,就从PAPA口输出完口输出完4 4行行0 0。 在程序设计时,将各个键对应的代码放在一个表中,程序通在程序设计时,将各个键对应的代码放在一个表中,程序通过查表来确定具体按下的为哪一个键。过查表来确定具体按下的为哪一个键。微型计算机技术微型计算机技术按键识别程序按键识别程序PORTAEQU 200HPORTBEQU 201HPORTDEQU 203Hmov dx,PORTD;控制口地址送;控制口地址送dxmov al,10000010B ;8255的的A口和口和B口工作在方式口工作在方式0;A口出,口出,B口入口入 out dx,al;向;向8255写控制字写控制字

12、nokey: mov dx,PORTA mov al,0 out dx,al ;从;从8255的的A口输出全口输出全0给键盘阵列行线给键盘阵列行线 mov dx,PORTBin al,dx ;从;从8255的的B口读入键盘阵列的列线状态口读入键盘阵列的列线状态or al,0f0h ;将与键盘列线无关的高;将与键盘列线无关的高4位行线置位行线置1cmp al,0ffh ;比较从列线读入的是否为全;比较从列线读入的是否为全1je nokey ;是全;是全1,则无键按下,转,则无键按下,转微型计算机技术微型计算机技术 mov cx, 1000again: loop again ;延时去抖动;延时去抖

13、动mov cx,4 ;有键按下,;有键按下,A口共有口共有4行逐行输出行逐行输出0mov al,0feh ;首先从;首先从A口的口的D0位输出位输出0mov ah,al ;行输出的值存于;行输出的值存于ah中中next: mov dx,PORTAout dx,al ;从行线输出;从行线输出mov dx,PORTBin al,dx ;读入列线状态;读入列线状态or al,0f0h ;将与列线无关的高;将与列线无关的高4位置位置1cmp al,0ffh ;判;判8255PB口读入的是否为全口读入的是否为全1jne findkey ;不为全;不为全1,说明有键按下,说明有键按下rol ah,1 ;否

14、则行输出的;否则行输出的0移至下一行移至下一行mov al,ahloop next ;4行查完否,未完继续行查完否,未完继续jmp nokey ;4行查完未发现有键按下行查完未发现有键按下findkey: mov BX,AX;将;将AH和和AL中的行码和列码存于中的行码和列码存于BX中中微型计算机技术微型计算机技术9.2 LED数码显示器及其接口电路数码显示器及其接口电路9.2.1 LED的工作原理的工作原理 常用的常用的LED器件:七段数码管和器件:七段数码管和“米米”字数码管,如下图字数码管,如下图所示。它们是由若干只发光二极管做在一起所示。它们是由若干只发光二极管做在一起组成字型组成字型

15、构成的,构成的,可可加一小数点。每位加一小数点。每位LEDLED驱动电流驱动电流5 530mA30mA。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:24-Jul-2004Sheet of File:C:Documents and Settingsyyc桌 面 protel图 片 7.21yao524.ddbDrawn By:a bcdefgdpabcdefgdpGNDGND七段LED外形图12345678910abcdefghijklmndpbkcomajifcomhdmeghcomdpcl123456789LED1011121314151617

16、18I/O接口b0b1b2+5I/O接口+5Va0a1a2a3b0b1b2I/O接口+5Va0a1a2a3b0b1b2线性键盘原理图(a)行描法原理图行反转法原理图(a)七段)七段LED外形图外形图 (b)米字数码管)米字数码管 微型计算机技术微型计算机技术LED的工作原理的工作原理若要使若要使LED显示信息,那么对于共阳极显示信息,那么对于共阳极LED,其公,其公共端应接高电平(或共端应接高电平(或+5V),而对于共阴极),而对于共阴极LED,其公共端应接地。其公共端应接地。 七段七段LED原理图原理图“米米”字字LED原理图原理图微型计算机技术微型计算机技术9.2.2 LED数码显示器接口

17、电路数码显示器接口电路微型计算机技术微型计算机技术多位显示问题的解决(动态显示)多位显示问题的解决(动态显示) 实际使用时,往往要用几个显示管实现多位显示。实际使用时,往往要用几个显示管实现多位显示。这时,如果每一个这时,如果每一个LED占用一个独立的输出端口,占用一个独立的输出端口,那么,所占用的输出通道就太多了,而且,驱动电那么,所占用的输出通道就太多了,而且,驱动电路的数目也很多。路的数目也很多。 计算机系统中常用的办法:计算机系统中常用的办法: LED一般用动态扫描,一般用动态扫描,硬件上用公用的驱动电路来驱动各显示管,每位硬件上用公用的驱动电路来驱动各显示管,每位LED驱动电流驱动电

18、流1030mA。在软件上用扫描方法来实。在软件上用扫描方法来实现数码显示,使硬件电路简单,发光效率高;但发现数码显示,使硬件电路简单,发光效率高;但发光控制复杂。光控制复杂。 微型计算机技术微型计算机技术LED与微机接口电路与微机接口电路74HC273D7D6D5D4D3D2D1D0Q7Q6Q5Q4Q3Q2Q1Q0CLKSEGDIS74HC273D7D6D5D4D3D2D1D0Q7Q6Q5Q4Q3Q2Q1Q0DIGDISCLKD7D6D5D4D3D2D1D0A7A6A5A4A3A2A1A0G1G2Y7Y6Y5Y4Y3Y2Y1Y0I6I5I4I3I2I1I0O6O5O4O3O2O1O0MC141

19、374HC244HGFEDCBALED与微机接口电路与微机接口电路1101108 8微型计算机技术微型计算机技术例:设上图中例:设上图中CPU采用采用8088,显示器为共阴极,显示器为共阴极LED数码管。段数码管。段驱动采用驱动采用74HC244(8位三态缓冲器),位驱动采用位三态缓冲器),位驱动采用MC1413 (7位反相输出)位反相输出) 。SEGDIS为段锁存器,口地址为段锁存器,口地址211H;DIGDIS为位锁存器,口地址为位锁存器,口地址210H(可由译码电路决(可由译码电路决定其地址值)。试用动态扫描方式显示。定其地址值)。试用动态扫描方式显示。 编程设计思路:利用编程设计思路:

20、利用8253的定时器的定时器0输出输出OUT0通过总线中通过总线中的的IRQ2(8259A输入端),每隔输入端),每隔20ms定时向定时向CPU发中断,发中断,每进一次中断将每进一次中断将4个数码管都显示一次。即每秒显示个数码管都显示一次。即每秒显示50次。次。 设设8253CLK0的频率为的频率为250KHz,则定时器则定时器0的时间常数的时间常数N0=500082538259A250KHZIR2OUT0CLK0GATE0+5v微型计算机技术微型计算机技术INT00EQU 20H ;8259A偶端口地址偶端口地址INT01EQU 21H ;8259A奇端口地址奇端口地址TIME0 EQU 2

21、00H ;8253定时器定时器0端口地址端口地址TCTLEQU 203H ;8253控制口地址控制口地址SEGDEQU 211H ;LED段段端口端口地址地址DIGDEQU 210H ; LED位位端口端口地址地址;堆栈段;堆栈段; 数据段数据段 DISM DB 4 DUP (10H) ; 显示缓冲区显示缓冲区DTBL : DB 3FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H DB 7FH , 67H , 77H , 7CH , 39H , 5EH , 79H , 71H DB 00H , 40H , 46H , 73H , 76H , 38H ,

22、3EH , 37H DB 21H , 0CH , 03H , 18H , 31H , 63H , 5CH , 0FH微型计算机技术微型计算机技术;代码段(部分);代码段(部分)CODE SEGMENT START: ; 段基址赋值段基址赋值MOVDISM , 14H ;MOVDISM+1 , 0EH ;MOVDISM+2 , 15H ; MOVDISM+3 , 15H ;初始显示信息;初始显示信息HELL(HELLO) ;初始化初始化8253CLIMOVDX , TCTLMOVAL,00110100 ; 定时器定时器0,方式,方式 2 OUTDX,ALMOVDX, TIME0MOVAX,5000OUTDX,ALMOVAL,AH OUTDX,AL 微型计算机技术微型计算机技术 ;0AH号中断向量设置(略)号中断向量设置(略)MOV DX,INT01IN AL,DXAND AL,0FBH ;开放开放IRQ2中断对应的屏蔽位中断对应的屏蔽位OUT DX,ALSTIAGAN: MOV CX,5000;延时等待硬件中断延时等待硬件中断TT:LOOP TTMOV AH,01HINT 16H ;BIOS中断键盘功能,判断是否有键被按下中断键盘功能,判断是否有键被按下JZ AGAN;无键,转无键,转CLIMOV DX,INT01IN AL,DXOR AL,04H ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论