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

下载本文档

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

文档简介

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

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

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

4、+FFH2、常用符号:件转移指令。位地址。Ri和Rn : R表示工作寄存器,i表示1和0,n表示07。rel :相对地址、地址偏移量,主要用于无条件相对短转移指令和条#data :包含于指令中的8位立即数。#data16 :包含于指令中的16位立即数。addr16 : 16位目的地址。direct :直接寻址的地址。bit :内部数据存储器RAM和特殊功能寄存器SFR中的可直接寻址 :间接寻址寄存器或基地址寄存器的前缀。(X):表示X中的内容。(X):表示由X寻址的单元中的内容,也就是(X)作地址,该地址的内容用(X)表示。3、常用伪指令:ORG规定目标程序段或数据块的起始地址。格式:ORG空

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

6、 #data立即数送片内RAMMOV Rn A寄存器内容送累加器MOV direct ,立即数送直接寻址字节MOV direct , A累加器内容送寄存器#data16位立即数送数据指针寄存器MOV Rj A累加器内容送直接寻址字MOVDPTR,节#data16累加器内容送片内 RAMMOV Rn direct直接寻址字节内容送寄存器MOV direct ,片内RAM内容送直接寻址MOV A direct直接寻址字节送累加器Ri字节MOV Ri direct直接寻址内容送片内 RAMMOV A, Ri片内RAM内容送累加器MOV direct2 ,直接寻址字节内容送另直接directi寻址字节

7、MOVX A Ri片外RAM内容送累加器MOVX A,D PTR片外RAM内容送累加器MOVX Ri A累加器内容送片外RAMMOVX DP TR,A累加器内容送片外RAMMOVC A,A+D PTR相对数据指针内容送累加器P USH direct直接寻址字节内容压入栈MOVC A,A+ PC相对程序计数器内容送累加器POP direct顶XCH A,R n累加器内容与奇存器内容交换SWAP A栈顶内容弹出到直接寻址XCH A,Ri累加器与片内RAM交换内容字节XCH A,direct累加器与直接寻址字节交换内累加器交换咼半字节和低XCHD A,Ri容累加器与片内节内容RAM交换低半字半字节传

8、送类指令:助记符操作功能助记符操作功能ADD A,R n寄存器内容与累加器内容相加SUBB A,R n累加器内容减寄存器与进位位内容ADD A,Ri片内RAM与累加器内容相加SUBB A,Ri累加器内容减片内 RAM与进位位内ADD A,direct直接寻址字节与累加器内容相SUBB容ADD A,#data加A,direct累加器内容减直接寻址字节与进位ADDC A,R n立即数与累加器内容相加SUBB位内容ADDC A,Ri寄存器与累加器与进位位内容A,#data累加器内容减立即数与进位位内容ADDC相加A,direct片内RAM与累加器与进位位相ADDC A,#data加直接寻址字节与累加

9、器与进位位相加立即数与累加器与进位位相加INC A累加器内容加1DEC A累加器内容减1INC R0寄存器内容加1DEC Rn寄存器内容减1INC Ri片内RAM内容加1DEC Ri片内RAM内容减1INC directINC DPTR直接寻址字节内容加1数据指针寄存器内容加1DEC directDA A累加器内容十进制调整MUL AB累加器内容乘寄存器 B内容DIV AB累加器内容除寄存器 B内容直接寻址字节内容减1逻辑操作类指令:助记符操作功能助记符操作功能ANL A,R n寄存器内容与累加器内容ORL A,R n寄存器内容或累加器内容ANL A,Ri片内RAM内容与累加器内容ORL A,

10、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直接寻

11、址字节内容异或累加XRL direct ,A器内容XRL A,#data累加器内容异或直接寻址字XRL direvt ,节内容#data立即数异或累加器内容立即数异或直接寻址字节内RL ARR ARLC ARRC A累加器内容向左环移1位累加器内容向右环移1位累加器内容带进位位向左环累加器内容带进位位向右环控制转移类指令:助记符操作功能助记符操作功能AJMP addr11LJMP addr16SJMP relJMP A+D PTRCJNERi, #data,relDJNZRn, relDJNZdirect ,rel绝对转移长转移相对短转移相对长转移寄存器内容减1不为零转移Direct内容减1不

12、为零转移JZ relJNZ relCJNEA,directrelCJNErelCJNErel累加器内容为零转移累加器内容不为零转移累加器内容与直接寻址字节内容不等转移A,#data ,Rn, #data,ACALL addr11LCALL addr16累加器内容与立即数不等转移寄存器内容与立即数不等转移绝对调子长调子RETRETI返回主程序中断返回主程序NOP空操作位操作类指令:助记符操作功能助记符操作功能MOV Gbit直接寻址位内容送进位位CPL C进位位取反MOV bit , C进位位内容送直接寻址位CLR C进位位清零SETB C进位位置位CPL bit直接寻址位取反CLR bit直接

13、寻址位清零SETB bit直接寻址位置位ANL C,bit直接寻址位内容与进位位内容ORL C,bit直接寻址位内容或进位位内容ANL C,/bit直接寻址位的反与进位位内容ORL C,/bit直接寻址位的反或进位位内容JC rel进位位为1转移JNC rel进位位不为1转移JB bit , rel直接寻址位为1转移JNB bit,rel直接寻址位不为1转移JBC bit , rel直接寻址位为1转移且该为清零般常用程序模式:1、幵始程序:ORG 0000HJMP 0030HORG 0030H2、软件延时子程序: YANSHI: MOV R7,#25D1: MOVR6,#50DJNZR5,$DJNZR6,D2DJNZR7,D1RET若12M晶振则延时时长约为:25X50X200X2X1025X50X200X2X2X10-6s3、硬件延时子程序:(1 )查询方式:YANSHI:MOVTMOD,#01HMOVR0,#20UP:MOVTH0,#3CHMOVTL0,#0B0HSETBTR0JNBTF0,$CLRTF0DJNZR0, UPD2: MOVR5,#200若需要更长的延时只需要改变X50ms ,RET即为一秒,0中断此延时程序为20(

温馨提示

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

评论

0/150

提交评论