文档详情

第3章51单片机程序设计(改).ppt

发布:2017-04-18约5.38千字共44页下载文档
文本预览下载声明
第三章 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. 查转移指令表:
显示全部
相似文档