键盘显示接口芯片的应用
- 格式:doc
- 大小:270.50 KB
- 文档页数:7
数码管显示驱动和键盘扫描控制器CH451及其应用摘要介绍一种新型的键盘显示驱动芯片451的性能特点和工作原理,给出了451键盘显示驱动芯片与-51单片机的接口方法与相应的软件驱动程序。
关键词键盘显示控制;单片机;451单片机在开发过程中,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要,其中原因之一是人机界面中的键盘显示占用了系统太多资源,从而造成系统庞大,同时降低了系统的可靠性。
在单片机应用系统中,键盘显示通常可采用以下几种方式1采用并行接口的键盘显示专用芯片8279。
但8279所需外围元件多显示驱动、译码等、占用电路板面积大、综合成本高,在中小系统中常常大材小用;2采用通用并行I/O芯片扩展如用8155等,但此方案同样需要驱动显示,同时键盘显示扫描还需占用CPU大量时间;3采用专用显示控制器,并用CPU的I/O引脚完成键盘输入如MC14499、PS7219、MAX7219、ICM7218、TLC5921等,大多是串行接口并有显示驱动能力,I/O占用少。
这种接口方式省去了显示的扫描,而且电路大多也很简单,通常在系统需要的按键较少时比较适用;4采用带I2C总线的键盘显示芯片如显示用SAA1064,键盘用PCF8574,不过这种方式对于无I2C总线接口的CPU来说,编程显得有些不便;5采用串行接口的键盘显示专用芯片,如BC7280/81、HD7279、CH451等。
这类芯片占用CPU的资源少,传输速度较快,外围器件要求也较少,在中小系统中都可得到广泛的应用。
BC7280/81与HD7279中已有介绍,本文着重介绍CH451的主要特性及接口应用方法。
1CH451的功能与引脚介绍CH451是一个整合了数码管显示驱动和键盘扫描控制以及μP监控的多功能外围芯片。
CH451内置RC振荡电路,可以直接动态驱动8位数码管或者64位LED,具有BCD译码或不译码功能,可实现数据的左移、右移、左循环、右循环、各数字独立闪烁等控制功能。
键盘显示智能控制芯片HD7279及应用实例
袁静萍;厉荣卫
【期刊名称】《常州技术师范学院学报》
【年(卷),期】1999(005)004
【摘要】介绍一种新型串行接口的8位LED数码管及64例键键盘智能控制芯片,论述了该芯片的特点和使用方法,并给出其在医院门诊呼号系统中的具体应用。
使用该芯片,占用的I/O口线少。
较常规的动态扫描电路具有硬件电路简单、软件工作量少、使产品的性价比高等优点。
【总页数】7页(P18-24)
【作者】袁静萍;厉荣卫
【作者单位】无
【正文语种】中文
【中图分类】TP273
【相关文献】
1.显示和键盘智能控制芯片zlg7289A的原理及应用 [J], 吴敏;汤黎明;刘铁兵;凌刚
2.显示键盘智能控制芯片ZLG7289A在数控切割系统中的应用 [J], 杨恢先;杨穗;
王子菡;陶霞
3.键盘显示智能控制芯片HD7279A的应用设计 [J], 陈光绒;胡克满
4.键盘显示智能控制芯片HD7279A的应用 [J], 李振国;李志刚
5.智能控制芯片HD7279及其应用 [J], 李学海;王有才
因版权原因,仅展示原文概要,查看原文内容请购买。
在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通信、键盘输入等[1,4]。
其中利用键盘接口输入数据,是实现现象实时调试、数据调整和控制最常用的方法。
单片机的外围键盘扩展电路有多种实现方式,例如直接利用I/O接口线或外接8255A接口芯片,配合适当的接口管理程序,就可以实现外围键盘扩展功能。
但是,在这些方法中,键盘扩展电路需要占用单片机的资源对按键进行监控和处理,这对要求高实时性处理的单片机系统是不实现的。
为了解决这一问题,可以使用专用键盘接口芯片(例如Intel8279)[2]来组建键盘子系统。
而且,这类专用键盘接口芯片在使用灵活性方面尚有欠缺,尤其当用户需要实现某些特定功能时,其缺点更为明显。
针对上述问题,本文提出一种利用复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)设计技术[3]实现专用键盘接口芯片的方案。
1 系统原理图1是单片机系统中键盘子系统的构成原理框图。
其中键盘接口芯片KB-CORE是该子系统的核心部分,它应具备如下功能:第一,产生按键扫描时序,并进行硬件去抖动。
如果直按键按下,实现按键编码、中断处理等功能。
第二,可以区分处理数字键和功能键。
数字键钭由接口芯片暂存,而当功能键被按下时申请CPU中断处理;对多个按键同时按下,按一定的编码优先级处理。
第三,提供与MCS-51系列单片机兼容的接口,单片机可以读取芯片中保存的数据或功能代码。
第四,提供数据显示接口,可以直接驱动4位七段LED数码管,并进行动态扫描显示。
按键根据键盘子系统的服务对象拟设置子数字键(0~9)、功能键(ROW、COL、DAT)、清零键(CLR)共14个,排成4×4的矩阵,有两个未定义。
2 专用键盘接口芯片功能结构设计根据上述专用键盘芯片KB-CORE的功能要求,图2示出本芯片内部应有的结构框图。
其工作原理如下:(1)键盘扫描控制及编码电路中内含一个环形计数器。
多功能外围芯片CH451及其应用CH451是一个整合了数码管显示驱动和键盘扫描控制以及μP监控的多功能外围芯片。
用CH451扩展键盘显示接口,具有接口简单、占用CPU资源少、外围器件简单、性价比高等优点,可在各种单片机系统中得到广泛的应用。
功能说明CH451内置RC振荡电路,可以直接动态驱动8位数码管或者64位LED,具有BCD译码或不译码功能,可实现数据的左移、右移、左循环、右循环、各数字独立闪烁等控制功能。
CH451内置大电流驱动级,段电流不小于30mA,字电流不小于160mA,并有16级亮度控制功能。
该器件内置64键键盘控制器,可实现8×8矩阵键盘扫描,并内置去抖动电路,可提供按键中断与按键释放标志位等功能。
CH451可选择简洁的1线串行接口或高速4线串行接口,且内置上电复位,可提供高电平有效复位和低电平有效复位两种输出,同时内置看门狗电路。
封装及引脚功能CH451有28引脚的DIP28与SOP28封装以及DIP24S封装形式,28脚与24脚在功能上稍有差别,它们的引脚定义见表1所列。
操作命令CH451共有11条操作命令,每条操作命令均为12位,其中高4位为标识码,低8位为参数,x可为任意值(下同)。
空操作(0000xxxxxxxxB)空操作命令对CH451不产生任何影响,该命令可以在多个CH451级联的应用中透过前级CH451向后级CH451发送操作命令,而不影响前级CH451的状态。
例如,要将操作命令001000000001B发送给两级级联电路中的后级CH451(后级CH451的DIN引脚连接到前级CH451的DOUT 引脚),只要在该操作命令后添加空操作命令000000000000B再发送,那么,该操作命令将经过前级CH451到达后级CH451,而空操作命令留给了前级CH451。
另外,为了在不影响CH451的前提下变化DCLK以清除看门狗计时器,也可以发送空操作命令。
在非级联的应用中,空操作命令可只发送高4位。
实验一键盘显示系统实验1.实验目的:(1)了解8155芯片的工作原理以及应用(2)了解键盘、LED显示器的接口原理以及硬件电路结构(3)掌握非编码键盘的编程方法以及程序设计2.实验内容:将程序输入实验系统后,在运行状态下,按下数字0~9之一,将在数码管上显示相应数字,按下A、B或C之一,将在数码管上显示“0”、“1”或“2”循环3.程序框图:4. 实验程序下面程序有四部分组成,程序的地址码、机器码、程序所在行号(中间)和源程序。
字型码表和关键字表需要同学们自己根据硬件连接填在相应位置。
地址码机器码 1 源程序0000 2 org 0000h0000 90FF20 3 mov dptr,#0ff20h0003 7403 4 mov a,#03h ;方式字0005 F0 5 movx @dptr,a ;A和B口为输出口,C口为输入口0006 753012 6 mov 30h,#12h ;LED共阴极,开始显示“H”,地址偏移量送30h0009 1155 7 dsp: acall disp1 ;调显示子程序000B 11FE 8 acall ds30ms000D 1179 9 acall scan ;调用键盘扫描子程序000F 60F8 10 jz dsp ;若无键按下,则dsp0011 11B7 11 acall kcode ;若有键按下,则kcode0013 B40A00 12 cjne a,#0ah,cont ;是否数字键,若是0-9则是,a-c则否0016 400F 13 cont: jc num ;若是,则num0018 90001F 14 mov dptr,#jtab ;若否,则命令转移表始址送dptr 001B 9409 15 subb a,#09h; 形成jtab表地址偏移量001D 23 16 rl a ;地址偏移量*2001E 73 17 jmp @a+dptr ;转入相应功能键分支程序001F 00 18 jtab: nop0020 00 19 nop0021 8008 20 sjmp k1 ;转入k1子程序0023 800B 21 sjmp k2 ; 转入k2子程序0025 800E 22 sjmp k3 ; 转入k3子程序0027 F530 23 num: mov 30h,a0029 80DE 24 sjmp dsp ; 返回dsp002B 7531C0 25 k1: mov 31h,#0c0h ; "0" 循环显示002E 800A 26 sjmp k40030 7531F9 27 k2: mov 31h,#0f9h ; "1" 循环显示0033 8005 28 sjmp k40035 7531A4 29 k3: mov 31h,#0a4h ; "2" 循环显示0038 8000 30 sjmp k4003A 7B01 31 k4: mov r3,#01h ;显示最末一位,注意共阴极003C EB 32 k5: mov a,r3003D 90FF21 33 mov dptr,#0ff21h0040 F0 34 movx @dptr,a ;字位送81550041 E531 35 mov a,31h0043 90FF22 36 mov dptr,#0ff22h; 字型口0046 F0 37 movx @dptr,a ;字型送8155的B口0047 11EC 38 acall delay ;延时1ms***0049 74FF 39 mov a,#0ffh004B F0 40 movx @dptr,a ;关显示,在此使LED各位显示块都灭004C EB 41 mov a,r3004D 23 42 rl a004E FB 43 mov r3,a004F BB40EA 44 cjne r3,#40h,k5 ;还没有循环玩一遍,则循环继续0052 80E6 45 sjmp k4 ;若循环完一遍则返回k4;又开始新一轮的循环0054 22 46 ret0055 90FF21 47 disp1: mov dptr,#0ff21h; 字位口A,注意led是共阴极接法0058 7401 48 mov a,#01h005A F0 49 movx @dptr,a005B 90FF22 50 mov dptr,#0ff22h;字型口005E E530 51 mov a,30h0060 2402 52 add a,#02h0062 83 53 movc a,@a+pc0063 F0 54 movx @dptr,a ;字型码输入,N1点亮0064 22 55 ret ;下面是0到c的字型码0065 ? 56 db ????0066 ?0067 ?0068 ?0069 ?006A ? 57 db ????006B ?006C ?006D ?006E ?006F ? 58 db ????0070 ?0071 ?0072 ?0073 ?0074 ? 59 db ????0075 ?0076 ?0077 ?0078 ?0079 74FF 60 scan: mov a,#0ffh; 关显示码a007B 90FF22 61 mov dptr,#0ff22h; B口地址送dptr007E F0 62 movx @dptr,a ;关led显示007F 7400 63 mov a,#00h0081 90FF21 64 mov dptr,#0ff21h ;A口地址,字位码0084 F0 65 movx @dptr,a0085 90FF23 66 mov dptr,#0ff23h ;C口地址0088 E0 67 movx a,@dptr0089 540F 68 anl a,#0fh; 取出列值送a008B B40F02 69 cjne a,#0fh,next1;若有键按下,则next1008E 8025 70 sjmp next40090 11F5 71 next1: acall ds10ms ;延时10ms0092 7A00 72 mov r2,#00h ;窜键标志位清零0094 79FE 73 mov r1,#0feh; 行扫描初值送a0096 90FF21 74 loop: mov dptr,#0ff21h ;dptr指向A口0099 E9 75 mov a,r1 ;行扫描值送a009A F0 76 movx @dptr,a009B 90FF23 77 mov dptr,#0ff23h009E E0 78 movx a,@dptr ;读c口009F 540F 79 anl a,#0fh ; 取出列值00A1 B40F02 80 cjne a,#0fh,next2 ;若被按键在本行,则next2 00A4 8007 81 sjmp next3;若不在本行,则next300A6 0A 82 next2: inc r2 ;窜键标志位加100A7 BA010B 83 cjne r2,#01h,next4 ;若为窜键,则返回监控00AA FC 84 mov r4,a ;列值送r400AB E9 85 mov a,r100AC FB 86 mov r3,a ; 行值送r300AD E9 87 next3: mov a,r1 ;行扫描值送a00AE 23 88 rl a ;左移一位00AF F9 89 mov r1,a ;送回r100B0 B47FE3 90 cjne a,#7fh,loop ;若未扫描完一遍,则loop 00B3 01B6 91 ajmp next5 ;若扫描完一遍,则next500B5 E4 92 next4: clr a00B6 22 93 next5: ret00B7 7900 94 kcode: mov r1,#00h00B9 EB 95 mov a,r300BA D3 96 setb c00BB 13 97 loop1: rrc a00BC B4FF02 98 cjne a,#0ffh, next6100BF 8003 99 sjmp next600C1 09 100 next61: inc r100C2 80F7 101 sjmp loop100C4 E9 102 next6: mov a,r100C5 C4 103 swap a00C6 F9 104 mov r1,a00C7 EC 105 mov a,r400C8 540F 106 anl a,#0fh00CA 49 107 orl a,r100CB F5F0 108 mov b,a00CD 9000DF 109 mov dptr,#ktab00D0 7800 110 mov r0,#00h00D2 E4 111 clr a00D3 93 112 pepe: movc a,@a+dptr00D4 B5F002 113 cjne a,b,next700D7 8004 114 sjmp resv00D9 08 115 next7: inc r000DA E8 116 mov a,r000DB 80F6 117 sjmp pepe00DD E8 118 resv: mov a,r000DE 22 119 ret;下面表格存放0到C的关键字00DF ? 120 ktab: db ????00E0 ?00E1 ?00E2 ?00E3 ?00E4 ?00E5 ? 121 db ????00E6 ?00E7 ?00E8 ?00E9 ?00EA ?00EB ? 122 db ?;;表示0到C的关键字00EC 7F02 123 delay: mov r7,#02h ;延时1ms00EE 7EFF 124 delay1: mov r6,#0ffh00F0 DEFE 125 delay2: djnz r6,delay200F2 DFFA 126 djnz r7,delay100F4 22 127 ret00F5 7F14 128 ds10ms: mov r7,#14h ;延时10ms00F7 7EFF 129 dely1: mov r6,#0ffh00F9 DEF5 130 dely2: djnz r6,delay200FB DFF1 131 djnz r7,delay100FD 22 132 ret00FE 7F3C 133 ds30ms: mov r7,#3ch ;延时30ms0100 7EFF 134 dely3: mov r6,#0ffh0102 DEEC 135 dely4: djnz r6,delay20104 DFE8 136 djnz r7,delay10106 22 137 ret138 end5. 实验步骤:(1) 输入程序,本实验系统有两种输入方法. a)可以直接通过系统上的小键盘输入机器码也可以采用b)把实验系统和PC机的串口直接相连,在PC机上通过专用软件编译程序,然后通过串行口把编译后的程序机器码下载到实验系统中.(2) 输入程序首地址,按运行键EX,程序运行,观察此时显示结果.(3) 按下0~9数字键,观察在数码管上显示的结果,按下A,B或C观察显示的结果.(4) 在循环显示程序段中,调不同的时间延时子程序,观察显示效果6. 习题每人应该认真读懂程序,在源程序的基础上根据硬件电路判断其他按键对应的关键字,要求每个人应该至少在原来程序基础上再加一个按键,来显示相应的循环或其他功能.7. 思考题?(1) 思考动态显示的原理.(2) 思考以上程序还有那些不完善的地方,如何改?。
实验十一 7279键盘显示实验
一、实验目的
1.掌握八段数码管硬件线路原理,掌握用HD7279A芯片实现显示的编程方法。
2.熟悉键盘的工作原理,掌握用HD7279A芯片实现键盘扫描程序设计方法。
二、实验内容
HD7279A是一片具有串行接口的,可同时驱动8位共阴极数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,HD7279A 内部含有译码器,可直接接受16进制码,HD7279A还同时具有2种译码方式,HD7279A还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。
HD7279A的指令结构有三种类型:
1)不带数据的纯指令,指令的宽度为8个BIT,即微处理器需发送8个CLK脉冲;
2)带有数据的指令,宽度为16个BIT,即微处理器需发送16个CLK脉冲;
3)读取键盘数据指令,宽度为16 个BIT,前8个为微处理器发送到HD7279的指令,后8个BIT为HD7279A返回的键盘代码。
本实验采用6位共阴极数码管,用查询方式判断。
三、实验步骤
1)系统各跳线器处在初始设置状态(参见附录四),把CPU J1都在左边,J3打在7279处,在所建的Project文件添加“7279键盘显示.asm”文件,阅读、分析、理解程序2)编译下载,全速运行程序,然后等待按键输入,并在有按键按下后显示相应的键号,前一个键号左移。
3)若按键按下后没有显示相应的键号,应用万用表测量HD7279AKEY脚的电平是否在按键按下后变成低电平。
注:JP30跳线器的短路帽置位到左边时,可接通按键蜂鸣器,用于指示按键是否有效。
四、实验参考程序:
见附件:实验指导参考程序。
8279A可编程键盘显示接口实验内容一、实验目的学习8279A与微机8088系统的接口方法,了解8279A用在译码扫描和编码扫描方式时的编程方法,以及8088CPU用查询方式和中断方式对8279A进行控制的编程方法。
二、实验原理如图所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。
键值转换成显示代码供显示。
根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表。
三、实验程序清单见随机光盘,文件名为H8279.ASM四、实验步骤运行实验程序在DVCC-8086JHN上显示"8279-1"在系统键盘上输入数字键,在系统显示器上显示相应数字,按EXEC键显示"8279 good",按其它键不予理睬。
源程序:CODE SEGMENTASSUME CS:CODESTART: JMP KEYLEDCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0500HDA TA2 EQU 0508HDA TA3 EQU 0510HDA TA4 EQU 0518HDA TA5 EQU 0580HKEYLED: CALL FORMATCLDMOV DI,DATA5MOV CX,08HXOR AX,AXREP STOSBMOV SI,DATA2CALL LEDDISP ;DISP 8279-1MOV BYTE PTR DS:[0601H],00HKEY0: MOV DX,CONTPORTIN AL,DXTEST AL,07HJZ KEY0MOV CX,0FFFHDELAY1: LOOP DELAY1MOV DX,CONTPORTMOV AL,40HOUT DX,ALMOV DX,DATAPORTIN AL,DXMOV DI,AX ;AND AL,0F0HJZ KEY1MOV AX,DI ;CMP AL,10HJNZ KEY0MOV SI,DATA3CALL LEDDISPKEYEND: JMP KEYENDKEY1: CALL CONVERSMOV SI,DATA5CALL LEDDISPDJMP KEY0CONVERS:MOV BH,0HMOV AX,DIAND AL,0FHMOV BL,ALMOV AL,CS:[BX+DATA4]MOV Bl,DS:[0601H]MOV BH,0HMOV BYTE PTR DS:[BX+DA TA5],ALINC BXMOV DS:[0601H],BXCMP BX,08HJZ SA VE0RETSA VE0: MOV BYTE PTR DS:[0601H],0H RETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+SI]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETLEDDISPD:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LEDD1: CMP BYTE PTR DS:[0600H],07H JA LEDD2MOV BL,DS:[0600H]MOV BH,0HMOV AL,DS:[BX+SI]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LEDD1LEDD2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0500H],5050HADD BX,2MOV WORD PTR DS:[BX+0500H],0079HADD BX,2MOV WORD PTR DS:[BX+0500H],0000HADD BX,2MOV WORD PTR DS:[BX+0500H],0000HADD BX,2MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],076FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],3F5EHADD BX,2MOV WORD PTR DS:[BX+0500H],3F5CH ADD BX,2MOV WORD PTR DS:[BX+0500H],076FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],063FHADD BX,2MOV WORD PTR DS:[BX+0500H],4F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],6D66H ADD BX,2MOV WORD PTR DS:[BX+0500H],077DH ADD BX,2MOV WORD PTR DS:[BX+0500H],6F7FHADD BX,2MOV WORD PTR DS:[BX+0500H],7C77HADD BX,2MOV WORD PTR DS:[BX+0500H],5E39HADD BX,2MOV WORD PTR DS:[BX+0500H],7179HRETCODE ENDSEND START。
一、实验目的1. 理解键盘扫描的基本原理,掌握键盘扫描的方法。
2. 掌握数码管显示的基本原理,实现键盘扫描信息的实时显示。
3. 熟悉8255并行接口芯片在键盘扫描和数码管显示中的应用。
二、实验原理1. 键盘扫描原理:键盘扫描是指通过硬件电路对键盘按键进行检测,并将按键信息转换为可识别的数字信号的过程。
本实验采用行列式键盘,通过扫描键盘的行线和列线,判断按键是否被按下。
2. 数码管显示原理:数码管是一种用来显示数字和字符的显示器,由多个发光二极管(LED)组成。
本实验采用七段数码管,通过控制各个段(A、B、C、D、E、F、G)的亮灭,显示相应的数字或字符。
3. 8255并行接口芯片:8255是一款通用的并行接口芯片,具有三个8位并行I/O口(PA、PB、PC),可用于键盘扫描和数码管显示的控制。
三、实验设备1. 实验平台:PC机、8255并行接口芯片、行列式键盘、七段数码管、面包板、导线等。
2. 软件环境:汇编语言编程软件、仿真软件等。
四、实验步骤1. 硬件连接:将8255并行接口芯片、行列式键盘、七段数码管连接到实验平台上,按照电路图进行连线。
2. 编写程序:使用汇编语言编写键盘扫描和数码管显示的程序。
(1)初始化8255并行接口芯片:设置PA口为输出端口,PB口为输出端口,PC口为输入端口。
(2)扫描键盘:通过PC口读取键盘的行线状态,判断是否有按键被按下。
若检测到按键被按下,读取对应的列线状态,确定按键的位置。
(3)数码管显示:根据按键的位置,控制数码管的段(A、B、C、D、E、F、G)的亮灭,显示相应的数字。
3. 仿真调试:使用仿真软件对程序进行调试,确保程序能够正确扫描键盘和显示数字。
五、实验结果与分析1. 实验结果:成功实现了键盘扫描和数码管显示的功能。
当按下键盘上的任意按键时,数码管上会显示对应的数字。
2. 分析:(1)键盘扫描部分:通过读取PC口的行线状态,判断是否有按键被按下。
当检测到按键被按下时,读取PB口的列线状态,确定按键的位置。
kvm芯片KVM(Keyboard Video Mouse)是一种硬件设备,用于将一台计算机的键盘、显示器和鼠标传输到另一台计算机,从而实现多台计算机共享同一个键盘、显示器和鼠标的功能。
KVM芯片则是嵌入在KVM设备中的关键部件,起到连接和传输信号的作用。
KVM芯片的主要功能是实现信号切换和传输,使得多台计算机可以共享一个键盘、显示器和鼠标,而无需额外的键盘、显示器和鼠标设备。
KVM芯片通常具备以下特点:1. 多口输入输出:KVM芯片一般具备多个输入和输出接口,可以连接多台计算机和多个显示器。
用户可以通过切换按钮或者快捷键来选择所需的输入和输出接口,实现计算机信号的切换。
2. 高清传输:KVM芯片支持高清视频和音频传输,可以将计算机的视频和音频信号传输到显示器和扬声器上,实现高质量的监控和音频播放。
3. 可编程控制:KVM芯片可以通过编程接口进行控制,从而实现远程管理和控制。
用户可以通过网络或者串口等方式连接到KVM芯片,对多台计算机进行监控、管理和控制。
4. 快速切换:KVM芯片支持快速切换功能,用户可以通过按键或者快捷键来实现计算机信号的快速切换,提高工作效率。
5. 多种接口支持:KVM芯片通常支持多种接口,包括VGA、DVI、HDMI、USB等,可以适配不同类型的计算机和显示器。
KVM芯片的应用领域非常广泛。
例如,在数据中心和服务器机房中,通过使用KVM芯片,管理员可以方便地管理和控制多台计算机,不再需要在每台服务器上连接独立的键盘、显示器和鼠标。
此外,KVM芯片还广泛应用于监控中心、教育机构、广播电视等领域,可以大大简化设备和线缆的布置,提高工作效率和管理效果。
总之,KVM芯片是一种重要的硬件设备,通过实现计算机信号的切换和传输,实现多台计算机共享同一个键盘、显示器和鼠标。
它具备多口输入输出、高清传输、可编程控制、快速切换和多种接口支持等特点,并广泛应用于数据中心、服务器机房、监控中心和教育机构等领域。
键盘编码芯片使用指南摘要:一、键盘编码芯片概述1.定义与作用2.分类及特点二、键盘编码芯片工作原理1.编码过程2.解码过程三、键盘编码芯片应用领域1.计算机外设2.通信设备3.其他电子设备四、键盘编码芯片的选择与使用1.选择注意事项2.使用方法与技巧五、键盘编码芯片的维护与故障处理1.维护措施2.常见故障处理六、结论正文:一、键盘编码芯片概述键盘编码芯片是一种将键盘输入的信号转换为计算机可识别的编码的集成电路。
它广泛应用于各种电子设备中,如计算机、通信设备等。
键盘编码芯片的主要作用是将按键信号转换为对应的编码,以便电子设备识别并执行相应操作。
根据工作原理和性能特点,键盘编码芯片可分为多种类型,如矩阵键盘编码器、独立按键编码器等。
各类编码器具有不同的特点,如输入方式、信号输出等,用户可以根据实际需求选择合适的编码器。
二、键盘编码芯片工作原理1.编码过程键盘编码芯片的编码过程主要分为两个阶段:扫描阶段和编码阶段。
在扫描阶段,键盘编码芯片会依次读取键盘上的每个按键,并判断其是否被按下。
在编码阶段,芯片根据扫描结果,将按键信号转换为对应的编码,并输出给外部设备。
2.解码过程外部设备接收到键盘编码芯片输出的编码后,可以根据编码表识别出按键的具体信息,从而执行相应的操作。
三、键盘编码芯片应用领域键盘编码芯片广泛应用于各种电子设备中,尤其是计算机外设、通信设备等领域。
此外,键盘编码芯片还应用于其他各种电子设备,如家电、医疗设备等,实现按键控制功能。
四、键盘编码芯片的选择与使用1.选择注意事项在选择键盘编码芯片时,需要考虑以下因素:输入方式、信号输出、工作电压、接口类型等。
用户应根据实际需求和使用环境,选择合适的编码芯片。
2.使用方法与技巧使用键盘编码芯片时,需要注意以下几点:确保供电稳定;正确连接接口;合理布局按键;避免静电干扰等。
五、键盘编码芯片的维护与故障处理1.维护措施为了保证键盘编码芯片的正常工作,需要定期进行清洁、检查和更换损坏的部件。
1.8279功能介绍8279是可编程的键盘、显示接口芯片。
它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。
8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64BRAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。
该芯片能自动消抖并具有双键锁定保护功能。
显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。
(1)数据线DB0→DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。
(2)地址线/CS=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。
(3)控制线CLK:8279的时钟输入线。
IRQ:中断请求输出线,高电平有效。
图3.18279引脚图/RD、/WR:读、写输入控制线。
SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。
RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。
SHIFT:来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。
在传感器方式和选通方式中,该引脚无用。
CNTL/S:控制/选通输入线,高电平有效。
键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数据存入FIFORAM中。
OUTA0---OUTA3:通常作为显示信号的高4位输出线。
OUTB0---OUTB3:通常作为显示信号的低4位输出线。
/BD:显示熄灭输出线,低电平有效。
当/BD=0时将显示全熄灭。
2.8279的工作方式8279有三种工作方式:键盘方式、显示方式和传感器方式。
(1)键盘工作方式8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。
双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFORAM中。
N键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入FIFORAM中。
(2)显示方式8279的显示方式又可分为左端入口和右端入口方式。
显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的顺序,决定了显示的次序。
14左端入口方式即显示位置从显示器最左端1位(最高位)开始,以后显示的字符逐个向右顺序排列;右端入口方式即显示位置从显示器最右端1位(最低位)开始,已显示的字符逐个向左移位。
但无论左右入口,后输入的总是显示在最右边。
(3)传感器方式传感器方式是把传感器的开关状态送入传感器RAM中。
当CPU对传感器阵列扫描时,一旦发现传感器状态发生变化就发出中断请求(IRQ置1),中断响应后转入中断处理程序。
3.8279的命令字及其格式(说明:读者也可直接根据本实验讲义第24页8279命令一览表设置命令字)8279的各种工作方式都要通过对命令寄存器的设置来实现。
8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。
命令寄存器共8位,格式为: D7 D6 D5 D4 D3 D2 D1 D0命令类型命令内容如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由命令寄存器高3位D7---D5决定。
D7---D5三位的状态可组合出8种形式,对应8类命令。
0 0 0 键盘/显示命令0 0 1 时钟编程命令0 1 0 读FIFO/传感器RAM命令0 1 1 读显示器RAM命令D4D3 显示方式0 0 8个字符显示,左端入口方式0 1 16个字符显示,左端入口方式1 0 8个字符显示,右端入口方式1 1 16个字符显示,右端入口方式表3.5键盘/显示扫描方式D2D1D0 键盘、显示扫描方式0 0 0 编码扫描键盘,双键锁定0 0 1 译码扫描键盘,双键锁定0 1 0 编码扫描键盘,N键轮回0 1 1 译码扫描键盘,N键轮回1 0 0 编码扫描传感器矩阵OUTA0---OUTA3和OUTB0---OUTB3输出。
表3.3、表3.4、表3.5三个表相互组合可得到各种键盘显示命令。
例1:若希望设置8279为键盘译码扫描方式、N键轮回,显示8个字符、右端入口方式,确定其命令字。
根据题目要求可进行分析,因为具有下列条件:是键盘/显示命令特征位:D7D6D5=000(表3.3);8个字符右端入口显示:D4D3=10(表3.4);键盘译码扫描,N键轮回:D2D1D0=011(表3.5);所以8位命令器存器状态D7---D0=00010011B,即该命令字13H送入命令寄存器口地址则可满足题目要求。
例2:若已知命令字为08H,判断8279工作方式。
因为命令字为08H即D7---D0=00001000B,显然D7D6D5=000,该条命令为键盘/显示命令,D4D3=01为16字符左端入口显示方式,D2D1D0=000,键盘为编码扫描、双键锁定方式。
(2)时钟编程命令特征位D7D6D5=001D4---D0用来设定分频系数,分频系数范围在0---31之间。
有的设计会用单片机的ALE端接8279的CLK端,但ALE端输出的脉冲频率比8279所需工作时钟频率(100KHz)高出很多,通过设置分频系数就可使8279得到所需的时钟频率。
(注意:实验板上8279的CLK并不直接连到ALE)。
例:若8279CLK的输入信号频率为3.1MHz,则分频系数应为31D=1FH,于是D4---D0=11111,则控制字为:D7---D0=00111111B=3FH16(3)读FIFO/传感器RAM命令。
特征位D7D6D5=010D2---D0为8279中FIFO及传感器RAM的首地址。
D3无效位。
D4控制RAM地址自动加1位:D4=1时,CPU读完一个数据,RAM地址自动加1,准备读下一个单元数据;D4=0时,CPU读完一个数据,地址不变。
例:欲编程使单片机连续读8279内FIFO/传感器RAM中000---111单元的数据,设置读命令。
分析:因为要连续读数,地址又连续。
所以最好设置为自动加1方式,即D4=1,RAM内首地址000即D2---D0=000,再加上特征位,所以该命令控制字为:D7---D0=01010000B=50H(无用位D3设为0)。
送入50H控制字,在执行读命令时,先从FIFO/传感器RAM中000单元读数,读完一个数,地址自动加1,又从001单元读数,依次类推,直到读完所需数据。
(4)读显示RAM命令特征位D7D6D5=011D4=1RAM地址自动加1,D4=0不加1。
D3---D0为显示RAM中的地址。
例:欲读显示RAM中1000单元地址,求命令字。
分析:因为只读一个数,地址不需自动加1,即设置D4=0,特征位为011,地址为1000,所以其控制命令字为D7---D0=01101000B=68H。
(5)写显示RAM命令特征位D7D6D5=100。
D4是地址自动加1控制,D4=1,地址自动加1;D4=0,地址不加1。
D3---D0是欲写入的RAM地址,若连续写入则表示RAM首地址。
命令格式同读显示RAM。
(6)显示器禁止写入/熄灭命令特征位D7D6D5=101D4:无用位。
D3:禁止A组显示RAM写入,D3=1,禁止。
D2:禁止B组显示RAM写入,D2=1,禁止。
D1:A组显示熄灭控制。
D1=1,熄灭;D1=0,恢复显示。
D0:B组显示熄灭控制。
D0=1,熄灭;D0=0,恢复显示。
利用该命令可以控制A、B两组显示器,哪组继续显示,哪组被熄灭。
例:假设A、B两组灯均已被点亮,现在希望A组灯继续亮,B组灯熄灭,确定其命令字。
分析:根据命令格式,A组灯继续亮应禁止A组RAM再写入其他数据,故D3=1;B组显示熄灭D0=1,除特征位外其余位设为“0”。
故其控制命令字为。
(7)清除(显示RAM和FIFO中的内容)命令特征位D7D6D5=110D0为总清除特征位,D0=1把显示RAM和FIFO全部清除。
17D1=1清除FIFO状态,使中断输出线复位,传感器RAM的读出地址清0。
D4---D2:设定清除显示RAM的方式,如表3.6所示。
表3.6清除显示RAM方式D4 D3D2 清除方式0X 将全部显示RAM清为01 1 0 将显示RAM置为20H(A组=0010,B组=0000)1 1 将显示RAM置为FFH0 D0=0,不清除;D0=1,仍按上述方式清除例:将全部显示RAM清0,其命令字为:入传感器RAM,同时发出中断申请,即将IRQ置高电平,并禁止再写入传感器RAM。
中断响应后,从传感器RAM读走数据进行中断处理,但中断标志IRQ的撤除分两种情况。
若读RAM地址自动加1标志位为“0”,中断响应后IRQ自动变低,撤消中断申请;若读RAM地址自动加1标志位为“1”,中断响应后IRQ不能自动变低,必须通过结束中断命令来撤消中断请求。
第二:在设定为键盘扫描N键轮回方式时作为特定错误方式设置命令。
在键盘扫描N键轮回工作方式,又给8279写入结束中断/错误方式命令,则8279将以一种特定的错误方式工作,即在8279消抖周期内,如果发现多个按键同时按下,则将FIFO状态字中错误特征位置“1”,并发出中断请求阻止写入FIFORAM。
根据上述8种命令可以确定8279的工作方式。
在8279初始化时把各种命令送入命令地址口,根据其特征位可以把命令存入相应的命令寄存器,执行程序时8279能自动寻址相应的命令寄存器。
4.8279的状态字及其格式状态字显示出8279的工作状态。
状态字和8种命令字共用一个地址口。
当A0=1时,从8279命令/状态口地址读出的是状态字。
状态字各位意义如下:D7:D7=1表示显示无效,此时不能对显示RAM写入。
D6:D6=1表示至少有一个键闭合;在特殊错误方式时有多键同时按下错误。
D5:D5=1表示FIFORAM已满,再输入一个字则溢出。
D4:D4=1表示FIFORAM中已空,无数据可读。
D3:D3=1表示FIFORAM中数据已满。
D2---D0:FIFORAM中数据个数。
显然,状态字主要用于键盘和选通工作方式,以指示FIFORAM中的字符数及有无错误发生。
185. 8279数据输入/输出格式对8279输入/输出数据不仅要先确定地址口,而且数据存放也要按一定格式,其格式在键盘和传感器方式有所不同。
(1)键盘扫描方式数据输入格式键盘的行号、列号及控制键位置如下:D7 D6 D5 D4 D3 D2 D1 D0 CNTL SHIFT SL2 SL1 SL0 由RLx 的x 决定D7:控制键“CNTL ”状态。
D6:控制键“SHIFT ”状态。