快速入门单片机汇编语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
快速入门单片机汇编语言
简要:
单片机有通用型和专用型之分。专用型是厂家为固定程序的执行专门开发研制的一种单片机,其程序不可更改。通用型单片机是常用的一种供学习或自主编制程序的单片机,其程序需要自己写入,可更改。单片机根据其基本操作处理位数不同可以分为:1位、4位、 8位、16、32位单片机。正文:
在此我们主要讲解美国ATMEL公司的89C51单片机。
一、89C51单片机PDIP (双列直插式)封装引脚图:
其引脚功能如下:
P0 口( pO.0-p0.7):为双向三态口,可以作为输入/输出口。但在实际应用中通常作为地址/数据总线口,即为低8位地址/数据总线分时复用。低8位地址在ALE信号的负跳变锁存到外部地址锁存器中,而高 8位地址由P2 口输出。
P1 口( pl.O-p1.7):其每一位都能作为可编程的输入或输出线。
P2 口( p2.0- p2.7):每一位也都可作为输入或输出线用,当扩展系统外设时,可作为扩展系统的地址总线高 8位,与P0 口一起组成16位地址总线。对89c51单片机来说,P2
P3 口( p3.0- p3.7):其为双功能口,作为第一功能使用时,其功能与P1 口相同。当作为第二功能使用时,每一位功能如下表所示
P3 口第二功能
Rst'Vpd :上电复位端和掉电保护端
XTAL1(xtal2):外接晶振一脚,分别接晶振的一端
Gnd:电源地。
Vcc:电源正级,接+5V
PROG\ALE :地址锁存控制端
PSEN:片外程序存储器读选通信号输出端,低电平有效。
EA\vpp :访问外部程序储存器控制信号,低电平有效。当 EA为高电平时访问片内存储器,若超出范围则自动访问外部程序存储器。当 EA为低电平时只访问外部程序存储器。
二、常用指令及其格式介绍:
1、指令格式:
[标号:]操作码[目的操作数][,操作源][;注释]
例如:LOOP:ADD A,#OFFH ; (A) J(A)+FFH
2、常用符号:
Ri和Rn: R表示工作寄存器,i表示1和0, n表示0~7。
rel:相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。
#data:包含于指令中的8位立即数。
#data16:包含于指令中的16位立即数。
addr16 16位目的地址。
direct:直接寻址的地址。
bit :内部数据存储器RAM和特殊功能寄存器SFR中的可直接寻址位地址
@:间接寻址寄存器或基地址寄存器的前缀。
(X):表示X中的内容。
((X)):表示由X寻址的单元中的内容,也就是(X)作地址,该地址的内
容用((X))表示。
3、常用伪指令:
ORG :规定目标程序段或数据块的起始地址。格式:ORG+空格+地址例如: ORG 0000H
END :结束指令,放在程序的末尾,单独使用,一段程序只用一次。
DB (定义字节):从指定地址单元开始,定义若干字节存储单元并赋初始值。
4、常用寻址方式:
直接寻址:MOV A,30H
立即数寻址:MOV A,#20H
寄存器间接寻址:MOV A,@Ri (i=1,2)
基址加变址寄存器寻址:MOV A,@A+DPTR 寄存器寻址:MOV A,Rn(n=0—7)
5、指令大集合:
传送类指令:
MOVX
MOVC
相对数据指针内容送累加器
A,@A+DPTR
相对程序计数器内容送累加器
MOVC
A,@A+PC
累加器内容与寄存器内容交换
XCH A,R n
累加器与片内RAM 交换内容
XCH
A,@Ri
累加器与直接寻址字节交换内容 XCH A,direct
累加器与片内RAM 交换低半字节
XCHD A,@Ri
内容
传送类指令:
@DPTR,A
PUSH direct 直接寻址字节内容压入栈顶
POP direct
栈顶内容弹出到直接寻址字
节
累加器交换高半字节和低半
字节
SWAP A
助记符操作功能助记符操作功能
ANL A,R n 寄存器内容与累加器内容ORL A,R n 寄存器内容或累加器内容
ANL A,@Ri 片内RAM内容与累加器内容ORL A,@Ri 片内RAM内容或累加器内容ANL A,direct 直接寻址字节内容与累加器内ORL A,direct 直接寻址字节内容或累加器内容
ANL direct, A 容
ORL direct,A 累加器内容或直接寻址字节内容
ANL A,#data 累加器内容与直接寻址字节内
ORL A,#data 立即数或累加器内容容
ANL direct , ORL direct ,立即数或直接寻址字节内容
#data 立即数与累加器内容
#data 立即数与直接寻址字节内容
XRL A,R n 寄存器内容异或累加器内容CPL A 累加器内容取反XRL A,@Ri 片内RAM内容异或累加器内容CLR A 累加器内容清空XRL A,direct 直接寻址字节内容异或累加器
XRL direct, A
内容
XRL A,#data
累加器内容异或直接寻址字节
内容
XRL direvt ,
#data
立即数异或累加器内容
立即数异或直接寻址字节内容