MCS51单片机汇编语言程序设计教学教案.ppt 立即下载
2024-12-04
约4.5千字
约45页
0
837KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

MCS51单片机汇编语言程序设计教学教案.ppt

MCS51单片机汇编语言程序设计教学教案.ppt

预览

免费试读已结束,剩余 40 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章MCS-51单片机汇编语言程序设计内容提要3.1概述目前很多公司将编辑器、汇编器、编译器、连接/定位器、符号转换程序做成集成软件包,用户进入该集成环境,编辑好程序后,只需点击相应菜单就可以完成上述的各步,如WAVE、
KEIL,WAVE集成软件的使用见附录。汇编的方法:汇编的方法有两种
1.手工汇编:
人工查指令表,查出程序中每条指令对应的机器代码。早期的计算机使用。
2.机器汇编:
用计算机中的汇编程序对用户源程序进行汇编。
用机器汇编要提供给汇编一些信息,遵循汇编程序的一些约定。这些由伪指令指定。1)确定程序中每条汇编语言指令的指令机器码
2)确定每条指令在存储器中的存放地址
3)提供错误信息						
4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)1.机器指令:指令系统中的全部指令。每条机器指令都有对应的机器代码,可以被CPU执行。
2.伪指令:汇编控制指令,没有指令代码,只用于汇编过程,为汇编程序提供汇编信息。宏定义过程:二.伪指令常用伪指令及功能:2.字节定义标号:DB(字节常数,或字符或表达式)
功能:指示在程序存储器中以标号为起始地址的单元里存放的数为字节数据(八位二进制数)。
例如LN:DB32,’C’,25H,-1;LN~LN+2地址单元依次存放20H,43H,25H,FFH5.等值指令标号EQU(数值表达式)表示EQU两边的量等值,用于为标号或标识符赋值。例如:X1	EQU2000HX2	EQU0FH		…	MAIN:MOVDPTR,#X1;DPTR=2000H		ADDA,#X2;A=A+0FH6.位定义标号BIT[位地址]
作用:同EQU指令,不过定义的是位操作地址。
例如AICBITP1.1。
汇编语言程序设计步骤顺序程序设计
例3-1编程将外部数据存储器的000EH和000FH单元的内容相换。ORG0000H
MOVP2,#0H;送地址高八位至P2口
MOVR0,#0EH;R0=0EH
MOVR1,#0FH;R1=OFH
MOVXA,@R0;A=(000EH)
MOV20H,A;(20H)=(000EH)
MOVXA,@R1;A=(000FH)
XCHA,20H;A=(000EH),(20H)=(000FH)
MOVX@R1,A
MOVA,20H
MOVX@R0,A;交换后的数送各单元
SJMP$
END
3.3顺序程序设计
顺序程序(简单程序),程序走向只有一条路径例3-3分解压缩式BCD码,使其成为非压缩式BCD码。地址	ORG0000H
MOVA,R2
	JNBACC.7,N;为正数?
	CPLA	;负数变补
	INCA
	MOVR2,A
N:SJMP$	;结束例2用单片机加重力传感器作磅秤,秤出重量后算出行李运费价格,其秤出的重量以10kg为1个计价单位G,G已存入40H单元。计价方法为50kg以内按3元,50kg以上分段计价:50kg按3元计价,超过部分按2元计价。由此列出算式:ORG0100H
FRT:MOVA,40H		;取行李重量计价单位G
		MOVR3,A		
		MOVB,#03H		;运费M=G×3
		MULAB
		MOVR2,A		;暂存3G多分支散转程序的设计

有一类分支程序,它根据不同的输入条件或不同的运算结果,转向不同的处理程序,称之为散转程序。这类程序通常利用JMP@A+DPTR间接转移指令实现转移。有如下两种设计方法:
1.查转移地址表:
将转移地址列成表格,将表格的内容作转移的目标地址。
2.查转移指令表:
将转移到不同程序的转移指令列成表格,判断条件后查表,转到表中指令执行,下面用两个例子说明。1.利用转移地址表实现转移
例3-7根据R3的内容转向对应的程序,R3的内容为0~n,处理程序的入口符号地址分别为PR0~PRn(n<128)。
分析:将PR0—PRn入口地址列在表格中,每一项占两个单元,PRn在表中的偏移量为2n,因此将R3的内容乘2即得PRn在表中的偏移地址,从偏移地址2n和2n+1两个单元分别取出PRn的高八位地址和低八位地址送DPTR寄存器,用JMP@A+DPTR指令(A先清零)即转移到PRn入口执行。ORG0000H
MOVA,R3;R3→A
ADDA,ACC;A*2
MOVDPTR,#TAB
PUSHACC
MOVCA,@A+DPTR;取地址表中高字节
MOVB,A;暂存于B
INCDPL
POPACC
MOVCA,@A+DPTR;取地址表中低字节
MOVDPL,A
MOVDPH,B;DPTR为表中地址
CLRA;A=0
JMP@A+DPTR;转移
TAB:DWPR0,PR1,PR2,…..,PRn;转移地址表
END2.利用转移指令表实现转移
例3-8设有五个按键0、1、2、3、4其编码分别为3AH、
查看更多
王子****青蛙
实名认证
内容提供者
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

MCS51单片机汇编语言程序设计教学教案

文档大小:837KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用