单片机技术及应用 项目4 单片机数码管显示器(任务3)学习课件.ppt

单片机技术及应用 项目4 单片机数码管显示器(任务3)学习课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目四单片机数码管显示器**任务3手动计数器任务目标●巩固和加深理解已学过的指令和编程方法;●领会任务中新出现的指令;●领会按键检测及键处理程序编程方法。任务3手动计数器任务描述某娱乐公司为了节目需要,要求定制一款手动计数器。具体要求如下:(1)用单片机AT89S51控制;(2)每按一次按键计数器加1;(3)计到10时自动清零。任务3手动计数器任务知识一、本任务新出现的指令1.累加器按位取反指令CPLA;A←该指令将累加器A中的内容按位取反,再放回A中。如已知A=38H,执行CPLA后,结果A=0C7H。2.逻辑与运算指令ANLA,#data;该指令将累加器A中内容和立即数按位相与,结果放回A中。例:已知A=61H,执行指令ANLA,#45H:结果A=41H。任务3手动计数器3.加1指令INCdirect;direct←(direct)+1该条指令是把直接地址direct中的内容加1,结果放回直接地址direct中。如:已知(20H)=02H,执行指令INC20H,结果(20H)=03H。任务知识任务3手动计数器4.累加器判零转移指令(1)JZrel;若A=0,则跳转,PC←PC+2+rel若A≠0,则顺序执行,PC←PC+2(2)JNZrel;若A≠0,则跳转,PC←PC+2+rel若A=0,则顺序执行,PC←PC+2指令中J代表JUMP(跳转),Z代表ZERO(零),N代表NOT,可以理解为:JZ表示A为0时发生跳转;JNZ表示A不为0时发生跳转。两条指令转移的条件刚好相反。与过去介绍的指令一样,指令中相对偏移量rel的取值范围为-128~+127,转移范围为256单元。在实际编写程序时rel通常采用表示跳转目的行号的符号地址,如“JZDISP0”、“JNZKEY21”等。任务知识任务3手动计数器5.位控制转移指令JCrel;若Cy=1,则跳转,PC←PC+2+rel若Cy=0,则顺序执行,PC←PC+2JBbit,rel;若(bit)=1,则跳转,PC←PC+3+rel若(bit)=0,则顺序执行,PC←PC+3JC以状态寄存器PSW中的Cy作为判断条件。JB以位地址bit位的内容作为判断条件,指令中位地址bit既可以是数字位地址,如20H位,也可以是符号位地址,如Acc.0。两条指令中的相对偏移量rel与前述相同。任务知识任务3手动计数器6.比较条件转移指令CJNEA,#data,rel;若A≠data,则跳转,PC←PC+3+rel,且Cy=0,A>dataCy=1,A<data若A=data,则顺序执行,PC←PC+3指令中J代表JUMP(跳转),N代表NOT,E代表EQUAL(相等)。该指令对A与立即数data两个数进行比较(注意不是相减,比较之后数值各自没有变化),将比较结果作为跳转条件,如两数不等则跳转,如相等则顺序执行。该指令还可根据比较后Cy的值,判定A与data的大小。如当A≠data时,如Cy=0,则A>data;如Cy=1,则A<data。指令中相对偏移量rel与前述相同。任务知识任务3手动计数器例:试比较A中内容与数据data的大小,如相等,(20H)=01H,如A>data,(20H)=02H,如A<data,(20H)=03H。编程如下:CJNEA,#data,NEXT1;A≠data,转NEXT1MOV20H,#01H;A=data,(20H)=0

您可能关注的文档

文档评论(0)

ouyangxiaoxin + 关注
实名认证
内容提供者

一线鞋类设计师,喜欢整理收集文档。

1亿VIP精品文档

相关文档