(完整版)快速入门单片机汇编语言_第1页
(完整版)快速入门单片机汇编语言_第2页
(完整版)快速入门单片机汇编语言_第3页
(完整版)快速入门单片机汇编语言_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

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

2、。但在实际应用中通常作为地址信号的负跳变锁存到外部地址锁存器中,/ 数据总线口,而高 8位地P1 口( p1.0 p1.7):其每一位都能作为可编程的输入或输出线。P2 口( p2.0 p2.7):每一位也都可作为输入或输出线用,当扩展系统外设时,可作为扩展系统的地址总线高 8 位,与P0 口一起组成 16 位地址总线。对89c51 单片机来说, P2 口一般只作为地址总线使用,而不作为 I/O 线直接与外设相连。P3 口( p3.0 p3.7):其为双功能口,作为第一功能使用时,其功能与P1 口相同。当作为第二功能使用时,每一位功能如下表所示。P3 口第二功能引脚第二功能引脚第二功能P3.0

3、RXD 串行口数据P3.4INT0 定时器 T0 的外部输入端输入P3.1TXD 串行口数据P3.5INT1 定时器 T1 的外部输出端输入P3.2T0外部中断0 请P3.6WR 外部存储器数据写求选通信号P3.3T1外部中断1 请P3.7RD 外部存储器数据读求选通信号RstVpd :上电复位端和掉电保护端。XTAL1 ( xtal2):外接晶振一脚,分别接晶振的一端。Gnd:电源地。Vcc :电源正级,接+5V 。PROGALE :地址锁存控制端PSEN:片外程序存储器读选通信号输出端,低电平有效。EAvpp :访问外部程序储存器控制信号,低电平有效。当EA 为高电平时访问片内存储器,若超

4、出范围则自动访问外部程序存储器。当EA 为低电平时只访问外部程序存储器。二、常用指令及其格式介绍:1、指令格式: 标号: 操作码目的操作数 ,操作源 ;注释 例如: LOOP:ADDA,#0FFH;( A) (A)+FFH2 、常用符号:Ri 和 Rn : R 表示工作寄存器,i 表示 1 和 0, n 表示 07 。rel :相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。#data :包含于指令中的8 位立即数。#data16 :包含于指令中的16 位立即数。addr16 :16 位目的地址。direct :直接寻址的地址。bit :内部数据存储器RAM 和特殊功能寄存器

5、SFR 中的可直接寻址位地址。 :间接寻址寄存器或基地址寄存器的前缀。( X ):表示 X 中的内容。( X ):表示由X 寻址的单元中的内容,也就是(X)作地址,该地址的内容用( X)表示。3、常用伪指令:ORG :规定目标程序段或数据块的起始地址。格式: ORG+ 空格 +地址例如: ORG0000HEND :结束指令,放在程序的末尾,单独使用,一段程序只用一次。DB (定义字节):从指定地址单元开始,定义若干字节存储单元并赋初始值。4、常用寻址方式:直接寻址:MOVA ,30H立即数寻址: MOVA ,#20H寄存器间接寻址:MOVA , Ri ( i=1 , 2)基址加变址寄存器寻址:

6、MOVA, A+DPTR寄存器寻址: MOVA ,Rn ( n=0 7)5、指令大集合:传送类指令:助记符MOV A ,#data MOV Rn,#data MOV Ri ,#data MOV direct , #data MOV DPTR , #data16MOV Rn,direct MOV A ,direct MOV Ri ,direct MOV direct2 , direct1操作功能助记符操作功能立即数送累加器MOVdirect,Rn寄存器内容送直接寻址字节立即数送寄存器MOVA, Rn寄存器内容送累加器立即数送片内 RAMMOVRn, A累加器内容送寄存器立即数送直接寻址字节MOV

7、direct,A累加器内容送直接寻址字节16 位立即数送数据指针寄存器MOVRi , A累加器内容送片内 RAM直接寻址字节内容送寄存器MOVdirect,Ri片内 RAM 内容送直接寻址字节直接寻址字节送累加器MOVA, Ri片内 RAM 内容送累加器直接寻址内容送片内 RAM直接寻址字节内容送另一直接寻址字节MOVXA , RiMOVXRi , AMOVC A,A+DPTR MOVC A,A+PC XCH A,Rn XCH A,Ri XCH A,direct XCHD A,Ri片外 RAM 内容送累加器累加器内容送片外 RAM 相对数据指针内容送累加器相对程序计数器内容送累加器累加器内容与

8、寄存器内容交换累加器与片内 RAM 交换内容累加器与直接寻址字节交换内容累加器与片内RAM 交换低半字节内容MOVX A,DPTR MOVX DPTR,A PUSH direct POP directSWAPA片外 RAM 内容送累加器累加器内容送片外 RAM 直接寻址字节内容压入栈顶栈顶内容弹出到直接寻址字节累加器交换高半字节和低半字节传送类指令:助记符ADD A,Rn ADD A,Ri ADD A,directADDA,#dataADDCA,RnADDCA,RiADDCA,directADDCA,#dataINCAINCR0INC Ri INC directINC DPTR DA A MU

9、L AB DIV AB操作功能寄存器内容与累加器内容相加片内 RAM 与累加器内容相加直接寻址字节与累加器内容相加立即数与累加器内容相加寄存器与累加器与进位位内容相加片内 RAM 与累加器与进位位相加直接寻址字节与累加器与进位位相加立即数与累加器与进位位相加累加器内容加1寄存器内容加1片内 RAM 内容加 1直接寻址字节内容加1数据指针寄存器内容加1累加器内容十进制调整累加器内容乘寄存器B 内容累加器内容除寄存器B 内容助记符操作功能SUBBA,Rn累加器内容减寄存器与进位位内容SUBBA,Ri累加器内容减片内 RAM 与进位位内容SUBB累加器内容减直接寻址字节与进位位内容A,direct累

10、加器内容减立即数与进位位内容SUBBA,#dataDECA累加器内容减1DECRn寄存器内容减1DECRi片内 RAM 内容减 1DECdirect直接寻址字节内容减 1逻辑操作类指令:助记符ANL A,Rn ANL A,Ri ANL A,directANLdirect ,AANLA,#dataANLdirect ,#dataXRLA,RnXRLA,RiXRLA,directXRLdirect , AXRLA,#dataXRLdirevt ,#dataRLARR ARLC ARRCA控制转移类指令:操作功能寄存器内容与累加器内容片内 RAM 内容与累加器内容直接寻址字节内容与累加器内容累加器内

11、容与直接寻址字节内容立即数与累加器内容立即数与直接寻址字节内容寄存器内容异或累加器内容片内 RAM 内容异或累加器内容直接寻址字节内容异或累加器内容累加器内容异或直接寻址字节内容立即数异或累加器内容立即数异或直接寻址字节内容累加器内容向左环移1 位累加器内容向右环移1 位累加器内容带进位位向左环移1 位累加器内容带进位位向右环移1 位助记符操作功能ORLA,Rn寄存器内容或累加器内容ORLA,Ri片内 RAM 内容或累加器内容ORLA,direct直接寻址字节内容或累加器内容ORLdirect,A累加器内容或直接寻址字节内容ORLA,#data立即数或累加器内容ORLdirect , #dat

12、a立即数或直接寻址字节内容CPLA累加器内容取反CLRA累加器内容清空助记符AJMPaddr11LJMPaddr16SJMPrelJMPA+DPTR操作功能助记符操作功能绝对转移JZ rel累加器内容为零转移长转移JNZrel累加器内容不为零转移相对短转移CJNEA,direct , rel累加器内容与直接寻址字节内容不等转移相对长转移CJNEA,#data , rel累加器内容与立即数不等转移CJNERn ,#data, rel寄存器内容与立即数不等转移CJNERi ,#data,rel片内 RAM 内容与立即数不等转移ACALLaddr11DJNZRn, rel寄存器内容减 1 不为零转移

13、LCALLaddr16DJNZdirect , relDirect 内容减 1 不为零转移RET返回主程序NOPRETI中断返回主程序位操作类指令:助记符操作功能助记符MOVC,bit直接寻址位内容送进位位CPLCMOVbit ,C进位位内容送直接寻址位CLRCSETBCCPLbitCLRbitSETBbitANLC,bitORLC,bitANLC,/bitORLC,/bitJCrel进位位为 1 转移JNCrel进位位不为 1 转移JBbit , rel直接寻址位为1转移JNBbit,rel直接寻址位不为1 转移JBCbit, rel直接寻址位为1转移且该为清零绝对调子长调子空操作操作功能进

14、位位取反进位位清零进位位置位直接寻址位取反直接寻址位清零直接寻址位置位直接寻址位内容与进位位内容直接寻址位内容或进位位内容直接寻址位的反与进位位内容直接寻址位的反或进位位内容三、一般常用程序模式:1、开始程序:ORG0000HJMP0030HORG0030H2、软件延时子程序:YANSHI:MOVR7,#25D1:MOVR6,#50D2:MOVR5,#200DJNZR5,$DJNZR6,D2DJNZR7,D1RET若 12M 晶振则延时时长约为:25×50×200×2×10 -6 s,若为 6M 晶振则延时时长为:25×50×200×2×2×10 -6s3 、硬件延时子程序: ( 1)查询方式:YANSHI:MOVTMOD,#01HMOVR0,#20UP:MOVTH0,#3CHMOVTL0,#0B0HSETBTR0JNBTF0,$CLRTF0DJNZR0,UPRET此延时程序为20( R0 ) 

温馨提示

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

评论

0/150

提交评论