单元3MCS-51单片机指令系统.docVIP

  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文档。上传文档
查看更多
单元三?? MCS-51单片机指令系统???? 3. 1 P1口外接8只LED发光二极管模拟彩灯 1 3.2?单片机做加、减、乘、除运算 11 3.3 单片机作逻辑运算 17 3.4? 按键控制灯 21 3.5?LED显示电路 26 3.1 P1口外接8只LED发光二极管模拟彩灯 图3.2? 最简单的流水式彩灯程序流程图 ORG? 0000H????? LOOP: MOV?? P1,#55H????? ;将立即数55H送P1端口 LCALL? TIME?????  ?????? ;调延时子程序TIME MOV? P1,#0AAH? ?????????? ?;将立即数AAH送P1端口 LCALL? TIME???? ????????? ?;调延时子程序TIME SJMP? LOOP?????? ??????? ;转移到LOOP TIME: MOV? R6,#200???? ? ;延时子程序TIME TIME1:MOV R7,#200 TIME2:NOP NOP NOP DJNZ? R7,TIME2 DJNZ? R6,TIME1 RET END 4.?开幕式与闭幕式彩灯程序 ??????????? ORG 0000H ??????????? LJMP??? MAIN??????????? ;跳转到主程序 ??? ??????? ORG 0030H MAIN:?? MOV??? R0,#8?????????? ??? ;R0送循环次数8 ??????????? MOV DPTR,#TAB??? ?? ??? ;给数据指针赋值 LOOP:?? MOV??? A,#00H?????????? ; ??????????? MOVC??? A,@ A + DPTR ??????????? MOV P1,A ??????????? LCALL?? TIME ??????????? INC DPL ??????????? DJNZ??? R0,LOOP ??????????? SJMP??? MAIN TIME:?? ?? MOV? ?? R6,#200 TIME1: ??? MOV ??? R7,#200 TIME2: NOP ??????????? NOP ??????????? NOP ??????????? DJNZ? ? R7,TIME2 ??????????? DJNZ? ? R6,TIME1 ??????????? RET TAB:? DB 81H,0C3H,0E7H,0FFH,18H,3CH,7EH,0FFH? ??????????? END 3.1.3?源程序的编辑、编译、下载 打开“伟福”模拟仿真软件进行程序的编辑、编译。 打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51单片机芯片,观察程序运行结果。 3.1.4?相关知识 1.单片机内部数据是怎样传送到端口使二极管发亮的? 单片机内部的端口寄存器与片外引脚是直接相连的,数据通过单片机内部数据总线传送到端口寄存器(用数据传送指令完成数据的传送),结合发光二极管硬件电路,二极管便发亮了。 2.?什么是数据传送操作与数据传送指令?MCS-51单片机有哪些数据传递指令? 在刚才的任务中,我们提到了数据传送指令以及数据传送操作,那么到底什么是单片机的数据传送操作?什么样的指令又叫数据传送指令呢? 在计算机中将数据信息从源存储地址传送到目标存储地址的操作叫数据传送操作,完成数据传送的指令叫数据传送指令。 MCS-51单片机的数据传送指令共有29条,数据传送指令的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。 (1)以累加器A为目的操作数类指令(4条) 这4条指令的作用是把源操作数指向的内容送到累加器A。有直接、立即数、寄存器和寄存器间接寻址方式: MOV ?A,data ????;(data)→(A) 直接单元地址中的内容送到累加器A ????MOV ?A,#data ???;#data→(A) 立即数送到累加器A中 ????MOV ?A,Rn??????;(Rn)→(A) Rn中的内容送到累加器A中 ????MOV ?A,@Ri ????;((Ri))→(A) Ri内容指向的地址单元中的内容送到累加器A。 例如:任务中“累加器A控制P1口的程序”里有一条MOV? A,#0AAH指令就属于此类。 (2)以寄存器Rn为目的操作数的指令(3条) 这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。有直接、立即和寄存器寻址方式: ?

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档