键盘接口技术

合集下载

一种实用的动态显示及键盘接口技术

一种实用的动态显示及键盘接口技术

收稿日期: !""#$"!$%& 作者简介: 侯 立功 (%’#( ) * ) , 男, 山西新绛人, 无锡职业技术学院工程 师。
%#
侯立功: 一种实用的动态显示及键盘接口技术
第0 期
图 !" 动态显示及键盘接口控制原理图 " " (# ) 首 先发送 “ 数 码管 选通信 号” , 低 电平 有效。 比 如本次准 备选择 数码管 $ , 应发 送 $%$!!!!!!! 至 &’(), 等待数据发送完毕 (*+ , ! ) ; (- ) 再发送被选通数码管 应该显 示字 符所对 应的 段 码值, 等待数 据发送完毕 ( *+ , ! ) ; (. ) 至 此, 所 有 控制 信 号 已 全部 到 位, 对单片机的 /01 2 引脚清零 ( /01 2 , “$ ” ) , 重新打开显示; (3 ) 被选择的数码管此时正确显示指定的字符; (2 ) 同时, 利用每次只有一条数码管选通信号线为低 电平的情况, 通过读取 键扫描线的状态, 可 以实现对按 键 的判断与处理。具体键扫描线的连接可视 按键的数量 而 定。本文作为示范, 采 用最 大化键 盘阵 列, 处 理 3- 个 按 键。假如只有 4 个按键, 则只需 /! 口的任意 一根键扫描 线即可。 经过笔者 实际试 验, 最终选 择 0 毫秒 的定时 周期轮 流显示, 相当于 每个数 码管每 !3 毫 秒被点 亮一次, 每次 点亮时间为 0 毫秒, 显示数据非常稳定, 达到 了静态显示 的效果。在笔者后来 所从事 的单 片机 控制产 品开 发上, 简易的人机交互接口 全部采 用这 种控制 方式, 性 能稳定 可靠, 同时极大地节约了单片机资源和 外设的硬 件开销, 降低了成本。 主程序控制流程图如图 0 : 本文采用 *$ 作为 0 毫秒定 时器, 处理 显示及 按键。 控制流程图如图 #:

《单片机应用技术》000-9(周君芝)课件 项目四 显示器与键盘接口技术的应用

《单片机应用技术》000-9(周君芝)课件 项目四  显示器与键盘接口技术的应用
单片机应用技术
(第 2 版)
目录
项目1 项目2 项目3 项目4 项目5 项目6 项目7
C语言基础知识 单片机开发软件及硬件系统的认识
中断系统与定时/计数器的应用 显示器与键盘接口技术的应用
串行接口技术的应用 A/D与D/A转换技术的应用
单片机综合实践
显示器与键盘接口技术 的应用
项目导读
单片机应用系统在运行时需要与外部设备交换 信息,其中显示器与键盘是实现人机交互不可或 缺的设备。
共阳极LED数码管显示器的结构 原理如图所示,由于所有段的阳 极均连接高电平,因此在使用时, 需要在相应段上加低电平,才能 使其发光。
bit 变量名 = 变量值;
4.1.1 LED数码管显示器
如果说我们国家是块闪闪发光的显示器,那么我们 每个人都是属于这块显示器的一个“数码管”,是 这块显示器不可缺少的部分。所谓“天生我材必有 用”,随着国家的蓬勃发展,各行各业都亟须专业 人才。我们作为新时代的青年,应当正视自己,发 挥自己的优势,学成一技之长,为祖国的发展贡献 自己的力量。
4.1.1 LED数码管显示器
2.LED数码管显示器的字形码
LED数码管显示器只要控制LED段的亮与灭即可显示相应的字符。当LED数码管显 示器的连接方式确定时,若要显示某一特定字符,其控制字形是固定不变的。控制字 形控制的是LED数码管显示器上要显示的字符形状,称为字形代码,简称为字形码。
LED数码管显示器八段的各代码位与显示段的对应关系如表所示。
【确定方法】
➢ 在共阴极连接中,要点亮的段为高电平, 不点亮的段为低电平,则各显示段的状态 如表所示。
显示段 dp g f e d c b a 各段状态 0 1 1 1 1 1 0 1

数据采集系统 教学大纲

数据采集系统 教学大纲

《数据采集系统》教学大纲Data Acquisition System课程编码:12A08100 学分:2.5 课程类别:专业课计划学时:48 其中讲课:36 实验或实践:12 上机:0适用专业:电子信息科学与技术推荐教材:李念强等,《数据采集技术与系统设计》,机械工业出版社,2009年参考书目:曹玲芝,《现代测试技术及虚拟仪器》,北京航空航天大学出版社,2004年课程的教学目的与任务本课程是电子信息类本科生的一门主要的专业课。

本课程的教学目的是使学生通过学习数据采集系统基本知识和设计方法,熟悉简单的传感器,信号的调理,A/D转换,D/A转换,人机接口,抗干扰和数据处理等技术,能够结合应用环境和功能要求,选择最适合的软硬件设计方案,实现基本的数据采集系统设计。

课程的主要任务是通过本课程的学习,使学生掌握以单片机为核心的数据采集系统的基本原理和软件开发方法,掌握数据采集系统的分析方法和设计方法,为今后进行系统的软硬件设计及项目开发打下坚实的基础。

课程的基本要求1、使学生在掌握模拟电子技术,数字电子技术,单片机技术和C语言程序设计等课程的基本理论、基本设计方法的基础上,能够按照数据采集系统的设计原则,根据系统的应用环境和功能要求,选用高性价比的传感器,采用适宜的接口方案及数据处理方法,完成简单数据采集系统的设计。

2、通过课堂讲解、讨论和课内实验,使学生能掌握数据采集系统的设计原则,能够利用网络,图书等资源选择适合的电路器件和设计方法,提高学生的工程实践能力。

3、要求学生在学完本课程后,能运用所学基本理论和接口电路,独立地完成小型数据采集系统的综合设计。

各章节授课内容、教学方法及学时分配建议(含课内实验)第一章数据采集与系统设计基础建议学时:4 [教学目的与要求] 了解数据采集系统的结构形式及采集信号的处理基础。

[教学重点与难点] 数据采集系统的结构形式。

[授课方法] 以课堂讲授为主,课堂讨论和课下自学为辅。

4.3 单片机键盘接口电路设计

4.3 单片机键盘接口电路设计
}
//函数功能:键盘扫描 //检测到有键按下 //延时10ms再去检测 //按键k1被按下 //按键k2被按下 //按键k3被按下 //按键k4被按下
▲▲▲
独立式键盘接口设计案例
void forward(void) { P3=0xfe; led_delay(); P3=0xfd; led_delay(); P3=0xfb; led_delay(); P3=0xf7; led_delay(); P3=0xef; led_delay(); P3=0xdf; led_delay(); P3=0xbf; led_delay(); P3=0x7f; led_delay(); }
break;
}
}
}
▲▲▲
独立式键盘接口设计案例
void key_scan(void) { P1=0xff; if((P1&0x0f )!=0x0f ) { delay10ms(); if(S1==0) keyval=1; if(S2==0) keyval=2; if(S3==0) keyval=3; if(S4==0) keyval=4; }
//处理按下的k1键,“……”为处理程序 //跳出switch语句 //处理按下的k2键 //跳出switch语句 //处理按下的k3键 //跳出switch语句 //处理按下的k4键 //跳出switch语句 //处理按下的k5键 //跳出switch语句
独立式键盘接口设计案例
1.独立式键盘的查询工作方式
{
case 1:forward(); //键值为1,调用正向流水点亮函数
break;
case 2:backward(); //键值为2,调用反向流水点亮函数
break;
case 3:Alter(); //键值为3,调用高、低4位交替点亮函数

单片机教程26课单片机矩阵式键盘接口技术及程序设计

单片机教程26课单片机矩阵式键盘接口技术及程序设计

单片机教程26课:单片机矩阵式键盘接口技术及程序设计发布:2009-4-04 22:40 | 作者:hnrain | 查看:885 次在单片机系统中键盘中按钮数量较多时,为了减少I/O 口的占用,常常将按钮排列成矩阵形式,如图1所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按钮加以连接。

这样,一个端口(如P1 口)就能组成4*4=16个按钮,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就能组成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

<单片机矩阵式键盘接口技术及编程接口图>矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O 口作为输出端,而列线所接的I/O 口则作为输入。

这样,当按钮没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样, 通过读入输入线的状态就可得知是否有键按下了。

具体的识别及编程办法如下所述。

矩阵式键盘的按钮识别办法确定矩阵式键盘上何键被按下介绍一种行扫描法”行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按钮识别办法,如上图所示键盘,介绍过程如下。

判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按钮之中。

若所有列线均为高电平,则键盘中无键按下。

判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其办法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按钮就是闭合的按钮。

键盘接口技术在某显控设备中的应用

键盘接口技术在某显控设备中的应用
送 给工 控机 。
头与工控机相连。3 种键盘接 口结构类似 , 有效 的
接 口引 脚均 为 4个 , 图 2所示 ( 箱后视 图 ) 如 机 。
1 工控 机键 盘 工 作 原 理
工 控 机 键 盘 分 为 P / T P / T和 P/ C X ,CA S2这 3
图 1 显控设备面板
Ap ic to f k y oa d i t r a e i a dipl y pa e o t o pl a i n o e b r n e f c n s a n lc n r l
Z HAO a - n XU P n Z n , I o g B o mig, ig, HU Yi g L U D n
种类型。P / T和 P / T键 盘通过一个 5针 DN CX CA I
插 头 与工控 机相 连 ,S2键盘通 过一 个 6针 D N插 P/ I
③ ⑤
Pn 】 、 [ A I 盯 J ' T O Ps 2 ,
收稿 日期 :0 6— 5—2 20 0 9
1 .键盘时钟 ;.键盘数据;.未用 ;.电源地 ;.+5V电源 ;.未用 2 3 4 5 6
维普资讯

5 6・
工业仪表与 自动化装置
20 0 7年第 1 期
键 盘 接 口技 术 在 某 显 控 设 备 中 的应 用
赵保明 , 徐 萍, 朱 莹, 刘 东
( 空军军训 器材研 究所 , 京 10 8 ) 北 009
摘 要 : 出了一 种利 用键 盘接 口采 集按键 、 提 开关输入 的 方案 。该方 案介 绍 了键 盘 的工作 原理及
与 工控 机 通信 的方 法 , 出 了某显控 设备 中显 控键 盘 的构成 原理框 图以及软 硬件 实现 方法 。 给

ps2标准键盘是什么意思

ps2标准键盘是什么意思

ps2标准键盘是什么意思PS/2标准键盘是指一种接口标准,用于连接计算机键盘和主机。

它是由IBM公司在1987年推出的,后来成为了一种行业标准,被广泛应用于个人电脑和其他设备上。

PS/2标准键盘与早期的AT键盘相比,有着更小的插头和更高的信号质量,因此在一定程度上提高了键盘的稳定性和可靠性。

PS/2标准键盘通常采用圆形的迷你DIN连接器,插头上有6根引脚,其中两根用于传输键盘数据,另外四根用于传输电源和地线。

这种接口设计使得PS/2键盘在连接时更加牢固,不容易松动,而且由于采用了差分信号传输技术,可以有效地抵抗干扰和噪音,提高了数据传输的稳定性。

PS/2标准键盘在设计时考虑了人体工程学,按键布局合理,手感舒适,使用起来比较顺手。

同时,PS/2接口还支持热插拔,用户可以在计算机开机的情况下插拔键盘,而不会对系统造成影响,这在一定程度上提高了用户的使用便利性。

PS/2标准键盘在市场上占据了相当大的份额,尤其是在早期的个人电脑上,几乎所有的主板都配备了PS/2接口。

即使在现在,虽然USB接口的键盘已经成为主流,但PS/2键盘依然在一些特定领域有着自己的市场。

比如在一些对稳定性和可靠性要求较高的场合,PS/2键盘仍然被广泛应用,因为它在这些方面具有一定的优势。

总的来说,PS/2标准键盘是一种经典的计算机外设,它以稳定性、可靠性和人体工程学设计著称,曾经在个人电脑领域占据重要地位。

虽然现在已经逐渐被USB接口所取代,但在一些特定的场合,PS/2键盘依然有着自己的市场和优势。

希望本文能够为您解答关于PS/2标准键盘的疑问,谢谢阅读!。

矩阵式键盘的接口设计与编程

矩阵式键盘的接口设计与编程

;<--------------------------判断是否真的有键按下--------------------->
T_KEY:
ACALL
DL_20MS
;调用延时子程序
ACALL
P_KEY
;再次调用“有无按键按下子程序”
JNZ
IN_SCAN
;若有键按下,则执行逐行扫描程序
AJMP
SCAN
;若无键按下,则不断查询
;<--------------------------扫描数据初始化----------------------->
单片机原理及应用技术
—1—
one 矩阵式键盘接口设计——基于行反转法
4×4矩阵式键盘接 口设计如图所示
—2—
图中P1口的低4位作为行线,P2口的低4位作为列线。行线通过74LS21进行逻辑与操作后作为单 片机的外部中断源输入,当有键按下时以中断形式去执行相应的按键处理程序。
行反转法因判键时将输入与输出线反转互换而得名,步骤如下:
PB口作为扫描口需要设为输出,PA口设为读入。 逐行扫描时,PB口的状态为:
PB7 PB6 PB5 PB4 111 1 111 1 111 1 111 1 111 0 110 1 101 1 011 1
PB3 PB2 PB1 PB0 1 110 1 101 1 011 0 111 1 111 1 111 1 111 1 111
—3—
【例9-3】 行反转法判断按键编号,并存入40H单元,程序如下
ORG
0000H
LJMP
MAIN
ORG
0003H
LJMP
INT0
ORGБайду номын сангаас
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

键扫描程序如下:
BOAD:LCALL BOADD
JNZ BOAD1
;无键按下转BOAD
LCALL DELAY
;调延时子程序
AJMP BOAD
;继续扫描键盘
BOAD1:LCALL DELAY ;消除键抖动(延时子程序略)
LCALL BOADD
;确认是否有键按下
JNZ BOAD2
LCALL DELAY
AT89C51
IN0T
IN1T
S1
S2 S3 S4 S5
S6 S7
S8
S9 S10 S11 S12 S13 S14 S15 S16
+5 V
图8-3 利用中断扩展2×8键盘电路图
通过前面的原理分析可知,完成键盘管理的程序主 要有主程序和中断服务程序,主程序主要完成初始化 和键值处理任务,中断服务程序主要完成键盘扫描和 键值读入任务。对应的程序流程图如图8-4所示(INT1 中断流程图与INT0类似,略)。
MOV
A,30H
ANL 31H,#0F0H ;取行值
ADD A,31H
;行值加列值
CPL A
;A全0无键按下
RET
2. 定时扫描工作方式 定时扫描工作方式是利用单片机内部定时器产生定时中断,CPU响
应中断后对键盘进行扫描,当有键按下时,转入键功能的处理程序。 定时扫描在本质上是中断方式,只不过是定时扫描键盘,以中断的方
式处理键盘,它的硬件电路与编程扫描工作方式相同。 3. 中断工作方式 单片机应用系统工作时,并不经常需要键输入。因此,无论是编程
工作方式或是定时工作方式,CPU经常处于空扫描状态。 图8-3是AT89C51利用中断扫描方式实现的一个2×8矩阵式键盘的硬
件接口电路。
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
程序如下: ORG 0000H LJMP BEGIN ORG 0003H LJMP WZD0 ORG 0013H LJMP WZD1
;转主程序 ;转外中断0程序 ;转外中断1程序
BEGIN: SETB
ORG 0100H
MOV SP,#60H
;设置堆栈
MOV R1,#00H
;R1存放键值
IT1
;设INT0、INT1为边沿触发
INC A
MOV P1,#0FBH
JNB P3.2,KEYR1
INC A
MOV P1,#0F7H
JNB P3.2,KEYR1
INC A
MOV P1,#0EFH JNB P3.2,KEYR1 INC A MOV P1,#0DFH JNB P3.2,KEYR1 INC A MOV P1,#0BFH JNB P3.2,KEYR1 INC A MOV P1,#7FH
这种方式是指在单片机完成其它工作后的空余时间, 调用键盘扫描子程序,来响应键盘输入的要求,在执行键 功能程序时,CPU不再响应键输入要求。
[例8.1] 用查询法按图8-1读取行列键盘键码,并将 键码存入内部RAM 32H单元。
图中P1.4~P1.7用于控制行线,P1.0~P1.3用于控制 列线。行、列线通过上拉电阻接+5 V,没有键按下时, 被钳在高电平状态。通过发送扫描字确定键码,具体 方法如下:
DELAY: … ;延时程序(略)
(1) 由列线输出0,然后读入P1口的值存入内部 RAM 30H单元。
(2) 由行线输出0,然后读入P1口的值存入内部 RAM 31H单元。
(3) 把30H的低4位与31H的高4位的值相加存入累 加器A。
(4) 最后判断累加器A的值,如果累加器A的数据全 为1,说明无键按下,否则说明有键按下,且累加器A 的数据就是被按下键的键值(程序中对累加器A取反, 目的是用JNZ指令判断是否有键按下)。如图中圆圈所 指键的键值为10111110B。
SETB
IT0
SETB
EA
;开中断
SETB
EX0
SETB
EX1
MOV
P1,#00H
键值处理程序(略)
其它主程序(略)
WZD0: PUSH PSW
;保护现场
PUSH A
CLR EX0
;关中断INT0
LCALL DELAY ;调延时程序去抖动
JNB P3.2,WZD01
;再次确认是INT0中断吗源自 SETBWZD01: MOV
JNB
EX0
;不是,则恢复现场退出中断
POP A
POP PSW
RETI
MOV A,#01H ;置S1键的键值为1
P1,#0FEH
;扫描P1.0
P3.2,KEYR1
;是S1键则转移
INC A
;不是S1键,键值加1
MOV P1,#0FDH ;扫描P1.1,以下同P1.0类似
JNB P3.2,KEYR1
SJMP BOAD
;转键扫描
BOAD2: CPL
A
MOV
32H,A
;取键值
BOAD3: LCALL
DELAY
LCALL BOADD
JNZ BOAD3
;等待键松开
B2: RET
;返回
;获取键值子程序
BOADD: MOV P1,#0FH ;置行线为0 MOV A,P1
MOV 30H,A MOV P1,#0F0H ;置列线为0 MOV A,P1 MOV 31H,A ANL 30H,#0FH ;取列值
JNB P3.2,KEYR1
LJMP KEYR2
KEYR1:MOV R1,A ;将键值存入R1中
KEYR2:CLR IE0 ;清中断标志(因扫描中可能使IE0置位)
SETB EX0
;开中断INT0
POP A ;恢复现场
POP PSW
RETI
;中断返回
WZD1: … ;外中断1程序与中断0相似(略)
P1.3 P1.2 P1.1 P1.0
+5 V 5.1 k ×4
5.1 k ×4
图8-1 矩阵键盘与AT89C51接口连接图
+5 V
键按下
前沿抖动
键稳定
后沿抖动
图8-2 键闭合及断开时的电压抖动
综上所述,对于非编码键盘,按键处理程序应具有如下 四个功能:
(1) 判断键盘上有无键按下。 (2) 去除键的机械抖动。 (3) 求按下键的键码。 (4) 闭合一次,只进行一次键功能操作。 8.1.2 单片机对非编码键盘的控制方式 1. 查询方式
8.1 键盘接口技术
8.1.1 行列式非编码键盘的工作原理 行列式键盘又叫矩阵键盘,如图8-1所示,按键设置
在行列的交叉点上,如用2×2的行列结构可构成四个 键的键盘,4×4的行列结构可构成16个键的键盘。在 按键数量较多时,矩阵键盘可节省I/O口线。
P1.7
AT89C51
P1.6 P1.5
P1.4
相关文档
最新文档