- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习目标 掌握用定时中断进行按键处理的方法。 掌握消除同一键按下,被多次解释的方法。 掌握多字节BCD码加减法程序编写方法。 掌握压缩BCD码与非压缩BCD码相互转换的方法。 P3口接8个独立式按键,8个按键的编号分别为1~8,S1定义为加键,S2定义为减减,P1、P2口控制6个数码管。 上电时6个数码管显示数据全为0,按加键(S1)显示数据加1,按减键(S2)显示数字数据减1。 T0:10ms键盘扫描。 T1:3ms显示扫描(高优先级) 。 搭建电路 程序改进 编写程序 程序代码 功能要求 相关知识 应用总结 开始 读按键输入 有键按下? 与缓存中所保存的10ms 前的按键输入相比较 相同? 键按下已处理? 获取按键的键码 键码的解释处理 置键按下已处理标志 按键输入存入按键输入缓存中 返回 置键按下未处理标志 (允许对键按下作处理) N Y N Y Y N 定时中断实现键盘处理的一般方法: 搭建电路 程序改进 编写程序 程序代码 功能要求 应用总结 相关知识 加减处理的实现方法 直接对显示数进行修改。数码管显示的是数值时,需要对显示数据进行加/减处理时。 先将这6位非压 缩的BCD码转 换成运算数 再对运算数进行 加减1调整 然后将调整后的运算 数转换成6位非压缩 的BCD码送显存显示。 这样我们清楚压缩和非压缩的 加、减、传换的运算 搭建电路 程序改进 编写程序 程序代码 功能要求 应用总结 相关知识 多字节BCD码数加法程序的编写 BCDA:MOV A,R4 ADD A,R7 DA A MOV R4,A 设三字节的BCD码被加数在R2、R3、R4中,三字节的BCD码加数在R5、R6、R7中,其中R2、R5中为最高字节BCD码,BCD码的和存放在R2、R3、R4中。 MOV A,R3 ADD A,R6 DA A MOV R3,A MOV A,R2 ADD A,R5 DA A MOV R2,A 先对低字节的BCD码数按 十六进制作不带进位的加 法,并用DA指令将和调整 为BCD码。 然后对高字节的BCD码数 按十六进制作带进位的加 法,并用DA指令将和调整 为BCD码。 搭建电路 程序改进 编写程序 程序代码 功能要求 应用总结 相关知识 多字节BCD码减法程序的编写 由于DA指令不能用在减法指令SUBB之后,只能用在加法指令ADD/ADDC之后,因此,必须设法将减法变成加法运算。设三字节的BCD码被减数在R2、R3、R4中,减数在R5、R6、R7中。其差存放在R2、R3、R4中。 BCDS:MOV A,#9AH CLR C SUBB A,R7 MOV R7,A MOV A,#99H SUBB A,R6 MOV R6,A MOV A,#99H SUBB A,R5 MOV R5,A ACALL BCDA 对减数进行求补数,用 99999AH减去R5、R6、 R7中的数,此段用9AH减R7 中的数,结果存在R7中。 用99H减R6中的数, 结果存在R6中。 用99H减R5中的数, 结果存在R5中。 调用加法子程序 搭建电路 程序改进 编写程序 程序代码 功能要求 应用总结 相关知识 压缩BCD数与非压缩BCD码数的互换 实际应用中,可以用算术运算指令或逻辑运算指令来实现BCD码与非压缩BCD码之间的转换。 如果用R2存放压缩的BCD码,转换为非压缩的方法是: MOV A,R2 MOV A,#10H DIV AB 除以BCD码数10 A中存放十位数,B中存放 个位数 取BCD码数存在到A中 搭建电路 程序改进 编写程序 程序代码 功能要求 应用总结 相关知识 将R2、R3中非压缩的BCD码数转换成BCD码
原创力文档


文档评论(0)