片机汇编程序设计-two.ppt

片机汇编程序设计-two.ppt

ID:52129694

大小:1.32 MB

页数:76页

时间:2020-04-01

片机汇编程序设计-two.ppt_第1页
片机汇编程序设计-two.ppt_第2页
片机汇编程序设计-two.ppt_第3页
片机汇编程序设计-two.ppt_第4页
片机汇编程序设计-two.ppt_第5页
资源描述:

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

1、简单程序是指程序中没有使用转移类指令的程序段,程序执行时按照指令的先后顺序一条一条地进行。这种程序是最简单的程序结构,其中既无分支,也无循环,也不调用子程序,故又称之为顺序程序或无分支程序。简单程序设计例1请用MCS-51汇编指令编写程序,将片内RAM10、20单元中的内容是30H,35H,求和。分析:应注意地址和地址中的值不同程序如下:;sumORG0000H;首地址MOV10H,#30H;将#30H传送给10HMOV20H,#35H;将#35H传送给20HMOVR1,10H;将10H传送给R1MOVA,20H;将20H传送给AADDA,R1;求和END4.2.2分支结构程

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

3、数JCBIG1;有借位,第一个数大,转BIG1MOVXA,@DPTR;第二个数大,取大数到A中SJMPBIG2BIG1:XCHA,R1;R1中原为大数,交换到A中BIG2:INCDPTRMOVX@DPTR,A;存大数于第三个单元SJMP$⒉多分支选择结构图4–3多分支结构示意图例3某温度控制系统,采集的温度值T存放在累加器A中,试编程实现:若T>90°,程序转向降温处理程序(JW);若T<50°,则转向升温处理程序(SW);若50°≤T≤90°,则转回采集程序(MAIN)。(1)使用多条CJNE指令实现多分支程序转移CJNE(操作数1),(操作数2),rel解:程序如下:CJ

4、NEA,#5AH,LOOP1;#5AH表示90LJMPMAINLOOP1:JNCJWCJNEA,#32H,LOOP2;#32H表示50LJMPMAINLOOP2:JCSWLJMPMAIN分析:根据题意首先计算x2,然后根据x值的范围,决定y的值。例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<16,转L3

5、1MOVR0,#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转向对应的分支程序。键盘中的每一个命令键都有一个相应的命令键处理程序,当按下某一个键时,程序应立即转到相应的键处理程序

6、执行。因此16个键有16个分支程序。对应于每一个键按下都有一个相应的键号,设16个命令键的键号为00H~0FH,则键盘处理程序就是根据键号查找相应的命令键处理程序。例5编写一个16个命令键的键盘处理程序分析:已知键号存放在累加器A中,转移表中依次存放16个命令键的无条件转移指令,由转移指令再转向相应的键处理程序。转移表由LJMP指令组成,每条LJMP指令占用3个字节,因此输入的键号要进行乘3调整以求得查表偏移量。解:程序如下:KEY:MOVDPTR,#KPRG;转移表的首地址放入DPTR中MOVB,#03HMULAB;求得查表偏移量JMP@A+DPTR;查表转移到相应的命令键

7、处理程序KPR:LJMPKPRG0;命令键处理程序转移表LJMPKPRG1┆LJMPKPRG15KPRG0:;0号键处理程序┆KPRG1:;1号键处理程序┆┆KPRG15:;15号键处理程序┆4.2.3循环结构程序设计1)循环初始化设置循环的初始状态,位于循环程序的开头位置。2)循环主体循环程序的主体部分,即要求重复执行的程序段部分。3)循环结束条件用来判断循环程序结束与否。循环程序由3部分组成:编写查找最小值程序。假设从片内RAM60H单元开始存放着10个无符号数,找出其中的最小值送入片内RAM的MI

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

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

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