按键接口设计PPT

合集下载

独立式键盘的接口设计与编程

独立式键盘的接口设计与编程
单片机原理及应用技术
—1—
独立式键盘相互独立,每个按键占用一根I/O口线,每根
I/O口线上的按键工作状态不会影响其他按键的工作状态,CPU可 直接读取该I/O线的高/低电平状态。这种按键硬件、软件结构简 单,判键速度快,使用方便,但占用I/O口线较多,适用于按键 数量较少的系统中。
独立连接式键盘连接图如图
—8—
【例9-2】 中断方式下的键盘扫描程序
ORG LJMP ORG 址 LJMP ORG MAIN: MOV SETB SETB SETB
0000H MAIN 0003H
INT0 0100H
P1,#0FFH EA EX0 IT0
—9—
;外部中断0中断服务入口地
;转中断服务
;P1口做输入时,先送1 ;开总中断允许 ;开INT0中断 ;下降沿有效
—3—
对于时钟是微秒级的单片机而言,键盘的抖动有可能造成单片机对一次 按键的多次处理。为了提高系统的稳定性,我们必须采用有效的方式消除抖 动。
去除抖动可以采用硬件方式和软件方式。硬件方式一般是在按键与单片 机的输入通道上安装硬件去抖电路(如RS触发器)。软件方式的实现方法是: 当查询到电路中有按键按下时,先不进行处理,而是先执行10~20ms的延 时程序,延时程序结束后,再次查询按键状态,若此时按键仍为按下状态, 则视为按键被按下。

;主程序其余部分
;<--------------------------中断服务程序------------------------->
INT0:
LCALL
DL_20MS
;延时去抖动
MOV
A,P1
;读P1口各引脚
CJNE
A,#0FFH,CLOSE

键盘接口原理与设计

键盘接口原理与设计

矩阵键盘的接口实例
8051单片机的P1口作为键盘I/O
口,键盘的列线接到P1口的低4位,
键盘的行线接到P1口的高4位。列线 P1.0~P1.3分别接有4个上拉电阻到 正电源+5V,并把列线P1.0~P1.3设 置为输入线,行线P1.4~P.17设置为
输出线。4根行线和4根列线形成16
个相交点。
矩阵键盘的接口实例
总结:
无论以何种方式编码,均应以处理问题方便为原则, 而最基本的就是键所处的物理位置即行号和列号,它是各 种编码之间相互转换的基础,编码相互转换可通过计算或 查表的方法实现。
键盘扫描方式
编程扫描方式
定时扫描方式
中断扫描方式
编程扫描方式
编程扫描方式是利用CPU完成其他工作的空余调用键 盘扫描子程序来响应键盘输入的要求。在执行键功能程 序时,CPU不再响应键输入要求,直到CPU重新扫描键 盘为止。
(6)显示RAM和显示寄存器。
I/O控制及数据缓冲器
数据缓冲器是双向缓冲器,连接内外 总线,用于传送CPU和8279之间的命令或 数据,对应的引脚为数据总线D0~D7。 I/O控制线是CPU对8279进行控制的引
线,对应的引脚为数据选择线A0;片选线;
读、写信号线。
控制与定时寄存器
控制与定时寄存器用来寄存键盘及显示工
消抖----软件方法
不过一般情况下,通常不对按键释放的 后沿进行处理,实践证明,也能满足一 定的要求。当然,在实际应用中,对按 键的要求也是千差万别的,要根据不同 的需要来编制处理程序,但以上是消除 按键抖动的原则。
简单键盘接口
简单键盘的工作原理
简单键盘的接口电路与编程
实践与思考
简单键盘的工作原理

计算机控制技术(曹立学)1-4章 (3)

计算机控制技术(曹立学)1-4章 (3)

第3章 人机接口技术
发光二极管(Light Emitting Diode, LED)是一种电-光转 换型器件, 是PN结结构。 在PN结上加正向电压, 产生少子 注入, 少子在传输过程中不断扩散, 不断复合而发光。 改 变所采用的半导体材料, 就能得到不同波长的发光颜色。
第3章 人机接口技术
LED的主要优点如下: ·主动发光。 一般产品的亮度大于1 cd/m2, 高的可达 10 cd/m2。 ·工作电压低。 约为2 V。 ·正向偏置工作。 性能稳定, 工作温度范围宽, 寿命 长(105 h)。 ·响应速度快。 对于直接复合型材料, 响应速度为16 MHz~160 MHz; 对于间接复合材料响应速度为105 Hz~106 Hz。 ·尺寸小。 一般LED的PN结芯片面积为0.3 mm2。 LED的主要缺点是电流大, 功耗大。
3.1.2
1. 采用8255A可编程并行输入/输出接口扩展独立式按键的电 路如图3.5所示。
第3章 人机接口技术 图3.5 采用8255A扩展独立式按键电路图
第3章 人机接口技术
若背景机选用8×C196CPU, 8255A的口地址分配如下:
PA口为7FFCH、 PB口为7FFDH、 PC口为7FFEH、 控制口为
第3章 人机接口技术 图3.1 按键抖动波形
第3章 人机接口技术
2.
一个按键的电路如图3.2所示。 当按下按键S时, VA=0, 为低电平; 当未按下按键S时, VA=1, 为高电平。 反之, 当VA=0时, 表示按键S被按下; 当VA=1时, 表示按键S未被
按下。 由按键电路的分析可见, 按键闭合与否, 反映在电压上
第3章 人机接口技术 表3.1 LED显示器字模表
第3章 人机接口技术

1-单片机键盘与显示电路设计

1-单片机键盘与显示电路设计

独立式按键 单片机控制系统中,往往只需要几个 功能键,此时,可采用独立式按键结构。 1.独立式按键结构 独立式按键是直接用I/O口线构成的单 个按键电路,其特点是每个按键单独占 用一根I/O口线,每个按键的工作不会影 响其它I/O口线的状态。独立式按键的典 型应用如图9-3所示。
V CC
P 1.0 P 1.1 P 1.2 P 1.3 P 1.4 P 1.5 P 1.6 P 1.7
P1口某位结构

P1口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器 、一个数据输出的驱动电路。 P1口的功能和驱动能力

P1口只可以作为通用的I/O口使用;
P1可以驱动4个标准的TTL负载电路; 注意在P1口作为通用的I/O口使用时,在从I/O端口读入数据时,应 该首先向相应的I/O口内部锁存器写“1”。 举例:从P1口的低四位输入数据 MOV MOV P1,#00001111b ;;先给P1口底四位写1 A,P1 ;;再读P1口的底四位
依此规律循环,即可使各位数码管显 示将要显示的字符。虽然这些字符是在不 同的时刻分别显示,但由于人眼存在视觉 暂留效应,只要每位显示间隔足够短就可 以给人以同时显示的感觉。 采用动态显示方式比较节省I/O口,硬 件电路也较静态显示方式简单,但其亮度 不如静态显示方式,而且在显示位数较多 时,CPU要依次扫描,占用CPU较多的时 间。
矩阵式按键 单片机系统中,若使用按键较多时,通 常采用矩阵式(也称行列式)键盘 1.矩阵式键盘的结构及原理 矩阵式键盘由行线和列线组成,按键位 于行、列线的交叉点上,其结构如下图9-4 所示。
+5 V 0 4 8 12 0 1 5 9 13 1 2 6 10 14 2 3 7 11 15 3 0 1 2 3

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位交替点亮函数

《单片机矩阵键盘》课件

《单片机矩阵键盘》课件

矩阵键盘的原理
深入了解矩阵键盘的组成结构、工作原理和扫描方式。
组成结构 工作原理
矩阵键盘由按键和行列引脚组成的矩阵状结构。 通过扫描按键矩阵的行和列,确定被按下的按键。
扫描方式
逐行、逐列或矩阵扫描,用于检测按键的状态。
矩阵键盘的接口设计
详细介绍矩阵键盘的电路设计、接口连接和设计注意事项。
电路设计
设计适合矩阵键盘的电路,确保 信号的正确传输和按键的可靠检 测。
接口连接
将矩阵键盘与单片机进行正确的 接线连接,以实现按键信号的读 取。
设计注意事项
注意接口的稳定性、防抖动处理 和按键状态的判别。
矩阵键盘的编程实现
教授GPIO口的配置、矩阵键盘的扫描方法和状态码处理的编程实现。
1
GPIO口的配置
设置单片机的GPIO引脚,用于连接和控
实验效果演示
展示实验结果,演示矩阵键盘 的按键功能。
总结和展望
总结本课程的学习内容,展望矩阵键盘在更多应用场景中的发展。
1 总结本课程的学习内容
2 展望更多应用场景
回顾矩阵键盘的原理、接口设计和编程实现, 总结学习收获。
探讨矩阵键盘在电子设备、控制系统等领域 的应用前景。
矩阵键盘的扫描方法
ቤተ መጻሕፍቲ ባይዱ
2
制矩阵键盘的行和列。
编写扫描程序,逐行或逐列扫描矩阵键
盘,读取按键状态。
3
状态码处理
根据读取的按键状态码,进行相应的处 理和响应,实现按键功能。
实验演示
展示实验环境的介绍、实验步骤和实验效果。
实验环境介绍
介绍搭建实验所需的硬件和软 件环境。
实验步骤
详细说明进行实验的步骤和操 作流程。

独立式按键接口设计

独立式按键接口设计
单片机原理及应用技术
独立式按键接 口设计
独立式按键接口设计
一、独立式键盘接口电路5K
1. 接口与数据 每个按键单独占有一根I/O
2. 接口引线。 输入每根I/O接口引线的信号
对应某个数据。接口程序设计
键盘处理程序任务 1)键输入
检查键盘是否有键被按下,消除按 键抖动。确定被按键的键号,获取键号。
有按键信号? N Y
延时等待10ms
仍有按键信号? N Y
键盘处理
按键释放? N Y
三、单键管理程序
START: MOV MOV MOV JNB JNB JNB JNB JNB JNB JNB JNB JNP
A, #0FFH P1, A A, P1 ACC.0, P0F ACC.1, P1F ACC.2, P2F ACC.3, P3F ACC.4, P4F ACC.5, P5F ACC.6, P6F ACC.7, P7F START
P1F: LJMP PL1
::
P7F: LJMP PL7
PL0:

LJMP START
PL1:

LJMP START

PL7:

LJMP START
单片机原理及应用技术
硬件电路消除抖动或软件消除抖动。 2)键译码
键号为键盘位置码,根据键号查表 得出被按键的键值。键值:数字键0~9、 字符键0AH~0FH、功能键10H~ 。 3)键处理
根据键值转移到不同程序段。若键 值属于数字、字符键,则调用显示数字 和字符的子程序。若键值属于功能键, 则进行多分支转移,执行各个功能程序段。

第4章 控制系统及接口设计(4接口设计)

第4章 控制系统及接口设计(4接口设计)

5
控制系统及接口设计-接口设计
(地址总线驱动)8212 8位并行I/O接口 8212用于数据传输,具有8位并行数据寄 存器和缓冲器,有供产生中断用的服务请 求触发器,输入负载电流小,最大为 0.25mA,三态输出,最大输出电流15mA, 输出高电平为3.65V,能直接与080A, 8085ACPU相连接,寄存器异步清零,+5V 电源,电源和输出电压-0.5-+7V,输入电 压-0.5-+5.5V,工作电流130mA。
5
控制系统及接口设计-接口设计
5
控制系统及接口设计-接口设计
5
控制系统及接口设计-接口设计
5
控制系统及接口设计-接口设计
z80CPU的存储器及I/O口扩展举例
5
控制系统及接口设计-接口设计
二、I/O接口扩展
1.地址译码器的扩展
扩展I/O接口必然要解决I/O接口的端口 (寄存器)的编址和选址问题。每个通用接口 部件都包含一组寄存器,一般称这些寄存器为 I/O端口。
5
控制系统及接口设计-接口设计
z80-接口设计
三、模拟量的采样与处理
模拟量输入通道可完成模拟量的采集并将它转换 成数字量送入计算机的任务。依据被控参量和控制要 求的不同,模拟量输入通道的结构形式不完全相同。 目前普遍采用的是公用运算放大器和A/D转换器的结构 形式,其组成方框图如图5-32所示。
5
控制系统及接口设计-接口设计
由于与CPU一起使用的存储器不只一个,这就产生选 片问题。一般采用译码器来选片。图4-14为3-8译码器 74LSl38的引脚配置。该芯片有三个片选端G1、G2A、G2B。 当G1=1,G2A=0,G2B=0时,芯片才被选通,否则输出 均为高电平。A、B、C为三位输入端。输出端的逻辑功能 如表4-6所示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

按键的工作原理
在触点抖动期间检测按键的通与断状态,可能导致判 断出错,即按键一次按下或释放被错误地认为是多次操作, 这种情况是不允许出现的。为了克服按键触点机械抖动所致 的检测误判,必须采取去抖动措施。这一点可从硬件、软件
两方面予以考虑。在单片机应用系统中一般采用软件去抖。
计算机控制技术
电子秤技术
按键按下。
计算d keyscan(void) //按键扫描处理函数 {unsigned char chr[10]={0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char a; P1=0xff; a=P1; if(a==0xff) return; //没有键按下则返回 else { delay(10); //调用延时函数,延时10ms去抖动 a=P1; if(a==0xff) return ; else {while(P1!=0xff); //等待按键释放
无键按下,输入都为1
计算机控制技术
有键按下,第三行输入0
电子秤技术
矩阵式键盘—逐行扫描法
第二步:去除键抖动,当检测到有键按下后,延时一段时间再 做下一步的检测判断。
计算机控制技术
电子秤技术
矩阵式键盘—逐行扫描法
第三步:对键盘进行逐行扫描,再次判断是否有键按下,如果有
键按下则识别出是哪一列的按键按下。P1.4~P1.7按下述4种组
计算机控制技术
电子秤技术
独立式按键
以独立式按键为例,为了使CPU能正确地读出P3.0口的状
态,对每一次按键只作一次响应,就必须考虑如何去除抖动。
软件去除抖动就是在单片机获得P3.0口为低的信息后,不
是立即认定按键已被按下,而是延时10毫秒或更长一段时间
后再次检测P3.0口,如果仍为低,说明按键确实按下了,这 实际上是避开了按键按下时的抖动时间。而在检测到按键释 放后(P3.0为高),再对键值处理。
P1.4 P1.5 P1.6 P1.7
1110 1101 1011 0111
temp=temp>>1;
}
计算机控制技术 电子秤技术
逐行扫描法识别按键函数
switch(~temp)//根据扫描值查找按下按键所在的列
{
case 0x7f:lie=0;break;
case 0xbf:lie=1;break; case 0xdf:lie=2;break;
计算机控制技术 电子秤技术
18
识别某一键是否按下的函数
switch(a) //根据变量a的值判断哪个键按下 { case 0xfe: P2=chr[1];break; //显示键值 case 0xfd: P2=chr[2]; break; case 0xfb: P2=chr[3]; break; case 0xf7: P2=chr[4]; break; case 0xef: P2=chr[5]; break; case 0xdf: P2=chr[6]; break; case 0xbf: P2=chr[7]; break; case 0x7f: P2=chr[8]; break; } } }
检测当前是否有键被按 //低四位输入,高四位输出
//读取P1口的状态 //高四位清零
case 0x0d:hang=1;break;
case 0x0b:hang=2;break; case 0x07:hang=3;break;
下:P1.4~P1.7输出全 “0”,读取P1.0~P1.3 的状态,若P1.0~P1.3 为全“1”,则无键闭合。 当P1.0~P1.3不全为零, 则有键闭合。
计算机控制技术
电子秤技术
矩阵式键盘
矩阵式(也称行列式)键盘用于按键数目较多的场合, 矩阵式键盘如下图所示,一个44的行、列结构可以构成16
个按键。每条水平线(行线)和垂直线(列线)在交叉处不直
接连通,而是通过一个按键加以连接。行线通过电阻接正电 源,而行线所接的I/O口则作为输入端,列线所接的I/O口作 为输出端。
default:return(0xff)
}
计算机控制技术
;
电子秤技术
逐行扫描法识别按键函数
delay(10);//延时10ms去抖动 temp=0x80; for(i=0;i<4;i++) //逐行扫描 { P1=~temp; z=P1; z&=0x0f; //高四位清零 if(z!=0x0f) break;//有键按下,结束循环 if(i==3)return(0xff); //循环结束,未找到按键
计算机控制技术
电子秤技术
独立式按键
(2) 有可靠的逻辑处理办法。每 次只处理一个按键,其间对任何
按键的操作对系统不产生影响, 而在检测到按键释放后( P3.0为高),再对键值
且无论一次按键时间有多长,系
处理。
统仅执行一次按键功能程序。
计算机控制技术
电子秤技术
独立式按键
If(P3_0==0) { delay(10);//延时10ms去抖动 if(P3_0==0) { while(P3_0==0);//等待释放 //按键按下,执行功能程序 } }
机械式按键在按下或释放时,由于机械弹性作用的影 抖动对于人来说是感觉不 响,通常伴随有一定时间的触点机械抖动,然后其触点才稳 到的,但对单片机来说, 定下来。其抖动过程如下图所示,抖动时间的长短与开关的 这已是一段“漫长”的时 间了。 机械特性有关,一般为 510 ms。
按键触点的机械抖动
计算机控制技术 电子秤技术
合依次输出:
P1.4 P1.5
1 1 1 0 1 1 0 1
P1.6
P1.7
1 0 1 1
0 1 1 1
在每组列输出时读取P1.0~P1.3的状态, 若全为“1”,则表示为这一列没有键闭合, 否则有键闭合。由此得到闭合键的行值和 列值,然后可采用计算法得到键值。
计算机控制技术
电子秤技术
键盘扫描
有键闭合? Y 确定行号 延时去抖动
N
逐行扫描
找到闭合 键? Y 确定列号 计算键值
N
行列式按键逐 行扫描程序流 程图
N
闭合键释放 Y 返回键值 返回0XFF
计算机控制技术
电子秤技术
逐行扫描法识别按键函数
char keyscan( void) {unsigned char z,hang,lie,i,temp; P1=0x0f z=P1; z&=0x0f; switch(z) { case 0x0e:hang=0;break; ;
电子秤技术
按键的工作原理
键盘是由若干按键组成的开关矩阵。一个完善的键盘控制 程序应具备以下功能: (1) 检测有无按键按下,并采取硬件或软件措施,消除键
盘按键机械触点抖动的影响。
(2) 有可靠的逻辑处理办法。每次只处理一个按键,其间
对任何按键的操作对系统不产生影响,且无论一次按键时间有
多长,系统仅执行一次按键功能程序。 (3) 准确输出按键值(或键号),以满足跳转指令要求。
JINHUA POLYTECHNIC
按键接口设计
目录
1 2 3 4
学习目标及重点难点 按键的工作原理 独立式按键设计 矩阵式按键设计
计算机控制技术
电子秤技术
学习目标
1.了解按键的基本结构和按键识别原理
2.能绘制按键接口电路
3.能编写按键识别程序
4.能够通过查阅资料、讨论解决学习中遇到的问题
重点:按键电路设计,按键识别程序设计 难点:按键的识别程序设计
计算机控制技术 电子秤技术
独立式按键
独立式按键结构
单片机控制系统中,有些系统只需要几个功能键,此时, 可采用独立式按键结构。独立式按键是直接用I/O口线构成的 单个按键电路,其特点是每个按键单独占用一根 I/O口线,每 个按键的工作不会影响其它 I/O口线的状态。独立式按键的典 型应用如下图所示。
计算机控制技术 电子秤技术
独立式按键
单片机P1.0-P1.8口连接了8个按键,每个按键对应一个 键值,键值分别为1、2--8,用一位数码管显示按键的键值。 系统上电,当没有键按下时显示0,当有键按下时将该键的 键值显示出来。 按键数量较多时(8个)可以先查询8个键
中是否有键按下,如果有键按下再识别是哪个
计算机控制技术
电子秤技术
矩阵式键盘
识别矩阵式按键的方
法就象在二维平面上找 确定的点,要在二维平 面上找到确定的点,可 以先确定这点的横坐标,
然后确定它的纵坐标。
键值=行号×4+列号
图3
计算机控制技术
矩阵式键盘接口
电子秤技术
矩阵式按键识别过程
将(列线)输出低电平,
当按键没有按下时,行线和列
线断开,所有的行线)都是高 电平,代表无键按下。一旦有
计算机控制技术
电子秤技术
独立式按键
独立式按键电路 配置灵活,软件结构
简单,但每个按键必
须占用一根I/O口线, 因此,在按键较多时 ,I/O口线浪费较大, 不宜采用。
图2 独立式按键接口电路
计算机控制技术 电子秤技术
独立式按键
按键触点的机械抖动
独立式按键接口电路
计算机控制技术
电子秤技术
独立式按键
}
计算机控制技术 电子秤技术
独立式按键
单元练习:
利用独立式按键和液晶显示(或数码管显示)设计一个 按键显示系统。 当某个按键按下时,将该键的键值直接显示出来。如按 下第一个按键显示“1”,按下第二个按键显示“2”等。
计算机控制技术
电子秤技术
独立式按键
单元练习:
为前面学过的秒计时器增加3个功能键,分别为启动键、 停止键、复位键。启动键按下则开始从0计时,停止键按下 则停止计时,显示当前计时值,复位键按下则计时值归零。
相关文档
最新文档