单片机之汇编语言设计.ppt

单片机之汇编语言设计.ppt

ID:48074176

大小:1.24 MB

页数:64页

时间:2019-05-06

单片机之汇编语言设计.ppt_第1页
单片机之汇编语言设计.ppt_第2页
单片机之汇编语言设计.ppt_第3页
单片机之汇编语言设计.ppt_第4页
单片机之汇编语言设计.ppt_第5页
资源描述:

《单片机之汇编语言设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编语言程序设计4.1概述4.2简单程序4.3分支程序4.4循环程序4.6子程序的设计及调用4.7程序设计举例4.5查表程序下页4.1概述一、汇编语言和高级语言相比具有下列优点:①占用的内存单元和CPU资源少②执行速度快③有效的利用计算机的专有特性。④适合实时控制⑤可计算程序运行时间上页下页回目录专有特性MOVP1,A如:输出操作二、汇编语言程序设计的步骤:①建立数学模型②确定算法③制定流程图④确定数据结构⑤写出源程序⑥上机调试三、汇编语言程序的结构①定义有关字符名②定义程序的起始地址③程序主体④汇编结束标志上页下页回目录例1:内部RAM从DATA1单元有一数据块

2、,存放若干无符号数,第一单元为数据块长度,求这些无符号数之和。;首址送R0;长度送R1;检查长度是否为零;为零则结束;不为零则开始运算;加一个数;长度减1不为零则转移;存和起始地址程序主体汇编结束标志标号注释上页下页回目录MOVR1,DATA1CJNER1,#0,NEXTORG2000HSTART:MOVR0,#DATA1HERE:SJMP$NEXT:CLRALOOP:INCR0ADDA,@R0DJNZR1,LOOPMOVSUM,ASJMPHEREDATA1DATA20HSUMDATA1FHEND上页下页回目录四、评价程序质量的标准:①程序的执行时间②程序所占用的内存字

3、节数目③程序的逻辑性、可读性④程序的兼容性、可扩展性⑤程序的可靠性时间空间概念4.2简单程序简单程序的特点:既无分支,又无循环,按照顺序执行例4-2:将一个字节内的两个BCD码拆开并变成ASCII码,存入两个RAM单元。BCD码放在内RAM的20H,转换后高半字节放到21H,低字节放22H。BCDHBCDL00110011RAM21H22H20H方法1:BCD码0~9对应的ASCII码为30H~39H转换时,将20H中的BCD码拆开,高四位置为“0011”即可。BCDHBCDL上页下页回目录可完成一定的基本功能,是编写复杂程序的基础ASCII码程序:0011BCDH00

4、000000MOVR0,#22HMOV@R0,#0MOVA,20HXCHDA,@R0ORL22H,#30HSWAPAORG1000HORLA,#30HMOV21H,ASJMP$END;R022H;22H0;两个BCD数送A;BCDL数送22H;完成转换;BCDH数送A的低4位;完成转换;存数BCDHBCDLBCDL00000011BCDHBCDLRAM21H22H20H0000BCDH0011A上页下页回目录@R0;原地踏步,相当与停机方法1小结:以上程序用了8条指令,15个内存字节,执行时间为9个机器周期。方法2:采用除10H取余法将两个BCD数拆开BCDHBCDLA

5、000100000000BCDH0000BCDLBABDIVAB上页下页回目录ORL,#30HAB0011BCDH0011BCDL程序:MOVA,20HMOVB,#10HDIVABORLB,#30HMOV22H,BORLA,#30HORG1000HMOV21H,ASJMP$END;取BCD码至A;完成转换;存ASCII码;完成转换;存ASCII码;除10H取余,使BCDHA、BCDLBBCDHBCDLA000100000000BCDH0000BCDLBABDIVAB00110011BCDHBCDLRAM21H22H20H上页下页回目录方法2小结:以上程序用了7条指令,1

6、6个内存字节,执行时间为13个机器周期。双字节求补设:两个字节原码数存在R1、R0中求补后结果,存在R3、R2中。例4-3:方法:求补采用“模-原码”的方法上页下页回目录即用“0”去减“原码”R0R1原码-)R2R300H00H程序:CLRCCLRASUBBA,R0MOVR2,ACLRASUBBA,R1ORG1000HMOVR3,ASJMP$END;CY0;A0;低字节求补;送R2;A清零;高字节求补;送R3上页下页回目录将内部RAM的20H单元中的8位无符号二进制数,转换为3位BCD码,并将结果存放在FIRST(百位)和SECOND(十位、个位)两个单元中。例4-4:

7、解:可将被转换数除以100,得百位数;余数除以10得十位数;最后余数即为个位数。编程如下:例如:255(十进制)除以100,得2(百位数)余数除以10,得5(十位数)最后余数5即为个位数上页下页回目录55H程序(设(20H)=0FFH):;取数;除数B;除100;百位BCD;除10;除数10→B;十位数送高位;A为十位、个位BCDMOVA,20HMOVB,#64HDIVABMOVFIRST,AMOVB,#0AHDIVABORG1000HSWAPAORLA,BMOVSECOND,ASJMP$FIRSTDATA21HSECONDDATA22H

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。