单片机原理及应用第三讲模板.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * 键盘的应用 * ◆ 按键的结构特点 微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。 机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,抖动时间的长短与开关的机械特性有关,一般为5—10ms * ㈠硬件去抖动 可采用在键输出端加R—S触发器或单稳态触发器构成去抖动电路。图8-12是一种由R-S触发器构成的去抖动电路。 在触点抖功期间检测按键的通与断状态,可能导致判断出错,必须采取去抖动措施,可采用硬件去抖与软件去抖的方法。 ㈡软件去抖动 在检测到有按键按下时,执行一个10ms左右的延时程序后,再确认该按键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。 1、检测按键是否被按下 未按下:转1 按下:转2 2、延迟10ms 3、检测按键是否仍被按下 未按下:转1 按下:转4 4、确认按键被按下,处理按键按下事件(根据需要) 5、等待按键释放,处理按键释放事件(根据需要) 键盘的分类 键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘. 而靠软件编程来识别的称为非编码键盘; 在单片机组成的各种系统中,用的最多的是非编码键盘。也有用到编码键盘的。 非编码键盘有分为:独立键盘和行列式(又称为矩阵式)键盘。 ◆ 编制键盘程序 一个完善的键盘控制程序应具备以下功能: (1)检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。 (2)判断是哪一个键按下,并且每次只处理一个按键。 (3)准确输出按键值(或键号),以满足跳转指令要求。 * ◆独立式键盘与AT89单片机的接口 图8-14为独立式按键程序查询方式和中断方式的接口电路。 独立按键应用: (3个按键,6位数码管) 1、按下K1启动自动计数(每秒加1,要用到定时器),显示在数码管上,接P3^0 2、按下K2暂停计数,接P3^1 3、按下K3计数值清零停止计数,接P3^2 电路 源程序 矩阵式键盘 * * ◆键盘的工作方式 (1)编程扫描方式 利用CPU在完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。 (2)定时扫描工作方式 每隔一定的时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断,CPU响应定时器溢出中断请求,对键盘进行扫描 (3)中断扫描工作方式 当无键按下时,CPU处理自己的工作,不需要理睬键盘;当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。 * * ◆键盘的编码 对于矩阵式键盘,按键的位置由行号和列号唯一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。 矩阵式键盘 ◆矩阵式键盘按键的识别 扫描法: 1) 判断有无键按下。 2) 如果有键按下,识别是哪一个键按下,键盘扫描取得闭合键的行、列值。 3)用计算法或查表法得到键值。 4)判断闭合键是否释放,如没释放则继续等持 5)将闭合键键号保存,同时转去执行该闭合键的功能。 * * 扫描时,首先将行设置为低电平,在判断有键按下后,读入列状态。如果列状态出现并非全部为1状态,这时0状态的列与行相交的键就是被按下的键。 3种扫描方式 1、在主程序中扫描(P87例4.2.1) 2、定时扫描 3、中断扫描 * * 矩阵键盘定时扫描(只显示单个键) 电路 源程序 * * 中断扫描 电路 源程序 * * 矩阵键盘扫描(接连显示按下的一系列按键,每次左移一位) 为设计简易计算器做准备,最好用中断方式 1、只能输入6位 2、可输入多位,多出去的丢掉(要用到数组保存) 电路 源程序 实验五 1.单个数码管循环显示0~9。 2.单个数码管计数显示:按下K1后加1计数,按下K2后减1计数,按下K3后清零。 3.单个数码管显示4X4矩阵键盘按键号。 实验六 1.6个数码管从左到右依次滚动显示1~6,程序通过每次仅循环选通一只数码管 2.6个数码管动态显示一个指定的多位整数 3.6个数码管动态显示0~999999 实验七 1.引入两个按键:一个为计数键,接INT0,每次按下时触发INT0中断,中断程序累加计数(0-999),显示在3只数码管上;另一个为清零键,接在P1口任意一位上,每次按下时数码管清零。 2.单片机连接2组LED灯(每组8位,)初始时第一组只有第一个灯亮,

文档评论(0)

sandaolingcrh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档