第12章单片机汇编语言程序设计ppt课件.ppt

第12章单片机汇编语言程序设计ppt课件.ppt

ID:58713775

大小:777.50 KB

页数:80页

时间:2020-10-04

第12章单片机汇编语言程序设计ppt课件.ppt_第1页
第12章单片机汇编语言程序设计ppt课件.ppt_第2页
第12章单片机汇编语言程序设计ppt课件.ppt_第3页
第12章单片机汇编语言程序设计ppt课件.ppt_第4页
第12章单片机汇编语言程序设计ppt课件.ppt_第5页
资源描述:

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

1、第十二章单片机汇编语言程序设计本章内容单片机汇编语言程序设计步骤程序的开发调试过程单片机汇编语言程序设计方法及技巧掌握汇编语言程序设计的一般步骤了解程序的开发调试过程掌握简单程序、分支程序、循环程序、查表程序、子程序和中断系统程序的基本设计方法和技巧学习目的12.1概述12.1.1单片机汇编语言程序设计步骤1分析问题,确定算法2绘制程序流程图3分配工作区及有关端口地址4编写汇编语言源程序5调试程序源程序编辑完后只有转换为机器码表示的目标程序计算机才能执行,这个转换的过程称为汇编。汇编语言源程序是由汇编指令和伪指令组成的文件,其扩展

2、名为“ASM”。单片机没有自主开发的功能,需要使用仿真器或仿真软件进行仿真调试。调试与硬件有关程序还要借助仿真开发工具并与硬件连接。12.1.2程序的开发调试过程1编辑源程序2汇编3调试4程序固化程序开发调试过程简单程序是指程序中没有使用转移类指令的程序段,程序执行时按照指令的先后顺序一条一条地进行。这种程序是最简单的程序结构,其中既无分支,也无循环,也不调用子程序,故又称之为顺序程序或无分支程序。12.2简单程序设计例12.1请用MCS-51汇编指令编写程序,将片内RAM101、102、103单元中的内容分别传送到片外数据存储器

3、101H、102H、103H单元中。分析:应注意片内和片外的寻址指令不同程序如下:MOVR0,#101MOVA,@R0;片内RAM101单元内容送AMOVXDPTR,#101HMOVX@DPTR,A;送入片外数据存储器101H单元中INCR0MOVA,@R0;片内RAM102单元内容送AINCDPTRMOVX@DPTR,A;送入片外数据存储器102H单元中INCR0MOVA,@R0;片内RAM103单元内容送AINCDPTRMOVX@DPTR,A;送入片外数据存储器103H单元中12.3分支程序设计分支程序的特点是程序中包含有转移

4、指令。根据分支出口的不同分为单分支程序和多分支程序。1.单分支程序分析:只要将两数进行比较,用比较的结果作为分支转移的条件就很容易地找出其中的大数。已知片外数据存储器20H开始的三个单元中前两个各存放有一个8位无符号二进制数,要求找出其中的大数并存入第三个单元中。例12.2程序如下:MOVDPTR,#20H;设置数据指针MOVXA,@DPTR;取第一个数MOVR1,A;第一个数存于R1INCDPTR;DPTR指向第二个数地址MOVXA,@DPTR;取第二数CLRC;清进位SUBBA,R1;第二个数减去第一个数JCBIG1;有借位,

5、第一个数大,转BIG1MOVXA,@DPTR;第二个数大,取大数到A中SJMPBIG2BIG1:XCHA,R1;R1中原为大数,交换到A中BIG2:INCDPTRMOVX@DPTR,A;存大数于第三个单元SJMP$2.多分支程序例12.3某温度控制系统,采集的温度值T存放在累加器A中,试编程实现:若T>90°,程序转向降温处理程序(JW);若T<50°,则转向升温处理程序(SW);若50°≤T≤90°,则转回采集程序(MAIN)。(1)使用多条CJNE指令实现多分支程序转移解:程序如下:CJNEA,#5AH,LOOP1;#5AH表

6、示90LJMPMAINLOOP1:JNCJWCJNEA,#32H,LOOP2;#32H表示50LJMPMAINLOOP2:JCSWLJMPMAIN分析:根据题意首先计算x2,然后根据x值的范围,决定y的值。例12.4设片内RAM30H单元有一无符号数x,请根据下列方程式编程计算,结果y存入31H单元。流程图解:源程序如下:MOVA,30H;取数xMOVB,AMULABMOVR0,A;x2暂存R0中MOVA,30HCJNEA,#0AH,L1;x与10比较L1:JCL2;x<10,转L2CJNEA,#10H,L3L3:JCL31;x<

7、16,转L31MOVR0,#00HSJMPL4L31:MOVA,R0;取x2DECR0;计算x2-1SJMPL4L2:MOVA,R0;取x2INCR0;计算x2+1L4:MOV31H,R0;存结果SJMP$END(2)使用JMP指令实现多分支程序转移通过散转指令JMP@A+DPTR和无条件转移指令AJMP或LJMP来实现。1)把AJMP或LJMP指令组成一个分支程序的 转移表,表的首地址放入DPTR中;2)调整后的入口参数即查表偏移量放入A中;3)执行JMP@A+DPTR转向对应的分支程序。键盘中的每一个命令键都有一个相应的命令键

8、处理程序,当按下某一个键时,程序应立即转到相应的键处理程序执行。因此16个键有16个分支程序。对应于每一个键按下都有一个相应的键号,设16个命令键的键号为00H~0FH,则键盘处理程序就是根据键号查找相应的命令键处理程序。例12.5编写一个16个命

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

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

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