MCS-51单片机汇编语音程序设计
时间:2025-04-05
时间:2025-04-05
第3章 MCS-51单片机汇编语言程序设计
单片机原理、接口及应用
第3章 MCS-51单片机汇编语言程序设计
内 容 提 要★概述★伪指令 ★汇编语言程序设计步骤 ★顺序程序设计 ★分支程序设计
★循环程序设计★位操作程序设计 ★子程序 ★汇编语言常用程序设计 ★小结
第3章 MCS-51单片机汇编语言程序设计
3.1 概述MCS-51单片机的编程语言可以是汇编语言也可以 是高级语言(如C语言),高级语言编程快捷,但程 序长,占用存储空间大,执行慢;汇编语言产生的目 标程序简短,占用存储空间小,执行快,能充分发挥 计算机的硬件功能。无论是高级语言还是汇编语言, 源程序都要转换成目标程序(机器语言)单片机才能 执行。
第3章 MCS-51单片机汇编语言程序设计
编译器C51
C语言程序
汇编语言 源程序
浮 动 地 址 目 标 程 序
绝对地址 目标程序 .BIN
· HEX
汇编器A51
连接/定位器 L51
符号转换程序 OHS51
图 3-1 两种语言源程序转换成目标程序
第3章 MCS-51单片机汇编语言程序设计
目前很多公司将编辑器、汇编器、编译器、连接/定位 器、符号转换程序做成集成软件包,用户进入该集成环境, 编辑好程序后,只需点击相应菜单就可以完成上述的各步, 如WAVE、KEIL .
汇编:将汇编语言源程序转换成机器语言目标程序的过程称为汇编。
汇编程序:能将汇编语言源程序转换成机器语言目标程序的系统软件称为汇编程序。
第3章 MCS-51单片机汇编语言程序设计
汇编的方法:汇编的方法有两种1.手工汇编:
人工查指令表,查出程序中每条指令对应的机器代码。早期的计算机使用。
2.机器汇编:用计算机中的汇编程序对用户源程序进行汇编。 用机器汇编要提供给汇编一些信息,遵循汇 编程序的一些约定。这些由伪指令指定。
第3章 MCS-51单片机汇编语言程序设计
1)确定程序中每条汇编语言指令的指令机器码 2)确定每条指令在存储器中的存放地址
3)提供错误信息4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)
地址 2000H 2002H
机器码 78 30 E6
源程序 ORG 2000H MAIN: MOV R0,#30H MOV A,@R0 …
第3章 MCS-51单片机汇编语言程序设计
3.2 伪指令一、汇编语言指令类型1. 机器指令:指令系统中的全部指令。每条机器指令都 有对应的机器代码,可以被CPU执行。 2. 伪指令: 汇编控制指令,没有指令代码,只用于汇编 过程,为汇编程序提供汇编信息。 宏汇编功能:将需要反复多次执行的程序段定义成一个宏 指令名(宏定义)。编程时,可在程序中使用宏指令名来替 代被定义的程序段(宏调用)。
第3章 MCS-51单片机汇编语言程序设计
宏定义过程:
宏指令名 MACRO 形式参数 … ENDM
;被定义的程序段
宏调用过程:
… 宏指令名 … 宏指令名
实际参数 实际参数
第3章 MCS-51单片机汇编语言程序设计
二.伪指令 常用伪指令及功能:1.起始指令 ORG nn 功能:定义程序或数据块的起始地址。指示此语句后面的程序 或数据块以nn为起始地址,连续存放在程序存储器中。 指令地址 机器码 源程序 ORG 2000H 2000H 78 30 MAIN: MOV R0,#30H 2002H E6 MOV A,@R0 …3000H 3001H 3002H 23 64 41 ORG 3000H TAB: DB 23H,100,‘A’
第3章 MCS-51单片机汇编语言程序设计
2.字节定义 标号: DB(字节常数, 或字符或表达式)功能:指示在程序存储器中以标号为起始地 址的单元里存放的数为字节数据(八位二进 制数)。 例如 FFH LN:DB 32,’C’,25H,-1;LN~ LN+2 LN+3GH 地址 LN 数据
20 43 25 FF12 34 GH+2 56 78 GH+4 00 08
LN+1
LN+2 地址单元依次存放20H , 43H , 25H ,
3. 字定义 标号:DW (字常数或表达式)作用: 指示在程序存储器中以标号为起始地址的单元里存放的数为字数据(即16位的二进制数), 例如: GH :DW 1234H,5678H,08
第3章 MCS-51单片机汇编语言程序设计
4.保留字节
标号:DS (数值表达式)
作用: 指示在程序存储器中保留以标号为起始地 址的若干字节单元,其单元个数由数值表达式指定。 例如 L1:DS 32 ; 从L1地址开始保留32个存储单元。
5. 等值指令 标号 EQU(数值表达式) 表示EQU两边的量等值,用于为标号或标识符赋值。 X1 EQU 2000H 例如: X2 EQU 0FH … MAIN: MOV DPTR,#X1 ; DPTR=2000H ADD A,#X2 ; A=A+0FH
第3章 MCS-51单片机汇编语言程序设计
6. 位定义 标号 BIT [位地址] 作用: 同EQU指令,不过定义的是位操作地址。 例如 AIC BIT P1.1。
7.汇编结束
END
作用: 指示源程序段结束。 END指令放在程序的最后。 A51汇编程序还有一些其它的伪指令,以备查阅。
第3章 MCS-51单片机汇编语言程序设计
汇编语言程序设计步骤1.分析问题。2.确定算法。 3.设计程序流程图。 4.确定数据格式,分配工作单元,程序流程细化。 5.编写源程序。
6.程序测试。7.程序优化。
第3章 MCS-51单片机汇编语言程序设计
常用程序结构 顺序程序、分支程序、 循环程序、子程序 顺序程序设计
000EH
000EH000FH 000EH 000FH
000FH
例3-1 编程将外部数据存储器 的000EH和000FH单元的内 容相换。分析: 外部数据存储器的数据操 作只能用MOVX指令,且只能 和A之间传送,因此必须用一个 中间环节作暂存,设用20H单元。 用R0、R1指示 …… 此处隐藏:838字,全部文档内容请下载后查看。喜欢就下载吧 ……