键盘 显示器接口(33)课件_第1页
键盘 显示器接口(33)课件_第2页
键盘 显示器接口(33)课件_第3页
键盘 显示器接口(33)课件_第4页
键盘 显示器接口(33)课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

PC机除了主机以外还需要哪些部分呢?单片机电路有时候也需要键盘、显示等外设。键盘、显示器接口编码式的:由其内部硬件逻辑电路自动产生被按键的编码。使用方便,键盘码产生速度快,占用CPU时间少,但对按键的检测与消除抖动干扰是靠硬件电路来完成的,硬件电路复杂、成本高。非编码式的:主要由软件产生被按键的编码。硬件电路简单,成本低,但占用CPU的时间较长。(单片机系统中普遍使用非编码式键盘。)6.3键盘接口键盘分类介绍此独立式按键矩阵式按键矩阵式按键我们实验用的非编码键盘独立式按键P键被按下去抖动后的按键输出波形+5VR按键开关P键按下,S、R=01,触发器置1,P=0。按键前后,SR=10,触发器置0,P=1。P+5VPRR去抖动电路SR触点抖动跳开时,S、R=11,触发器保持,P仍=0。*在此期间,CPU对一次键入做多次键处理双稳态去抖电路这里的抖动指触点跳开前沿抖动后沿抖动键按下闭合稳定键释放去抖电路2键盘的工作方式有3种:查询法(程序控制扫描)定时扫描法中断扫描法二、非编码独立式按键结合ME830实验,重点讲此法定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。2.定时扫描方式为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。3.中断扫描方式ME830独立式摁键P1.4-1.7P3.2-3.5查询法原理----当任何一个键被按下时,与其相连的输入线被置成“0”,平时该线为“1”。键处理程序ORG2000HSTART:MOVA,#0FFH;先置P1口为“1”MOVP1,AMOVA,P1;输入键状态JNBACC.0,P0F;查询0号键JNBACC.1,P1F;查询1号键JNBACC.2,P2F;查询2号键JNBACC.3,P3F;查询3号键JNBACC.4,P4F;查询4号键JNBACC.5,P5F;查询5号键JNBACC.6,P6F;查询6号键JNBACC.7,P7F;查询7号键LJMPSTART键盘扫描07 ORG0000HKB: MOVP1,#0FFH MOVA,P1;第一次读键 CPLA ANLA,#0FH JZKBACK;A=0(无键摁下)转 LCALLD10MS;防止抖动 MOVA,P1;再次读键 CPLA ANLA,#0FH JZKBACK;无键按下转

;******************有键按下 CJNEA,#01H,KB01;不等转

LCALLPGM1 SJMPKBACKKB01: CJNEA,#02H,KB02

LCALLPGM2 SJMPKBACKKB02: CJNEA,#04H,KB

LCALLPGM3KBACK:LJMPKB;循环检测键 END例子:按三个按键中的任一键均对应相应的一个特定功能PGMi。对应的数字叫键号1、2、4类似ME830中的例程三123三、非编码矩阵式按键结构关键问题:摁键的识别“行扫描法”与“线反转法”课本P195

①行扫描法:基本思想:由程序对键盘进行逐行扫描,通过检测到的列的输出状态来确定闭合键。

先行全0,读列值,全1无摁键,非全1有键摁下;有键摁下时:逐行输出0,查列值:有0则该行该列交叉处即为摁键位置.

②线反转法(行反转法):行反转法需要两个双向I/O口分别接行、列线。该方法比扫描法速度快,但硬件上要复杂一些。基本思想:通过行列互换两次扫描来识别闭合键。识别键摁下的两种方法②线反转法

AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5vP202图6-280行1行2行3行0列1列2列3列原理:@由行线输出全“0”,读入

列线,判有无键按下。@若有键按下,再将读入的列

线值由列线输出,读进行线的值。@第一步读进的列线值与第二步读进的行线值相加,从而得到代表此键的唯一的特征值。@线反转法因输入与输出线

反过来用而得名。@优点是判键速度快,两次即可。线反转法图例AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5v

MOVP1,#0F0H;低位送全“0”MOVA,P1;读进P1口电平ANLA,#0F0H;保留高4位CJNEA,#0F0H,MK3;若有键按下则P1.4—P1.7必有“0”位,跳转到MK3去处理;

若无键按下则退出键扫描。0行1行2行3行0列1列2列3列设:第3行/第1列结点有键按下首先:“11110000”

→P1然后读P1:P1←

“1101xxxx”

只留高4位:A

=“1101

0000”因为有键按下,A

≠11110000P202图6-28AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5v

MOVP1,#0F0H;低位送全“0”MOVA,P1;读进P1口电平ANLA,#0F0H;保留高4位CJNEA,#0F0H,MK30行1行2行3行0列1列2列3列此时:R2←“11010000”然后:A←“1101

1111”返送P1口:“11011111”→P1再读P1口:P1←“xxxx0111”只留低4位:A←“00000111”特征值:A+R2=“11010111”

MK3:

MOVR2,A;暂存回R2ORLA,#0FH;高4位保留;低4位充“1”MOVP1,A;新值返送P1口MOVA,P1;再读进P1口电平ANLA,#0FH;只留低4位

ADDA,R2

;得到键特征值P202图6-28线反转法图例实验八源程序线反转法P68P1口:低4位作为列线高4位作为行线(特征值)01234CDFE0123456789AbCDEF-B中应是特征值查特征值表的次数=

键值从键值得到段码1.矩阵键盘定义(接口引脚定义)2.建表:内存中建好键编码表(特征值表)和段码表3.通过线反转法得到相应的特征值4.通过查找该特征值的查表次数得到相应键值5.通过该键值得到相应段码6.送该段码显示键值实验总结重点!特点:键的特征值唯一自动解决了重键问题1.LED显示器结构与原理图7段LED数码显示器6.4显示器接口ME830为共阳极LED的结构和显示原理静态显示方式动态显示方式动态显示的实现动态显示方式显示器接口技术包括重点学习静态显示方式连接

所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。

特点原理简单;显示亮度强,无闪烁;占用I/O资源较多。分别用1个IO口动态显示方式连接

所有LED的段选线共同连接在一起共用一个8位I/O口,而每个LED的位选分别由一根相应的I/O口线控制。因此必须采用动态扫描显示方式,每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字型码。

共用1个IO口程序流程图40H041H142H243H344H445H546H647H7显示缓冲区DISSTART0123456789AbCDEF空显示子程序点亮一个数码管P0口显示硬+软0123456789AbCDEF空显示缓冲区显示区首址一一对应关系直接给段接口查表得到欲想显示的字符”号码”一一对应放次存储区123

温馨提示

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

评论

0/150

提交评论