单片机键盘显示器接口_第1页
单片机键盘显示器接口_第2页
单片机键盘显示器接口_第3页
单片机键盘显示器接口_第4页
单片机键盘显示器接口_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

PC机除了主机以外还需要哪些部分呢?单片机电路有时候也需要键盘、显示等外设。键盘、显示器接口编码式的:由其内部硬件逻辑电路自动产生被按键的编码。使用方便,键盘码产生速度快,占用CPU时间少,但对按键的检测与消除抖动干扰是靠硬件电路来完成的,硬件电路复杂、成本高。非编码式的:主要由软件产生被按键的编码。硬件电路简单,成本低,但占用CPU的时间较长。(单片机系统中普遍使用非编码式键盘。)6.3键盘接口键盘分类介绍此独立式按键矩阵式按键矩阵式按键非编码键盘独立式按键

硬件方案——双稳态去抖电路一、键盘接口需要解决的问题是否有键按下按键识别:键抖动及消除:机械按键抖动时间在5ms~10ms之间

软件方案——延时10ms~20ms后再次判断消除方法:求键号闭合断开前沿抖动后沿抖动键按下闭合稳定键释放QQP抖动抖动键被按下按键输出波形P键被按下去抖动后的按键输出波形+5VR按键开关P键按下,S、R=01,触发器置1,P=0。按键前后,SR=10,触发器置0,P=1。P+5VPRR去抖动电路SR触点抖动跳开时,S、R=11,触发器保持,P仍=0。*在此期间,CPU对一次键入做多次键处理主要知识点:查询法定时扫描法中断法二、非编码独立式按键结合ME830实验,重点讲此法接口电路:特点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。实际上,51单片机的P1-P3口都有内部上拉电阻,这些电阻、电源可以不接。见ME830实验板。查询法ME830独立式摁键查询法原理----当任何一个键被按下时,与其相连的输入线被置成“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键盘扫描P0F:LJMPPROM0;入口地址表P1F:LJMPPROM1P6F:LJMPPROM6P7F:LJMPPROM7……PROM0:…..;0号键功能程序PROM7:…..;7号键功能程序…..LJMPSTART;0号键处理完返回键盘扫描LJMPSTART;7号键处理完返回键盘扫描…...... ORG0000HKB: MOVP1,#0FFH MOVA,P1;第一次读键

CPLA ANLA,#0FH JZKBACK LCALLD10MS MOVA,P1;再次读键

CPLA ANLA,#0FH JZKBACK CJNEA,#01H,KB01 LCALLPGM1 SJMPKBACKKB01: CJNEA,#02H,KB02 LCALLPGM2 SJMPKBACKKB02: CJNEA,#04H,KB LCALLPGM3KBACK:LJMPKB END例子:按三个按键中的任一键均对应相应的一个特定功能。对应的数字叫键号类似ME830中的例程三三、非编码矩阵式按键结构关键问题:摁键的识别“行扫描法”与“线反转法”课本P195

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

先行全0,读列值,全1无摁键,非全1有键摁下;

有键摁下时:

逐行输出0,查列值:有0则该行该列交叉处即为摁键位置.

②线反转法:该方法的基本思想是通过行列颠倒两次扫描来识别闭合键。先行输出0,读列,全1则无摁键,有0有摁键--得列值再输出此列值,读行得行值—此列值+行值=闭合键的特征值识别键摁下的两种方法详见下页图行列互换,原理一样行列互换,原理一样行扫描法图(c)扫描第0行(d)扫描第1行(e)扫描第2行(f)扫描第3行确定为0行2列有键摁下课本P195(a)无键摁下(b)有键摁下粗略判断有无键摁下:有,再详细判断;无,则CPU仍做自己的工作有键摁下,详细判断是哪行哪列?键按下/释放判断KS:MOVA,#00H MOVP1,A ;全扫描字#00H送P1口

MOVP1,#0FH;保留第4位(行)MOVA,P1;读入P1口状态

ANLA,#0FH;取低4位

RET ;返回,A=0表示有键按下3210476511109815141312+5VP1.4P1.3P1.0P1.7P1.6P1.5P1.2P1.1MCS-51作为输入口作为输出口

定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。定时扫描方式

为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。中断扫描方式ME830矩阵式摁键P1口:低4位作为列线高4位作为行线0123456789AbCdEF实验八源程序线反转法P68P1口:低4位作为列线高4位作为行线(特征值)01234CDFE0123456789AbCDEF-B中应是特征值查表次数=键值从键值得到段码1.矩阵键盘定义(接口引脚定义)2.建表:内存中建好键编码表(特征值表)和段码表3.通过线选法得到相应的特征值4.通过查找该特征值的查表次数得到相应键值5.通过该键值得到相应段码6.送该段码显示键值线反转法总结重点!特点:键的特征值唯一自动解决了重键问题1.LED显示器结构与原理图7段LED数码显示器6.4显示器接口ME830为共阳极表十六进制数及空白与P的显示段码LED的结构和显示原理静态显示方式动态显示方式动态显示的实现动态显示方式显示器接口技术包括重点学习静态显示方式连接

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

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

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

动态显示基本原理

电路的接法决定了必须采用逐位扫描显示方式。即从段选口送出某位LED的字型码,然后选通该位LED,并保持一段延时时间。然后选通下一位,直到所有位扫描完。

要注意的两个问题:1.字型码通常通过查表指令MOVC来求得.2.换位显示时通常要加一段程序使所有的LED全灭.动态显示程序流程图

采用动态扫描方式依次循环点亮各位数码管,构成多位动态数码管显示电路。开始显示缓冲区首地址送R0显示位数送R2起始显示

温馨提示

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

评论

0/150

提交评论