第3章51单片机程序设计(改).ppt
文本预览下载声明
第三章 MCS-51单片机汇编语言程序设计;二、目标程序两种文件格式
用于写入单片机或仿真调试。
·BIN文件:二进制文件,机器码。
·HEX文件:INTEL公司定义,
地址、数据和校验码
ASCII码存储,可显示、打印
需用符号转换程序OHS51转换
三、两种语言的操作过程:图3-1 ;连接/定位器
L51; 编辑器、汇编器、编译器、连接/定位器、
符号转换程序、…….
WAVE、KEIL uVision2
WAVE集成软件:P248;1、汇编的两方法
①手工汇编
人工查指令表,得到程序中每条指令对应的机器代码,人工计算地址。早期使用。
②机器汇编
用汇编程序对汇编语言源程序进行汇编。
源程序要提供给一些附加信息,遵循汇编程序的一些约定。用伪指令实现。;1)确定程序中每条汇编语言指令的机器码
2)确定每条指令在存储器中的存放地址;六、汇编语言程序设计步骤 与书中不太一样;1. 机器指令:指令系统中的全部指令。每条机器指令都有对应的机器代码,可以被CPU执行。
2. 伪指令: 汇编控制指令,没有机器代码,只用于汇编过程,为汇编程序提供汇编信息。
3、宏指令
定义、调用;宏调用:
…
宏指令名 实际参数
…
宏指令名 实际参数;二、常用伪指令及功能;2.字节定义 标号: DB 表达式,…
在程序存储器中以标号为起始地址存放字节数据。
例:
LN:DB 32,’C’,25H,-1;5. 等值指令 符号 EQU 表达式 表示EQU两边的量等值,用于为或标识符赋值。例: X1 EQU 2000H X2 EQU 0FH … MAIN: MOV DPTR,#X1 ; DPTR=2000H ADD A,#X2 ; A=A+0FH;6. 位定义 符号 BIT 位地址
类似EQU指令,定义的是位操作数地址。
例:AIC BIT P1.1。;3.3顺序程序;例3-1 外部数据存储器的000EH和000FH单元的内容交换; ORG 0000H
MOV P2, #0H ;送地址高八位至P2口
MOV R0, #0EH ;R0= 0EH
MOV R1, #0FH ;R1=0FH
MOVX A, @R0 ;A=(000EH)
MOV 20H, A ;(20H)=(000EH)
MOVX A, @R1 ;A=(000FH)
XCH A, 20H ; A=(000EH),(20H)=(000FH)
MOVX @R1, A
MOV A, 20H
MOVX @R0, A ;交换后的数送各单元
SJMP $
END;例3-2:将R4R5双字节符号数求补程序。;地址;例(书无): 分解压缩型BCD码为非压缩型式BCD码。; ORG 0000H
MOV A,R2
JNB ACC.7,N ;为正数?
CPL A ;负数求补
INC A
MOV R2,A
N: SJMP $ ;结束; 例2 根据行李重量计算行李运费,以10kg为1个计价单位G , G在40H单元中。计价方法:为50kg以内按3元; 50kg以上部分按2元计价。 由此列出算式: ; ORG 0100H
FRT: MOV A,40H ;取行李重量计价单位G
MOV R3,A
MOV B,#03H ;运费M=G×3
MUL AB
MOV R2,A ;暂存3G; 3.4.2多分支散转程序
根据多种输入条件或多种运算结果,转向不同的处理程序。
通常用JMP @A+DPTR间接转移指令实现。
有两种设计方法:
1. 查转移地址表:
将转移地址列成表格,将表格的内容作转移的目标地址。
2. 查转移指令表:
显示全部