- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]单片机3第三章寻址方式
* * * * * * * * * * * * * 若循环变量为00H,则循环次数为256次 例1: (40H)=01H,(50H)=70H (60H)=15H,以下程序片段的执行结果 DJNZ 40H,LABEL1; DJNZ 50H,LABEL2; DJNZ 60H,LABEL3; 结束循环向下执行 转向LABEL2执行,继续循环 需等上条指令执行完,才执行本指令 各单元内容变为: (40H)=00H,(50H)=6FH,(60H)=15H 例2: MOV R2,#8 ; CPL P1·7 ; DJNZ R2,TOGGLF; TOGGLF: 循环次数送R2 P1·7取反,1个机周 R2控制循环,2个机器周期 执行结果: 三、子程序调用及返回指令 1、长调用指令 LCALL addr16 ; (PC)=(PC)+3 (SP)=(SP)+1 ((SP))=(PC 0~7) (SP)=(SP)+1 ((SP))=(PC 8~15) (PC)=addr 0~15 64KB范围内子程序调用 例:设(SP)=53H,子程序首址在3000H单元,并以标号STR表示。即 2000H: LCALL STR 执行时: (PC)=(PC)+3=2003H (SP)+1, (54H)= 03H (SP)+1,(55H)= 20H 执行结果: (SP)= (54H)= (55H)= (PC)= 55H 03H 20H 3000H STR (PC) 2、绝对调用指令 ACALL addr11 ; (PC)=(PC)+2 (SP)=(SP)+1 ((SP))=(PC 0~7) (SP)=(SP)+1 ((SP))=(PC 8~15) (PC 0~10) addr11 (PC 11~15)不变 提供2KB范围内的子程序调用,调用范围同AJMP指令 3、返回指令 RET ; (PC 8~15) ((SP)) (SP) (SP)-1 (PC 0~7) ((SP)) (SP) (SP)-1 例:设(SP)=6BH,内部RAM(6AH)=23H (6BH)=01H,执行 RET (PC 8~15) (6BH) (PC 0~7) (6AH) 执行结果: (PC)=0123H (SP)=69H 4、中断返回指令 RETI ; 功能: A)恢复断点,同RET B)恢复中断逻辑,使CPU能接收同级或低级中断请求 5、空操作指令 NOP ; (PC) (PC)+1 功能:无任何操作,继续执行下一条指令,不影响任何标志,产生一个机器周期的延时 例: 利用NOP指令产生方波 CLR P2.7 ; NOP NOP NOP SETB P2.7 ; P2.7清0输出 置位P2.7高电平输出 程 序 举 例 * 在3000H为首地址的存储区域中,存放着14个由ASCII码表示的0~9之间的数。试编写程序,将它们转换成BCD码,并以压缩BCD码的形式,存放在2000H~2006H单元。 分析: 1、外部RAM数据块操作,14个数 DPTR做源间址寄存器,R0为目标间址寄存器 R3做计数器 2、ASCII码转换为压缩BCD码 ASCII 分离BCD码 压缩BCD码 屏蔽高4位 移位、异或 程序 * MOV DPTR, #3000H MOV R0, #00H MOV R3, #07H MOVX A, @DPTR ANL A, #0FH MOV R4, A INC DPTR MOVX A, @DPTR ANL A, #0FH SWAP A XRL A, R4 MOV P2, #20H MOVX @R0, A INC DPTR INC R0 DJNZ R3, LOOP LOOP: ;源数据块首地址 ;目标数据块首地址 ;计数器 ;取低位字节ASCII码 ;屏蔽高4位,转换为BCD码 ;暂存 ;修改地址指针,指向高位字节 ;取高位字节ASCII码 ;转换为BCD码 ;移位到高4位 ;异或,转换为压缩BCD码 ;高8位目标地址 ;存放压缩BCD码到外部RAM ;修改源地址指针 ;修改目标地址 ;循环 3.3.5 位操作指令 位处理器: CPU 程序存储器 数据存储器 累加器(C) I/O口 数据RAM可位寻址空间128位 SFR的可寻址位82位 位地址表示:bit 在汇编语言中有5种表示方法: (以用户标志F0为例) 1、位地
您可能关注的文档
最近下载
- 特种设备-维护保养记录(叉车-电动托盘堆垛车).docx
- 《多边形的内角和》 示范教学PPT课件【初中数学人教版八年级上册】.pptx
- 紧密型县域医疗卫生共同体消毒供应中心运营指南(2020年版 医联体建设).docx
- 泵站运行考试(高级)习题库(第1部分).pdf
- 挡土墙计算理正岩土(“挡土墙”文档)共21张.pptx
- XXXX生态风景区智慧景区项目施工组织方案及对策.pdf
- 人工智能专题研究报告:智算中心.pptx VIP
- 陈培勋平湖秋月五线谱钢琴谱.pdf
- 可爱的中国教案第10课可爱的中国第十课同心共筑中国梦.docx
- 2024《S市乡镇幼儿教师职业幸福感问卷调研分析报告》9700字.docx VIP
文档评论(0)