快速入门单片机汇编语言_第1页
快速入门单片机汇编语言_第2页
快速入门单片机汇编语言_第3页
快速入门单片机汇编语言_第4页
快速入门单片机汇编语言_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、快速入门单片机汇编语言简要:单片机有通用型和专用型之分。专用型是厂家为固定程序的执行专门开发研制的一种单片机,其程序不可更改。通用型单片机是常用的一种供学习或自主编制程序的单片机,其程序需要自己写入,可更改。单片机根据其基本操作处理位数不同可以分为:1位、4位、8位、16、32位单片机。正文:在此我们主要讲解美国ATME公司的89C51单片机。一、89C51单片机PDIP(双列直插式)封装引脚图:其引脚功能如下:P0口(p0.0p0.7):为双向三态口,可以作为输入/输出口。但在实际应用中通常作为地址/数据总线口,即为低8位地址/数据总线分时复用。低8位地址在ALE信号的负跳变锁存到外部地址锁

2、存器中,而高8位地址由P2口输出。P1口(p1.0p1.7):其每一位都能作为可编程的输入或输出线。P2口(p2.0p2.7):每一位也都可作为输入或输出线用,当扩展系统外设时,可作为扩展系统的地址总线高8位,与P0口一起组成16位地址总线。对89c51单片机来说,P2口一般只作为地址总线使用,而不作为I/O线直接与外设相连。P3口(p3.0p3.7):其为双功能口,作为第一功能使用时,其功能与P1口相同。当作为第二功能使用时,每一位功能如下表所示P3口第二功能引脚第二功能引脚第二功能P3.0RXDF用行口数据输入端P3.4INT0一定时器T0的外部输入P3.1TXDF用行口数据输出端P3.5

3、INT1一定时器T1的外部输入P3.2T0外部中断0请求P3.6WR-外部存储器数据写选通信号P3.3T1一外部中断1请求P3.7RDH外部存储器数据读选通信号RstVpd:上电复位端和掉电保护端。XTAL1(xtal2):外接晶振一脚,分别接晶振的一端Gnd电源地。Vcc:电源正级,接+5V。PROGALE地址锁存控制端PSEN片外程序存储器读选通信号输出端,低电平有效。EAvpp:访问外部程序储存器控制信号,低电平有效。当EA为高电平时访问片内存储器,若超出范围则自动访问外部程序存储器。当EA为低电平时只访问外部程序存储器。二、常用指令及其格式介绍:1、指令格式:标号:操作码目的操作数北,

4、操作源北;注释例如:LOOP:ADDA,#0FFH;(A)(A)+FFH2、常用符号:Ri和Rn:R表示工作寄存器,i表示1和0,n表示07。rel:相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。#data:包含于指令中的8位立即数。#data16:包含于指令中的16位立即数。addr16:16位目的地址。direct:直接寻址的地址。bit:内部数据存储器RAMffi特殊功能寄存器SFR中的可直接寻址位地址。:间接寻址寄存器或基地址寄存器的前缀。(X):表示X中的内容。(X):表示由X寻址的单元中的内容,也就是(X)作地址,该地址的内容用(X)表示。3、常用伪指令:ORG

5、规定目标程序段或数据块的起始地址。格式:ORG+格+地址例如:ORG0000HEND结束指令,放在程序的末尾,单独使用,一段程序只用一次。DB(定义字节):从指定地址单元开始,定义若干字节存储单元并赋初始值。4、常用寻址方式:直接寻址:MOVA,30H立即数寻址:MOVA,#20H寄存器间接寻址:MOVA,Ri(i=1,2)基址加变址寄存器寻址:MOVA,A+DPTR寄存器寻址:MOVA,Rn(n=07)5、指令大集合:传送类指令:助记符操作功能助记符操作功能MOVA#data立即数送累加器MOVdirect,Rn寄存器内容送直接寻址字节MOVRn#data立即数送寄存器MOVARn寄存器内容

6、送累加器MOVRi#data立即数送片内RAMMOVRnA累加器内容送寄存器MOVdirect,#data立即数送直接寻址字节MOVdirect,A累加器内容送直接寻址字节MOVDPTR#data1616位立即数送数据指针寄存器MOVR,iA累加器内容送片内RAMMOVRndirect直接寻址字节内容送寄存器MOVdirect,Ri片内RAM内容送直接寻址字节MOVAdirect直接寻址字节送累加器MOVARi片内RAMrt容送累加器MOVRidirect直接寻址内容送片内RAMMOVdirect2,直接寻址字节内容送另一直接寻directi址字节MOVXARi片外RA业容送累加器MOVXA,

7、DPTR片外RAMft容送累加器MOVXRjA累加器内容送片外RAMMOVXDPTR,A累加器内容送片外RAMMOVCA,A+DPTR相对数据指针内容送累加器PUSHdirect直接寻址字节,内容压入栈顶MOVCA,A+PC相对程序计数器内容送累加器POPdirect栈顶内容弹出到直接寻址字节XCHA,Rn累加器内容与奇存器内容父换SWAPA累加器交换高半字节和低半XCHA,Ri累加器与片内RAMfc换内容XCHA,direct累加器与直接寻址字节交换内容XCHDA,Ri累加器与片内RAMfe换低半字节内容传送类指令:助记符操作功能助记符操作功能ADDA,RnADDA,RiADDA,direc

8、tADDA,#dataADDCA,RnADDCA,Ri寄存器内容与累加器内容相加片内RAMW累加器内容相加直接寻址字节与累加器内容相加立即数与累加器内容相加寄存器与累加器与进位位内容相加SUBBA,RnSUBBA,RiSUBBA,directSUBBA,#data累加器内容减寄存器与进位位内容累加器内容减片内RAMW进位位内容累加器内容减直接寻址字节与进位位内容累加器内容减立即数与进位位内容ADDCA,directADDCA,#data片内RAMW累加器与进位位相加直接寻址字节与累加器与进位位相加立即数与累加器与进位位相加INCA累加器内容加1DECA累加器内容减1INCR0寄存器内容加1DE

9、CRn寄存器内容减1INCRi片内RAMft容加1DECRi片内RAMft容减1INCdirect直接寻址字节内容加1DECdirect直接寻址字节内容减1INCDPTR数据指针寄存器内容加1DAA累加器内容十进制调整MULAB累加器内咨乘寄存器B内容DIVAB累加器内容除寄存器B内容逻辑操作类指令:助记符操作功能助记符操作功能ANLA,Rn寄存器内容与累加器内容ORLA,Rn寄存器内容或累加器内容ANLA,Ri片内RAMft容与累加器内容ORLA,Ri片内raWj容或累加器内容ANLA,direct直接寻址字节,内容与累加器内ORLA,direct直接寻址字节内容或累加器内容容ANLdire

10、ct,AORLdirect,A累加器内谷或直接寻址字节内容累加器内容与直接寻址字节内ANLA,#dataORLA,#data立即数或累加器内容容ANLdirect,ORLdirect,立即数或直接寻址字节内容立即数与累加器内容#data#data立即数与直接寻址字节内容XRLA,Rn寄存器内容异或累加器内容CPLA累加器内咨取反XRLA,Ri片内RAWJ容异或累加器内容CLRA累加器内容清空XRLA,direct直接寻址字节,内容异或累加器内容XRLdirect,A累加器内容异或直接寻址字节XRLA,#data内容XRLdirevt,立即数异或累加器内容#data立即数异或直接寻址字节内容RL

11、A累加器内容向左环移1位RRA累加器内容向右环移1位RLCA累加器内容带进位位向左环移1RRCA位累加器内容带进位位向右环移1位控制转移类指令:助记符操作功能助记符操作功能AJMPaddr11绝对转移JZrel累加器内容为零转移LJMPaddr16长转移JNZrel累加器内咨不为零转移SJMPrel相对短转移CJNEA,direct,累加器内容与直接寻址字节内咨不rel等转移JMPA+DPTR相对长转移CJNEA,#data,rel累加器内容与立即数不等转移CJNERn,#data,寄存器内容与立即数不等转移relCJNERi#data,relDJNZRn,relDJNZdirect,rel寄

12、存器内容减1不为零转移Direct内容减1不为零转移ACALLaddrllLCALLaddr16绝对倜子长调子RET返回主程序NOP空操作RETI中断返回主程序位操作类指令:助记符操作功能助记符操作功能MOVC,bit直接寻址位内容送进位位CPLC进位位取反MOVbit,C进位位内容送直接寻址位CLRC进位位清零SETBC进位位置位CPLbit直接寻址位取反CLRbit直接寻址位清零SETBbit直接寻址位置位ANLC,bitORLC,bitANLC,/bitORLC,/bitJCrel进位位为1转移JNCrel进位位不为1转移JBbit,rel直接寻址位为1转移JNBbit,rel直接寻址位

13、不为1转移JBCbit,rel直接寻址位为1转移且该为清令一般常用程序模式:1、开始程序:ORG0000HJMP0030HORG0030H直接寻址位内容与进位位内容直接寻址位内容或进位位内容直接寻址位的反与进位位内容直接寻址位的反或进位位内容2、软件延时子程序:YANSHI:MOVR7,#25D1:MOVR6,#50D2:MOVR5,#200DJNZR5,$DJNZR6,D2DJNZR7,D1RET若12M晶振则延时时长约为:25X50X200X2X10-6s,若为6M晶振则延时时长为:25X50X200X2X2X10-6s3、硬件延时子程序:(1)查询方式:YANSHI:MOVTMOD,#01HMOVR0,#20UP:MOVTH0,#3CHMOVTL0,#0B0HSETBTR0JNBTF0,$CLRTF0DJNZR0,UPRET此延时程序为20(R。X50ms即为一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论