第3章 指令系统与编程技术(第5次课).ppt

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

* 单片机系统设计及工程应用 西安电子科技大学 雷思孝 * 第3章 指令系统与编程技术 * 3.5 程序设计技术 本节通过介绍汇编语言一些典型的程序设计实例,使各位进一步理解和掌握51系列单片机的指令系统,并熟练掌握程序设计的方法和技巧。 * 程序结构 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0ZD ORG 000BH LJMP T0ZD ORG 0013H LJMP INT1ZD ORG 001BH LJMP T1ZD ORG 0023H LJMP CXKZD ORG 0100H MAIN: MOV SP,#60H … ORG 0800H INT0ZD: …… RETI ORG XXXXH T0ZD: …… RETI ORG XXXXH INT1ZD: …… RETI ORG XXXXH T1ZD: …… RETI ORG XXXXH CXKZD: …… RETI END * 程序结构举例 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0ZD ORG 0100H MAIN: MOV SP,#60H MOV DPTR,#0200H MOV R0,#30H MOV R7,#10H LOOP: MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR DJNZ R7,LOOP SJMP $ ORG 0800H INT0ZD: CPL P1.1 RETI END * 例: 编写中断服务程序,进入中断服务程序时, 需要把程序状态寄存器PSW、 累加器A、 数据指针DPTR进栈保护,中断返回之前恢复。 中断服务程序结构 * 解:中断服务程序如下: PUSH PSW PUSH ACC PUSH DPL PUSH DPH … ;中断处理程序 POP DPH POP DPL POP ACC POP PSW RETI ;中断返回 * 例:在片外RAM中,从首地址为DATA1的存储区中一个数据块,该数据块中不包含0元素。试将该数据块传送到片内RAM首地址为DATA2的存储区中,若遇到0结束传送。 编程提示 外部RAM向内部RAM的数据转送一定要经过累加器A,利用判零条件转移可以判断是否要继续传送数据。 * 解:参考程序: MOV DPTR,#DATA1 ;DPTR作为外部数据块的地址指针 MOV R1,#DATA2 ;R1作为内部数据块的地址指针 LOOP:MOVX A,@ DPTR ;取外部RAM数据送入DPTR JZ EXIT ;数据为零则结束传送 MOV @R1,A ;数据传送至内部RAM 单元 INC DPTR ;修改指针,指向下一个地址 INC R1 SJMP LOOP ;循环 EXIT: … * 例:在图3.13中,P1口控制了8 个发光二极管L7~L0。试编程序,使L7~L0按二进制计数规律从1~128增1计数,某位为1,对应的发光二极管发亮,否则熄灭,计到128时结束。 请您编程 * 解:参考程序如下: ORG 0100H MOV A,#00H ;加1后从1开始计数 NEXT:INC A MOV P1,A LCALL DELAY2S ;调子程序,延迟2S CJNE A,#128 , NEXT ; … END * 例3.5.4 双分支程序设计。片内RAM的20H单元和30H单元各存放了一个8位无符号数,请比较这两个数的大小,利用图3.18 (a)中的发光二极管显示比较结果: 若(20H)≥(30H),则P1.0管脚连接的L0发光; 若(20H)(30H), 则P1.1管脚连接的L1发光。 * 解:比较两个无符号数常用的方法是将两个数相减,然后判断有否借位Cy。若Cy=0,无借位,(20H)≥(30H);若Cy=1,有借位,(20H)(30H)。程序的流程图如图3.18(b)所示。 源程序如下: MOV A, 20H CLR C ;Cy=0

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档