第五章 MCS-51系列单片机的接口与应用.pptVIP

第五章 MCS-51系列单片机的接口与应用.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 MCS-51系列单片机的接口与应用

第五章 MCS-51系列单片机的接口与应用 MCS-51单片机内部集成了并行接口、串行接口、定时计数器等接口电路。单片机通过接口与其它电路设备相联系,当这些接口电路的数量或功能不能满足系统要求时,需要进行I/O接口电路扩展。单片机常用扩展接口有可编程接口、显示/键盘接口、数/模转换接口,串行接口等多种。;第一节 扳键开关、拨盘开关、按钮、键盘 与单片机的接口 一、扳键开关与单片机的接口 应用扳键开关或钮子开关类器件可将高电平或低电平经单片机的I/O引脚置入单片机,以实现操作分档、参数设定等人机联系的功能。 如图5-1是扳键类开关应用的示例,根据S1-S8开关中那一个引入高电平而转去执行相应的工作程序。各开关通过扩展输入口74LS244与8031的P0口连接,开关合上时向P0口相应引脚送低电平,反之开关打开时送高电平。 ;8031;读扳键开关状态程序段: CLR P1.0 ;准备选通和读入S1-S8状态信息 MOVX A,@R0 ;自P0口读入S1-S8状态信息 RRC A ;把P0.0移入高位 JNC KS1 ;P0.0为低电平,转KS1 LJMP KF1 ;P0.0为高电平,转KF1执行相应程序 KS1: RRC A ;P0.1为低电平,转KS2 JNC KS2 ;P0.1为高电平,转KF2执行相应程序 LJMP KF2 ┇ ;二、拨盘开关与单片机的接口 常见的拨盘开关是BCD拨盘开关,拨动正面的拨盘,可置一十进制数(在正面显示该数)并转换成BCD码(呈现在背面8、4、2、1引脚上)而输入计算机。在BCD码拨盘开关中,引脚A一般接高电平,8、4、2、1四个引脚原来为低电平,当置某个十进制数时,拨盘的转动将使引脚8、4、2、1某些引脚为高电平,其余仍为低电平。从而转换成与该十进制数相当的BCD码。 ;;READ: CLR P1.0 ;准备选通和读入2位BCD码 MOVX A,@R0 ;自P0口读入2位BCD码 ANL A,#OFH ;取个位数 MOV 20H,A ;存入片内20H单元 MOVX A,@R0 ;重读2位BCD码 ANL A,#0F0H ;取十位数 SWAP A ;调整到低半字节 MOV 21H,A ;存入片内21H单元 RET ;三、按钮与单片机的接口 按钮按下的短时间内送出一个高或低电平,待手松恢复原来的电平,但由于人手的抖动,所以应用按钮时常需考虑消抖措施,可采用RS触发器。 ;四、键盘与单片机的接口 1)键盘工作原理 键盘是由若干按键组成的开关矩阵 ,称为矩阵式键盘或行列式键盘。用来输入数据或命令 。 键盘接口应有以下功能: ● 键扫描功能,即检测是否有键闭合; ● 键识别功能,确定被闭合键所在行列位置; ● 消除按键抖动功能。 ● 产生相应的键的代码(键值)功能; 按键识别采用“逐行扫描”法。 ;;先判断有无键按下 行线输出0000,然后输入输入列线状态, 若没有键按下,则列线状态为全1( 1111 ); 若有任一键按下,则列线状态不为全(1111); 再确认哪个键被按下 行线逐行输出0(如1110),然后输入列线状态, 若没有键按下,则列线状态为全1( 1111 ); 若有任一键按下,则列线状态不为全为1(如0111,说明右 上角那个键被按下) 确定每个键的键值 负逻辑表示----行列线数据直接组合,上例中的各键值分别为: 77H、7BH、 7DH 、7EH、 B7H、BBH 、BDH、BEH D7H、DBH、 DDH、DEH E7H、EBH、 EDH、EEH;前沿抖动;; 先用键扫描功能,即检测是否有键闭合;然后键识别功能,确定被闭合键所在行列位置;确定好行列位置后要消除抖动,最后是产生相应的键的代码(键值)功能。如图,行线按P1口低4位,列线经74LS244扩展输入口读入P0口低4位。 ;键盘扫描程序: KEY:MOV DPTR,#7FFFH MOV P1,#0F0H MOVX A,@DPTR ORL A,#0F0H CPL A JNZ IN RET I

文档评论(0)

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

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

1亿VIP精品文档

相关文档