键盘显示接口芯片的应用

键盘显示接口芯片的应用
键盘显示接口芯片的应用

键盘显示接口芯片的应

文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

1.8279功能介绍

8279是可编程的键盘、显示接口芯片。它既具有

按键处理

功能,又具有自动显示功能,在单片机系统中应

用很广泛。8279

内部有键盘FIFO(先进先出堆栈)/传感器,双重

功能的8*8=64B

RAM,键盘控制部分可控制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位,格式为:

命令寄存器高3位D7---D5决定。D7---D5三位的状态可组合出8种形式,对应8类命令。另一部分为命令的具体内容,由D4---D0决定。每种特征所代表的命令如表3.3所示

表3.3 8279命令特征表

D7D6D5 代表的命令类型

特征位D7D6D5=000

D4、D3两位用来设定4种显示方式,D2---D0三位用以设定8种键盘/显示

扫描方式,分别如表3.4和表3.5所示。

表3.4显示方式

D4D3 显示方式

表3.5键盘/显示扫描方式

D2D1D0 键盘、显示扫描方式

0 0 0 编码扫描键盘,双键锁定

0 0 1 译码扫描键盘,双键锁定

的8位输出作为

键盘扫描输出线(列线),RL0---RL7为输入线(行线)。

8279最多驱动16位显示器,故可由SL0---SL3接4---16译码器,译码器的16位输出作为显示扫描输出线(16选1),决定第几位显示。显示字段码由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=001

D4---D0用来设定分频系数,分频系数范围在0---31之间。

有的设计会用单片机的ALE端接8279的CLK端,但ALE端输出的脉冲频率比8279所需工作时钟频率(100KHz)高出很多,通过设置分频系数就可使8279得到所需的时钟频率。(注意:实验板上8279的CLK并不直接连到ALE)。

例:若8279CLK的输入信号频率为3.1MHz,则分频系数应为

31D=1FH,于是

D4---D0=11111,则控制字为:D7---D0=00111111B=3FH

16

(3)读FIFO/传感器RAM命令。

特征位D7D6D5=010

D2---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=011

D4=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=101

D4:无用位。

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=110

D0为总清除特征位,D0=1把显示RAM和FIFO全部清除。

17

D1=1清除FIFO状态,使中断输出线复位,传感器RAM的读出地

址清0。D4---D2:设定清除显示RAM的方式,如表3.6所示。

表3.6清除显示RAM方式

D4 D3D2 清除方式

0X 将全部显示RAM清为0

1 1 0 将显示RAM置为20H(A组=0010,B组=0000)

第一:在传感器方式,用此命令结束传感器RAM的中断请求。

因为在传感器工作方式时,每当传感器状态发生变化,扫描电路自动将传感器状态写

入传感器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中的字符数及有无错误发生。

18

5. 8279数据输入/输出格式

对8279输入/输出数据不仅要先确定地址口,而且数据存放也要按一定格式,其格式在键盘和传感器方式有所不同。

(1)键盘扫描方式数据输入格式

键盘的行号、列号及控制键位置如下:

D7 D6 D5 D4 D3 D2 D1 D0

CNTL SHIFT SL2 SL1 SL0 由RLx 的x 决定

D7:控制键“CNTL ”状态。

D6:控制键“SHIFT ”状态。

D2D1D0:被按键所在行号(由RL0---RL7)状态确

定)。

(2)传感器方式及选通方式数据输入格式

此种方式8位输入数据为RL0---RL7的状态。格式

如下:

D7 D6 D5 D4 D3 D2 D1 D0

8279的内、外译码由键盘/显示命令字的最低位D0选择决定。

D0=1选择内部译码,也称为译码方式,SL0—SL3每时刻只能有一位为低电平。此时8279只能接4位显示器和4×8矩阵式键盘。

D0=0选择内部编码,也称为编码方式,SL0—SL3为计数分频式波形输

出,显示方式

可外接4—16译码器驱动16位显示器。键盘方式可接3—8译码器,构成8×8矩阵式键

盘。

D7 dp 图3.2四位LED —5461AH (共阴极)管脚示意

(实物数码显示器的左下角为1号引脚,逆时

针排序)

19

附:8279命令功能一览表

D7D6D5 D4 D3 D2 D1 D0命令类型命令内容

0 0 0 0 0 0 0 0

单片机键盘显示接口电路设计说明

中北大学 单片机及其接口技术 课程设计说明书 学生:学号: 学院: 专业: 题目:单片机键盘显示接口电路设计 指导教师:小林职称: 副教授 2012年6月17日

中北大学 单片机及其接口技术 课程设计任务书 11/12 学年第二学期 学院: 专业: 学生姓名:学号: 课程设计题目:单片机键盘显示接口电路设计 起迄日期:6月11日~6月17日 课程设计地点:中北大学 指导教师:小林 系主任:王忠庆

下达任务书日期: 2012年06月11日课程设计任务书

课程设计任务书

第一章、绪论89C51是一种带4KB闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。在本次课程设计中,便采用89C51单片机。 第二章、设计容 一、4×4键盘 原理:4 行 行 行 行

图1 电路原理图见附图一 本次设计为4×4的矩阵键盘,这样的设计可以有效的减少键盘与单片机接口时所占用的I/O接口。在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常采用逐行(逐列)扫描的方法。 首先判断有无按键按下。方法是:向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入到累加器A中,如果有按键按下,会使列线电平被拉至低电平,是列输入不全为1。 判断键盘哪一个键被按下。方法是:一次给行线送低电平,然后查所有列线状态,称为行扫描,如果全为1,则所按下键不在此行,如果不全为1,则所按下键必在此行,而且是在与零电平列线相交的交点上的那个键。 在此,按键的位置码并不等于按键的实际定义键值,因此还必须进行转换,即键值译码,本次设计中采用软件实现键值的译码,译码方式如下: 第0行键值为:0行×4+列号(0~3)为0、1、2、3; 第1行键值为:1行×4+列号(0~3)为4、5、6、7; 第2行键值为:2行×4+列号(0~3)为8、9、A、B; 第3行键值为:3行×4+列号(0~3)为C、D、E、F; 译码程序如下:

基本接口技术实验—键盘与显示实验

键盘与显示实验 1、实验目的 a)掌握矩阵键盘和独立式键盘的典型应用电路接法及应用编程; b)掌握LED动态显示和静态显示的典型应用电路接法及应用编程; c)学习采用8255驱动键盘与显示的方法。 2、实验设备 PC机一台,TD-PIT/TD-PIT-B实验装置一套。 3、关于键盘与显示应用程序的说明 a)键盘实现加减显示实验。选择两个按键作为独立式按键,分别为加键和减键,选择三个数码管作为动态显示器,编写程序,使按下不同的按键后进行加或减 计数。数据段定义参考程序段如下: data segment dtable db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh buf db e dup(4) count db 4 data ends 主程序包括8255初始化,以及键盘显示调用子程序(参考程序如下)。 begin: call dis call keyscan mov ah,06h mov dl,0ffh int 21h je begin mov ax,4c00h int 21h 独立式键盘扫描参考子程序如下: keyscan:保护现场 mov dx,my8255_c in al,cx and al,03h cmp al,03h jz scandone rprog: call dis call dis test al,01h jz l1 test al,02h jz l2 jmp scandone l1: inc count jmp next l2: dec count next: mov ax,count mov bl,10 div bl mov [di],ah inc di mov [di],al scandone:恢复现场 ret b)键盘显示实验。编写程序,扫描键盘输入,使按下不同的按键后数码块显示相应的数字。静态显示参考程序如下: dis proc near ;保护现场 mov di,offset buf ldisp: mov al,[si]

电脑键盘接线图

电脑键盘接线图 判断键盘控制电路板上的四根线各起什么作用至关重要。将电路板翻过来后可以看到其背面已有明确的提示(图四):黄线Vcc为+5V高电平;红线为地线GND低电平;绿线为Keyboard DATA高电平;白线为Keyboard Clock低电平。不同的键盘连线颜色的定义可能也不同,因此如果不能根据提示正确识别的话可以用万用表测量一下或者参考图五中对于连线的定义(图五)。USB延长线中也是一组四根线,分

别为红、白、绿、黑四根。它们分别对应的是+5V电源、数据负线(DATA-)、数据正线(DATA+)及地线(GND)

电脑键盘的四根线如何接 罗技键盘,y-ss60 线的颜色:红,绿,白,黑 盼请解答,谢谢! 四根线分别是:电源,地,数据,时钟 你要把键盘拆出来,线的另一端焊在里面的电路板,上面标有v(电源),g(地),c(时钟),d(数据).再到网上找个键盘接口定义的图,对着另一端接上去就可以了 这是普通的ps/2的键盘接线图,图中是接口(ps/2插头)截面图。上面标的字母一般在键盘里的电路板上有印的,对照着焊就行了。如果没有标注字母,这个我就没办法了哈哈~多数键盘应该是按照dcgv的顺序排线的,没有写明的可优先考虑这个。 针脚定义如下: pinnamedirdescription 1n/cnotconnected 2data-keydata 3vccpower,+5vdc 4gndgnd 5n/cnotconnected 6clk-clock 键盘接线黄、红、白、绿对应的针脚如下 对应ps/2线对应ps/2针脚 黄3 红4 白6 绿2 对应的电线和针脚连接为: 对应ps/2线对应ps/2针脚 蓝3 白6 绿2 橙4 PS/2鼠标自己动手改USB接口 USB作为电脑外设的一种高速连接标准,目前已广泛应用到了各种外部设备上。电脑主机则在机箱上提供了前置USB接口,有的厂商甚至是在显示器与键盘都添加了USB接口,其目的就是为了能够让用户方便的进行连接鼠标、数码相机等耗电量小的USB外设而无须费力弯腰去机箱背后接插USB设备。键盘上这种体贴的设计让我等用户羡慕不已,我们能不能自己动手让普通键盘也能拥有一个USB接口呢? 答案当然是肯定的。由于键盘与USB同样提供的是5V电源,且同样有地线、

基于FPGA的键盘接口设计正文

基于FPGA的键盘接口设计 专业:电子信息科学与技术系作者:李先仙指导老师:刘强摘要:现场可编程逻辑门阵列FPGA (Field Programmalbe Gate Array)具有掩膜可编程门阵列的通用结构,由逻辑功能块排成阵列组成,并由可编程的互联资源连接这些逻辑功能块以及相应的输入/输出单元来实现不同的设计。在电子产品中,键盘是最基本的输入设备,然而在应用中都采用通用的键盘扫描器件是不现实的,需要单独设计成专用的小键盘。随着电子技术和EDA (Electronic Design Automatic,电子设计自动化)技术的发展,大规模可编程逻辑器件PLD(Programmable Logic Device)、现场可编程门阵列FPGA完全可以取代大规模集成电路芯片,实现计算机可编程接口的功能,并可将若干接口电路的功能集成到一片PLD或FPGA芯片中。鉴于大规模PLD或FPGA的计算机接口电路不仅具有集成度高、体积小和功耗低等优点,而且还具有独特的用户可编程能力,从而实现计算机系统的功能重构。本文设计首先介绍行列式键盘的原理和应用,通过对其接口电路的详细分析;然后利用VHDL硬件描述语言和FPGA器件并采用模块化设计的方法完成了基于FPGA的行列式键盘接口电路的设计;最后通过计算机仿真,对本文设计的行列式键盘接口电路的正确性进行了验证。 关键词:键盘;仿真;VHDL语言;FPGA;模块化设计 Based on FPGA Keyboard Connection Design Major:Electronic Information Science and Technology Author: Li Xianxian Instructor: Liu Qiang Abstract: The Filed Programmmalbe Gate Array,shorted by FPGA,which has a mask-programmable gate array of generic structure and function blocks in the logic array of line,through a programmable logic of internet resources connecting these function blocks and the corresponding input/output modules to achieve different design.In electronic products,the keyboard is the most basic input device,however,it’s unrealistic of using general keyboard scanning device in the application ,we need for the separate designing of the small keyboard. With the development of Electronic and EDA(Electronic Design Automatic)technology,Large Scale Integration chips can be replaced by PLD(Programmable Logic Device)and FPGA ,which can realize the function of the Programmable Interface chips and feature a number of interface circuits integated into one of the PLD or FPGA chips.The computer interface circuit based on the technology of PLD and FPGA not only has the virtue of high integration,low volume and low power loss, but also has the unique programmable function,which can realize

键键盘管理芯片

在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如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)键盘扫描控制及编码电路中内含一个环形计数器。该计数器计数输出至KSL[0~3]端作为键盘扫描信号。每当扫描信号发生变化时,键盘扫描控制器从KRL[0~3]端读入某一行按键的状态信号。如果没有按键被按下,则扫描下一行;如果有按键被按下,则控制器锁定被扫描行,并延迟约10ms去抖动,然后再次扫描被锁定行以确定按键是否误读。如果按键被证实按下,则一直等待直至用户松开该键。与此同时,数字键码将被保存到先进先出存储器,功能键则直接产生中断请求信号IRQ,通知CPU读取键码DBO[0~7]。(2)FIFORAM中数据容量为16位。每4位对应一个字形符,所以七段LED数码管需要4位。(3)扫描发生器一方面产生LED的位选信号DSL[0~3],另一方面产生扫描显示输出控制电路的位数据选通信号。扫描显示输出控制电路根据位数据选通信号读取FIFO RAM中相对应的数据,然后送七段译码电路输出DP[0~6]驱动LED显示屏的段选信号电极。(4)接口控制电路一方面用来识别CPU的读时序;另一方面用来对地址信号线A1A0译码,实现对输出数据的选择。若A0A1=“00”,则输出FIFO RAM中的低字节数据;若A0A1=“01”,

嵌入式ARM键盘接口和七段数码管的控制实验

实验三键盘接口和七段数码管的控制实验 一、实验目的 1. 学习4X4键盘的与CPU的接口原理 2. 掌握键盘芯片HD7279的使用,及8位数码管的显示方法; 二、实验内容 1. 通过4X4按键完成在数码管上的各种显示功能,以及LCD上显示。 三、实验设备 1.EL-ARM-830+教学实验箱,PentiumII以上的PC机,仿真调试电缆。 2. PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境, 仿真调试驱动程序。 四、实验原理 键盘和7段数码管的控制实验,是通过键盘的控制芯片HD7279A来完成的。它的信号线及控制线连接到S3C2410上,驱动线直接连到8位共阴的7段数码管上。由于其芯片的接口电压是5V的,而S3C2410的接口电压是3.3V,所以,HD7279A的信号、控制线经过CPLD 把电压转换到3.3V,然后送入CPU中。 HD7279是一片具有串行接口的可同时驱动8位共阴式数码管或独立的LED的智能显示驱动芯片。该芯片同时还可连接多达64键的键盘矩阵,单片即可完成显示键盘接口的全部功能。内部含有译码器可直接接受BCD码或16进制码并同时具有两种译码方式。此外还具有多种控制指令如消隐、闪烁、左移、右移、段寻址等,具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。 HD7279在与S3C2410接口中,它使用了4根接口线。片选信号#CS(低电平有效),时钟信号CLK,数据收发信号DATA,中断信号#KEY(低电平送出),EL-ARM-830+实验箱与其的接口中,使用了三个通用I/O接口,和一个外部中断,实现了与HD7279A的连接,S3C2410的外部中断接HD7279的中断#KEY,三个I/O口分别与HD7279A的其他控制、数据信号线相连。HD7279的其他管脚分别接4X4按键和8位数码管。 当程序运行时,按下按键,平时为高电平的HD7279A的#KEY就会产生一个低电平,送给S3C2410的外部中断5请求脚,在CPU中断请求位打开的状态下,CPU会立即响应外部中断5的请求,PC指针就跳入中断异常向量地址处,进而跳入中断服务子程序中,由于外部中断4/5/6/7使用同一个中断控制器,所以,还必须判断一个状态寄存器,判断是否是外部中断5的中断请求,当判断出是外部中断5的中断请求,则程序继续执行,CPU 这时,通过发送#CS片选信号选中HD7279A,再发送时钟CLK信号和通过DATA线发送控制指令信号给HD7279A,HD7279A得到CPU发送的命令后,识别出该命令,然后,扫描按键,

键盘显示接口芯片8279的应用

1.8279功能介绍 8279 是可编程的键盘、显示接口芯片。它既具有按键处理 功能,又具有自动显示功能,在单片机系统中应用很广泛。8279 内部有键盘 FIFO(先进先出堆栈)/传感器,双重功能的 8*8=64B RAM,键盘控制部分可控制 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.1 8279 引脚图 /RD、/WR:读、写输入控制线。 SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。 RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。 SHIFT:来自外部键盘或传感器矩阵的输入信号,它是 8279 键盘数据的次高位即 D6 位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式中,该引脚无用。 CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把 RL0---RL7 的数据存入 FIFO RAM 中。 OUTA0---OUTA3:通常作为显示信号的高 4 位输出线。 OUTB0---OUTB3:通常作为显示信号的低 4 位输出线。 /BD:显示熄灭输出线,低电平有效。当/BD=0 时将显示全熄灭。 2.8279的工作方式 8279 有三种工作方式:键盘方式、显示方式和传感器方式。 (1)键盘工作方式 8279 在键盘工作方式时,可设置为双键互锁方式和 N 键循回方式。 双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入 FIFO RAM 中。 N 键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入 FIFO RAM 中。 (2)显示方式 8279 的显示方式又可分为左端入口和右端入口方式。 显示数据只要写入显示 RAM,则可由显示器显示出来,因此显示数据写入显示 RAM 的顺序,决定了显示的次序。 14

键盘智能控制芯片HD7279A

3.2.5 键盘智能控制芯片HD7279A HD7279A是一片具有串行接口的,可同时驱动8位共阴式数码管的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。HD7279A内部含有译码器,可直接接收BCD码或16进制码,并同时具有2种译码方式,此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。HD7279A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。 如图3.7所示为HD7279A芯片封装图,HD7279A共有28个引脚,在设计中使用的各个引脚功能如下: CS:片选输入端,此引脚为低电平时,可向芯片发 送指令及读取键盘数据; CLK:同步时钟输入端,向芯片发送数据及读取键 盘数据时,此引脚电平上升沿表示数据有效; DATA:串行数据输入/输出端,当芯片接收指令 时,此引脚为输入端;当读取键盘数据时,此引脚在‘读’ 指令最后一个时钟的下降沿变为输出端; KEY:按键有效输出端,平时为高电平,当检测到 有效按键时,此引脚变为低电平; DIG0~DIG7:数字0~数字7驱动输出;图3.7 HD7279A芯片封装图 RC:振荡器连接端,其中电阻的典型值为1.5k ,电容的典型值为15pF; HD7279A与微处理器仅需4条接口线,其中CS为片选信号(低电平有效)。DATA为串行数据端,当向HD7279A发送数据时,DATA为输入端;当HD7279A 输出键盘代码时,DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。KEY为按键信号输出端,该端在无键按下时为高电平;而在有键按下时变为低电平,并一直保持到按键释放为止。 HD7279A采用串行方式与微处理器通讯,串行数据从DATA引脚送入芯片,并由CLK端同步。当片选信号变为低电平后,DATA引脚上的数据在CLK引脚上升沿被写入HD7279A的缓冲寄存器。HD7279A的选通端CS和CLK、DATA、KEY分别于DSP的SCITXD/IOPA0、SCIRXD/IOPA1、IOPF6、CLKOUT/IOPE0相连。 HD7279A与TMS320LF2407的输入输出逻辑电平不同。TMS320LF2407的I /O口输出有效电压为3.3 V,而HD7279A引脚输出有效电压则为5 V。需要解决5 V与3.3 V芯片连接时存在的逻辑电平问题,在这里采用稳压二极管钳位电路,HD7279A引脚输出电压钳位在3.3 V,进而解决不同逻辑电平的接口问题。HD7279A与TMS320LF2407A的接口电路如附录二所示。需要注意的是,图中8

键盘显示接口芯片的应用

1.8279功能介绍 8279是可编程的键盘、显示接口芯片。它既具有按键 处理 功能,又具有自动显示功能,在单片机系统中应用很广 泛。8279 内部有键盘FIFO(先进先出堆栈)/传感器,双重功能 的8*8=64B RAM,键盘控制部分可控制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

键盘显示接口芯片的应用

键盘显示接口芯片的应 用 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

1.8279功能介绍 8279是可编程的键盘、显示接口芯片。它既具有 按键处理 功能,又具有自动显示功能,在单片机系统中应 用很广泛。8279 内部有键盘FIFO(先进先出堆栈)/传感器,双重 功能的8*8=64B RAM,键盘控制部分可控制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中。

8255键盘及显示接口设计

班级: 姓名: 学号: 日期: 2009年12月28日成绩:

目录 一、课程设计的意义 (3) 二、课程设计的主要内容 (3) 三、课程设计的组织与安排 (3) 四、课程设计的要求 (4) 五、课程设计正文 (5) 1.设计原理 (5) 2.设计电路原理图 (6) 3.键盘及数码管显示电路接线图 (7) 4.使用原器件 (7) 5.课程设计总结 (7) 6.论文参考资料 (7) 六、附录一:程序流程图 (8) 七、附录二:课程设计程序 (9)

课程论文(设计)指导书 一、课程论文(设计)的意义: 1.通过《微型计算机原理与应用》课程设计,使学生能够进一步理解微型计算机工作原理, 微型计算机的硬件结构及微型计算机的应用软件编程。 2.要求学生能够根据功能要求初步进行硬件接口电路的设计,以及有关应用程序的设计,使学生的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。 3.课程设计是培养和锻炼学生在学习完本课程后综合应用所学理论知识解决实际工程设计和应用问题的能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 4.通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 5.通过设计过程,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件硬件调试、查阅资料、绘图、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 二、课程论文(设计)的主要内容: 结合微型计算机应用系统的功能要求、硬件电路设计,进行汇编语言程序设计,要求画出程序流程图,编写完整的源程序,并经上机调试完成。课程设计过程一般2~3人一组,各组完成的内容不能雷同。 要求每个学生(或小组)都要自己动手独立设计完成一个典型的微机应用小系统。设计题目可以在给出的参考题目中选,也可以自己选择适当的设计题目。 三、课程论文(设计)的组织与安排: 设计题目的选题原则:根据教学大纲对本门课程的教学要求和所讲授的课程内容,结合现有的教学实验设备和能力,按照课程设计的目的和作用所提出的要求,选择符合教学内容、符合学生水平、符合实验室条件,综合本门课的全部知

直接访问键盘控制芯片获取键盘记录

直接访问键盘控制芯片获取键盘记录 键盘是用户和机器之间主要的硬件接口,看看键盘上的那些键就可知道它有多么的复杂了。键盘是我们隐私的源泉,我们各种信息的传递都要通过它。作为用户表现信息的媒介,很多怀有恶意目的的人都想截取我们的键盘输入。目前有很多方法可以做到,比如全局钩子、GetKeyboardStatus()、驱动过滤钩子等,但是如果要截取像QQ这种Hook键盘中断处理程序的保护技术,这些方法都显得无能为力。为此,我将为大家介绍一种直接访问键盘控制芯片的方法,来实现对键盘输入数据的最底层的读取。 如果我们知道了硬件的输入输出地址,就可以直接对它们进行访问了。键盘上有一个称为键盘编码器的处理器(Intel 8048或兼容芯片)专门用来扫描收集所有按键按下和松开的状态数据(即扫描码)。当一个键被按下时,键盘发送的扫描码称为接通扫描码(Make code),或简称为接通码;当一个被按下的键放开时发送的扫描码被称为断开扫描码(Break code),或简称为断开码。 主机键盘控制器专门用来对接收到的键盘扫描码进行解码。因为每个按键的接通和断开码都是不同的,所以键盘控制器根据扫描码就可以确定用户在操作哪个键了。整个键盘上所有按键的接通和断开码就组成了键盘的一个扫描码集(Scan Code Set)。根据电脑的发展,目前已有三套扫描码集可供使用,它们分别是第一套扫描码集,原始XT键盘扫描码集,目前的键盘已经很少发送这类扫描码;第二套扫描码集,现代键盘预设使用的扫描码集,通常称为AT键盘扫描码集;第三套扫描码集,PS/2键盘扫描码集,原IBM推出PS/2微处理机时使用的扫描码集,已很少使用。 AT键盘预设发送的是第二套扫描码集。虽然如此,主机键盘控制器为了与PC/XT机的软体兼容起见,仍然会把所有接收到的第二套键盘扫描码转换成第一套扫描码,因此,我们从键盘控制器获取的通常为第一套扫描码集。 当一个键被按下时,我们可以从键盘控制器接收到一个XT键盘接通码。这个扫描码仅表示键盘上某个位置处的键被按下,但还没有对应到某个字符代码上,接通码通常都是一个位组宽度。例如,按下键“A”的接通码是30(0x1E)。当一个按下的键被松开时,从键盘控制器端口收到的就是一个断开码。对于XT键盘(即键盘控制器程序设计端口收到的扫描码),断开码是其接通码加上0x80。例如,上述“A”键的断开码就是“0x80 + 0x1E = 0x9E”。 表1列出了Scan Code Set 1中的所有扫描码,我们写程序时需要用到!

键盘扫描 分类

一、概述 键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。 编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比较复杂,对于主机任务繁重之情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。 非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有:独立式按键结构、矩阵式按键结构。 二、键盘系统设计 首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键盘工作方式:采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。 (一)非编码键盘的键输入程序应完成的基本任务 1.监测有无键按下;键的闭合与否,反映在电压上就是

呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下与否。 2.判断是哪个键按下。一.编程扫描方式:当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。二.定时扫描工作方式:单片机对键盘的扫描也可用定时扫描方式,即每隔一定的时间对键盘扫描一次。三.中断工作方式:只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘 3.完成键处理任务。 (二)从电路或软件的角度应解决的问题 1.消除抖动影响。键盘按键所用开关为机械弹性开关,利用了机械触点的合、断作用。由于机械触点的的弹性作用,一个按键开关在闭合和断开的瞬间均有一连串的抖动、抖动时间的长短由按键的机械特性决定,一般为5~10m s,这是一个很重要的参数。抖动过程引起电平信号的波动,有可能令CPU误解为多次按键操作,从而引起误处理。 为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。按键的消抖,通常有软件,硬件两种消除方法。 这种方法只适用于键的数目较少的情况。 软件消抖:如果按键较多,硬件消抖将无法胜任,常采用软件消抖。通常采用软件延时的方法:在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平是

DIY轻松把键盘、鼠标PS2接口改造成USB接口

DIY轻松把键盘、鼠标PS/2接口改造成USB接口 来源:互联网作者:佚名时间:07-23 14:14:23【大中小】点评:首先谈谈为什么要抛弃PS/2,很简单就是因为USB端口绝对的方便,支持热插拔和即插即用,因此可以大大方便我们平时的使用。每台电脑理论上可以支持 127个USB接口,随着USB的发展成熟,USB很有可能统一计算机接口,另外陈旧的PS/2接口有其本身的弊端,抛开热插 首先谈谈为什么要抛弃PS/2,很简单就是因为USB端口绝对的方便,支持热插拔和即插即用,因此可以大大方便我们平时的使用。每台电脑理论上可以支持 127个USB接口,随着USB的发展成熟,USB很有可能统一计算机接口,另外陈旧的PS/2接口有其本身的弊端,抛开热插拔等不说,PS/2接口在插入的时候很不方便,6个细小的针脚很难对准,而且很容易造成针脚的弯曲、折断。所以我们有理由通过改造去抛弃它。 仔细研究一下两种接口的针脚,PS/2的针脚是6针的,而USB针脚却是4针,两者都提供+5v的电压。拆开键盘(小心里边的橡胶小帽儿,弄不好撒的到处都是,别说我没提醒你,里边竟然有4根线(黄、红、白、绿,这就说明真正起作用的也就是4个针脚,和USB应该是一一对应的。有了这点我想改造基本上是可行的,马上找了相关针脚资料看看。 不过本着diy的精神,还是谨慎为好。本人用万能表检测了一下,结果却大跌眼睛,幸亏没有按照上面这个针脚的定义直接胡来,否则肯定失败。上面的是主板上的母接口图,按照本人的测试,鼠标上的针脚定义修正如下:

键盘接线黄、红、白、绿对应的针脚如下 黄3 红4 白6 绿2 USB的针脚定义如下图: (注:图示仅供参考,可能有错 USB对应的线与针脚间的连接如下: 红4 白3 绿2 黑1 这样弄清楚了各个针脚的意义,我们就可以进行改造了。

4x4矩形键盘接口与编程

单片机教程第二十五课:键盘接口与编程 键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。一般单片机系统中采和非编码键盘, 非编码键盘是由软件来识别键盘上的闭合键,它具有结构简单,使用灵活等特点, 因此被广泛应用于单片机系统。 按键开关的抖动问题 组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。在下图中,当开 图1 图2 关S 未被按下时,P1。0输入为高电平,S 闭合后,P1。0输入为低电平。由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1。0输入端的波形如图2所示。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。前面我们讲到中断时曾有个问题,就是说按键有时灵,有时不灵,其实就是这个原因,你只按了一次按键,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。 为使CPU 能正确地读出P1口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。单片机中常用软件法,因此,对于硬件方法我们不介绍。软件法其实很简单,就是在单片机获得P1。0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1。0口,如果仍为低,说明S1的确按下了,这实际上是避开了按键按下时的抖动时间。而在检测到按键释放后(P1。 0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。不过一般 情况下,我们通常不对按键释放的后沿进行处理,实践证明,也能满足一定的要求。当然,实际应用中,对按键的要求也是千差万别,要根据不同的需要来编制处理程序,但以上是消除键抖动的原则。 键盘与单片机的连接 图3 图4 1、通过1/0口连接。将每个按键的一端接到单片机的I/O 口,另一端接地,这是最简单的方法,如图3所示是实验板上按键的接法,四个按键分别接到P3.2 、P3.3、P3.4和P3.5。对于这种键各程序可以采用不断查询的方法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的键处理。下面给出一个例程。其功能很简单,四个键

键盘及其接口电路

二、 键盘及其接口电路 1. 键盘的分类 1)什么是键盘? 是由一组规则排列的按键组成,它主要由键开关和键扫描电路两部分组成。 2)键盘的分类 ① 按其构造原理可以分为两类: 一类是触点式开关按键,另一类是无触点开关按键; ② 从接口原理上可分为: 编码键盘和非编码键盘。其区别是识别键符及给出相应键码的方法不同。 编码键盘主要是用硬件来实现对键的识别,缺点是经济开销大; 非编码键盘主要是由用户软件来实现键的定义与识别。 2、按键的结构和特点 键盘是计算机必备的输入设备,数据录入大多数是通过击键完成的,DOS 方式下的多数操作也是通过键入命令行来执行的。和CRT 显示器一样,键盘是一个单独的部件,通过一根五芯电缆接到机箱背面的圆形键盘插座上。 按物理结构分,键盘有机械式、 薄膜式和电容式三种。电容式键盘采用无触点按键,触

感好,操作灵活。按键盘键数分,常见的有83/84键、101/102 键等。Windows95面市后,在101/102键盘的基础上改进而推 出104/105键。目前微机以配备101/102键、104/105键电容式 键盘的居多。 在微机系统中运用的按键,通常仅需提供逻辑的通与断, 其机械结构往往是比较简单的。构成形式可如图12. 1所示。 它主要的功能是把机械上的通断转换成电气上的逻辑关系。也 就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。在按键电路中的电阻R用于限制其中流过的电流。从按键的定位方式看,它有无锁的、自锁的和互锁的。在逻辑上它们等效于单稳态、双稳态和多稳态。在计算机系统中,常用的是机械结构最简单的无锁单稳式的按键(常态为开路),它的工作寿命可达100万次以上。借助于软件设置的特定的标志位,无锁按键可以具有类同于机械结构或电路硬件所提供的自锁或互锁功能。 3、键开关矩阵 键盘是由许多键按某一规律排列而成的设备。每个键代表一定的信息,键位置的排列要按照人们的使用习惯来安排。在键盘内部,各键开关的两个端常用矩阵形式连接,以便使接线最简单。图12. 2是一种有触点键盘的矩阵,各行线可以逐行加上低电平的输入,各列线的一端接电源,而另一端供检测用。当无键按下时,接入数据线供检测的各列线均为高电平。当行线中某一线为低电平,而却好与此相连的某一键按下,相应的列线(接入数据线)就变低。通过程序的检测就可以查出是哪个键按下。 4、简单键盘接口的扫描原理 见图12.3。 该接口用了两个I/O端口,一个用作行扫描码的输出KBOUT,另一个用作列检测码输入KBIN。行线为扫描输入,列线为扫描输出。 其原理如下:

键盘接口学习

键盘接口 1、按键概念 按键通常是一种常开型按钮开关,常态下键的两个触点处于断开状态,按下键时 它们才闭合(短路)。 通常,键盘有编码和非编码两种。编码键盘 通过硬件电路产生被按按键的键码和一个选通 脉冲。选通脉冲可作为CPU的中断请求信号。这 种键盘使用方便,所需程序简单,但硬件电路复 杂,常不被单片机采用。 非编码键盘按组成结构又可分为独立式键 盘和矩阵式键盘。独立式键盘无论是硬件结构还 是软件设计都比较简单。特点:每个按键占用一 条I/O线,当按键数量较多时,I/O口利用率不 高,但程序编制简单。适用于所需按键较少的场 合。 矩阵式键盘特点:电路连接复杂,但提高了 I/O口利用率,软件编程较复杂。适用于需使用 大量按键的场合。 2、单片机对矩阵式键盘接口处理 的一般过程 1、键扫描 键扫描就是要判断有无键按下,当扫描到有键 按下时再进行下一步处理,否则退出键盘处理 程序。独立式键盘扫描只需读取IO口状态,而 矩阵式键盘描通常有两种实现方法:逐行扫描 法和线反转法。 (1) 逐行扫描法。依次从第一至最末行线 上发出低电平信号, 如果该行线所连接的键没 有按下的话, 则列线所接的端口得到的是全“1” 信号, 如果有键按下的话, 则得到非全“1”信号。

(2)线反转法。 线反转法也是识别闭合键的一种常用方法, 该法比行扫描速度快, 但在硬件上要求行 线与列线外接上拉电阻。 先将行线作为输出线, 列线作 为输入线, 行线输出全“0”信号, 读 入列线的值, 那么在闭合键所在的 列线上的值必为0;然后从列线输出 全“0”信号,再读取行线的输入值, 闭合键所在的行线值必为0。这样, 当一个键被按下时, 必定可读到一 对唯一的行列值。再由这一对行列值 可以求出闭合键所在的位置。 2.消抖 由于按键按下时的机械动作,在按键 被按下或松开的瞬间,其输出电压会产 生波动,称为键的抖动。 为确保每按一次键单片机只进行 一次处理,使键盘可靠地工作,必须消 除按键抖动。消抖方法有硬件消抖和软 件延时两种。 (1)硬件消 抖法:就是在键 盘中附加去抖动 电路,从根上消除抖动产生的可能性。左图所示电路实际上是由R-S 触发器构成的单脉冲电路。当按钮开关按下时Q端输出低电平,当开 关松开时Q端恢复高电平,即输出一个负脉冲,以此消除抖动。 (2)软件消抖法:键按下的时间与操作者的按键动作有关,约为十分之几到几秒不等。而键抖动时间与按键的机械特性有关,一般为5~10ms不等。软件消抖法即是采用延时(一般延时10~20ms)的方法,以避开按键的抖动,即在按键已稳定地闭合或断开时才读出其状态。 3. 计算键码 键码是每个按键的标识。被按键确定下来之后,接下来的工作是计算闭合键的键码,然后才能根据键码进行对应的操作。 为编程方便,键码通常都是以键的排列顺序安排,按照从左到右、从上向下的顺序编排。键码可根据行号列号以查表求得,也可通过计算得到。我们将结合实例加以介绍。

相关文档
最新文档