- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
单片机第三章;教学目标
掌握汇编语言程序基本结构。
掌握程序设计的步骤和方法。
学会具体程序的应用。;程序设计的过程大致可以分为以下几个步骤:
(1)编制说明要解决问题的程序框图。
(2)确定数据结构、算法、工作单元、变量设定。
(3)根据所用计算机的指令系统,按照已编制的程序框图,用汇编语言编制出源程序。
(4)将编制出的程序在计算机上调试,直至实现预定的功能。;4.1三种基本程序结构:(1)顺序程序
顺序程序是指按顺序依次执行的程序,也称为简单程序或直线程序。顺序程序结构虽然比较简单,但也能完成一定的功能任务,是构成复杂程序的基础。;【例4-1/3-27】已知16位二进制负数存放在R1、R0中,试求其补码,并将结果存放在R3、R2中。
分析:负数的求补:“求反加1”,符号位不变。
利用CPL指令实现求反;
加1时,则应低8位先加1,高8位再加上低位的进位。注意:不能用INC指令。
;步骤:
(1)低八位送累加器(CPL操作八位数字只能在累加器中进行);
(2)低八位取反,加1;
(3)存低八位处理结果;
(4)高八位送累加器;
(5)高八位取反,加标志位并将符号位置1;
(6)保存高八位处理结果。;程序如下:
CONT: MOV A,R0 ;读低8位
CPLA ;取反
ADD A,#1 ;加1
MOV R2,A;存低8位
MOV A,R1;读高8位
CPL A ;取反
ADDCA,#80H ;加进位及符号位
MOV R3,A ;存高8位
RET ;返回;【例3-28/4-2】将两个半字节数合并成一个1字节数。
设内部RAM的40H、41H单元中分别存放着8位二进制数11011001B。
要求取出两个单元中的低半字节,合并成一个字节后,存放在42H单元中。
;要求:设内部RAM的40H、41H单元中分别存放着8位二进制数。要求取出两个单元中的低半字节,合并成一个字节后,存放在42H单元中。
步骤:(1)取40H里面的数字放入累加器;(2)高四位清零;(3)高低位互换;(4)保存;(5)取41H里面的数字放入累加器;(6)高四位清零;
(7)拼字;(8)保存。
;ANL A,#0FH ;取第二???半字节
步骤(1)40H数字送累加器;
分析:负数的求补:“求反加1”,符号位不变。
当主程序运行过程中需要用子程序时,只要执行调用子程序的指令,使程序转至子程序即可。
START: MOV R1,#40H
循环程序中的某些指令可以反复执行多次。
LOOP: MOV @R0,A ;清单元
这时可以用转移指令AJMP(或LJMP)组成一个转移表。
INC R1
循环程序中的某些指令可以反复执行多次。
DEL2: DJNZ R7,DEL2;
要求:设有40个外部RAM单元要清“0”,即为循环次数存放在R2寄存器中,其首地址存放在DPTR中,设为3000H。
MOV R3,A ;存和的低8位
查表程序是一种常用程序,它广泛应用于LED显示器控制、打印机打印及数据补偿、计算、转换等功能程序中,具有程序简单、执行速度快等优点。
只有简单程序和分支程序是不够的。
1三种基本程序结构:(1)顺序程序
CJNE A,#88H,DISPLAY;;【例3-29/4-3】拆字程序。
40H里面一个8位二进制数拆成两个半字节数字,分别送入41H42H中。
步骤(1)40H数字送累加器;(2)备份;
(3)高四位清零;(4)保存低四位;
(5)取数字;(6)低四位清零;(7)高地位互换;(8)保存高四位。; ORG 0000H
START: MOV R1,#40H
MOV A,@R1
MOV B,A ;暂存B中
ANL A,#0FH ;取第一个半字节
INC R1
MOV @R1,A ;存放第一个半字节
MOV A,B
SWAP A
ANL A,#0FH
最近下载
- 仓储场地出租合同范本.docx VIP
- DL_T 596-2021 电力设备预防性试验规程.docx VIP
- 湖北农商行面试题目及答案.doc VIP
- 护理质量持续改进与患者身份识别.pptx
- (正式版)D-L∕T 849.6-2016 电力设备专用测试仪器通用技术条件 第6部分:高压谐振试验装置.docx VIP
- 族谱资料欢迎传阅妥善保管以存后世-陆氏家园.docx VIP
- 楼层别效用比与地价分配率.PDF VIP
- 毕业设计(论文)-基于PLC的自动上料系统设计.docx VIP
- 新课标下初中历史教学中学生历史素养的培养研究.pptx VIP
- 基于web体育馆场地预约系统的设计与实现毕业论文.docx
原创力文档


文档评论(0)