2022年单片机原理及运用-第五章C单片机的程序设计.pptVIP

2022年单片机原理及运用-第五章C单片机的程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

单片机原理及应用;第五章80C51单片机的程序设计;二、汇编语言

汇编语言语句的种类和格式

伪指令语句

第二节汇编语言程序设计

一、顺序结构程序

数据传送和交换

例如:假设R0~R3工作寄存器清“0”,R4~R5置成全“1”,对P1口清“0”,片内RAM中30H、40H单元清“0”。;采用立即寻址方式置初值

ORG1000H

START:MOVR0,#00H;(R0)0

START:MOVR1,#00H;(R1)0

START:MOVR2,#00H;(R2)0

START:MOVR3,#00H;(R3)0

START:MOVP1,#00H;(P1)0

START:MOVR4,#0FFH;(R4)0FFH

START:MOVR5,#0FFH;(R5)0FFH

MOV30H,#00H;(30H)0

MOV40H,#00H;(40H)0

END;结束;例如,设将R3与R5内容互换,R4与35H单元内容互换,其程序段如下

XCHR:XCHA,R3

XCHA,R5

XCHA,R3;R3与R5内容互换

XCHA,R4

XCHA,35H

XCHA,R4;R4与35H单元内容互换;2.简单运算程序

例1.双字节加法程序段.

设被加数存放于片内RAM的addr1(低位字节)、addr2(高位字节),加数存放于addr3(低位字节)、addr4(高位字节),运算结果和数存于addr1和addr2中。其程序段如下:

START:PUSHACC;将A中内容进栈保护

MOVR0,#addr1 ;将addr1地址值送R0

MOVR1,#addr3 ;将addr3地址值送R1;MOVA,@R0;被加数低字节内容送AADDA,@R1;低字节数相加

MOV@R0,A;低字节数和存addr1中

INCR0;指向被加数高位字节

INCR1;指向加数高位字节

MOVA,@R0;被加数高位字节送A

ADDCA,@R1;高字节数相加

MOV@R0,A;高字节数和存addr2中

POPACC;恢复A原内容;例2双字节乘法程序段

START:PUSHPSW;PSW、A、B入栈

PUSHACC

PUSHB

MOVPSW,#18H;选用工作寄存器组3

MOVR0,#addr1;被乘数低字节地址送R0MOVR1,#addr3;乘数低字节地址??R1

MOVA,@R0;被乘数低字节内容送A

MOVB,@R1;乘数低字节内容送B

;MULAB;低字节内容A*L

MOV@R0,A;积的最低字节存入addr1中

MOVR2,B;HAL送R2

INCR0;指向被乘数高字节

MOVA,@R0;被乘数高字节送A

MOVB,@R1;乘数低字节送B

MULAB;B*L

ADDA,R2;HAL+LBL

MOVR2,A;HAL+LBL之和送R2;MOVA,B;HBL送A

ADDCA,#00H;HBL+CY

文档评论(0)

192****8821 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档