单片机第十四讲.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文档。上传文档
查看更多
单片机第十四讲.ppt

第五章 51单片机的应用系统接口设计 应用系统的系统配置分成四个典型通道的配置。 人机对话通道配置:主要是为应用系统与用户之间提供信息交流条件,主要有键盘、显示器、打印机等的通道接口设计。 前向通道配置:是采集、输入通道。主要是传感器接口,功耗小。 模拟→数字是典型接口电路。 后向通道配置:是应用系统的伺服动控制、输出通道,大多需功率驱动。数字→模拟是典型接口电路。 相互通道配置:在应用系统与应用系统相互之间的单片机需要相互协调、控制时所必须配置的信息通道。对于多机系统及分布式测控系统,相互通道设计必不可少。 本章主要讲述:人机通道、前向通道、后向通道的设计。 主要内容 5.1 人机通道接口技术 5.2 前向通道接口技术(A/D) 5.3 后向通道接口技术(D/A) 5.1 人机通道接口技术 键盘及其接口 编码键盘:由硬件产生编码(计算机、掌上电脑等标准键盘) 非编码键盘:由软件产生编码(单片机系统中的小型、非标键盘) 单片机应用系统键盘输入处理过程图 独立式按键 以P1口为例 ,硬件: 独立式键盘程序: KEY: MOV A,#0FFH;置输入方式 MOV P1,A REP: MOV A,P1 CJNE A,#0FFH,KY0 LJMP REP KY0: CJNE A,#0FEH,KY1 LJMP K0 KY1: CJNE A,#0FDH,KY2 LJMP K1 KY2: … … … … KY7: CJNE A,#0FDH,END LJMP K7 K0: … … K1: … … … … K7: … … 特点:每个按键电路占用一个口线,硬件灵活,软件简单。但,按键多时,I/O口线浪费较大。(软件设定优先级) 矩阵式键盘(能用P1口) 判断有无键按下的方法 逐列(行)扫描——细过筛 各列(行)I/O线依次输出“0”,查看行(列) I/O线输入(电平状态读入累加器A )是否全“1”。按部就班,效率低。 所有列(行)同时“扫描”——拉大网 所有各列(行) I/O线同时输出“0”,查看行(列) I/O线输入(电平状态读入累加器A )是否全“1”。判断有无效率高。 判断按下键的两种方法 方法一:细过筛 各列(行)I/O线依次输出“0”,查看行(列) I/O线输入(电平状态读入累加器A )是否全“1”。 如果全为1,则所按下之键不在此列(行)。如果不全为1,则所按下的键必在此列(行) ,而且是该列(行)线与0电平行(列)线交点处的那个键。 不同列按下键判断时间不一,末列最长。 分析“拉大网”的效果 有“鱼”——有键按下; “鱼挂在第几条网线”——按下键的行线 试想:如果反转90°在拉一次大网,不是可以知道按下键的列线吗? 前提是条死鱼或短时休克。 引出第二种方法——反转法 方法二:反转法 第一步:将D7~D4编程为行输入线,D3~D0为列输出线,并使输出数据为X0H。若有键按下,则向CPU发出中断申请,将D7~D4放在某一内存N中,其0位对应的是被按下键的行位置。 第二步:将第一步中的传送方向反转过来,即将D7~D4编程为输出线,输出0XH。将D3~D0为输入线,可查的按下键的列位置,放于N+1中。 将N,N+1中的数据组合起来可得键值。 例:第1部:7X 第2步:XD  键值:7D 键值的表示方式: 1 二进制行列状态合并表示键值 负逻辑(按下为0): 77,7B,7D,7E;B7,BB,BD,BE; D7,DB,DD,DE;E7,EB,ED,EE。 正逻辑(按下为1):负逻辑取反 88,84,82,81;48,44,42,41; 28,24,22,21;18,14,12,11。 上述键值分散度大且不等距,不便用散转指令等。 2 依次排列键值 如顺序赋给按键0,1,2,…,31等32个键值。 键盘工作方式 查询式:如前独立式键盘的例子。占CPU时间使其无法从事其它工作。 定时扫描工作方式:用定时器定时产生中断如10ms,中断中对键盘进行扫描。 中断方式:用硬件电路实现有键按下就产生中断。 初始化:P1.7~P1.4置0,P1.3~P1.0置1。 有键按下则中断有效,通过读低4位,可知按键所在的列。之后,P1.7~P1.4分别置0(即行置0),P1.3~P1.0置1,读按下键列对应的口,可知按键所在的行。 键输入接口与软件应注意的问题 1)按键抖动问题 键按下、释放时,抖动5~10ms。 硬件去抖动: R-S触发器,单稳触发器等 软件去抖: 检测到有键按下后,执行一个10ms的延时程序,之后再确定该键电平是否保持闭合状态电平,如果保持闭合状态电平则确认为真正的键按下,从而消除了抖动影响。 2)键闭合一次

文档评论(0)

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

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

1亿VIP精品文档

相关文档