




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、快速入门单片机汇编语言编程简要:单片机有通用型和专用型之分。专用型是厂家为固定程序的执行专门开发研制的一种单片机,其程序不可更改。通用型单片机是常用的一种供学习或自主编制程序的单片机,其程序需要自己写入,可更改。单片机根据其基本操作处理位数不同可以分为:1位、4位、8位、16、32位单片机。正文:在此我们主要讲解美国ATMEL公司的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.0RXD串行口数据输入端P3.4INT0定时器T0的外部输入P3.1TXD串行口数
3、据输出端P3.5INT1定时器T1的外部输入P3.2T0外部中断0请求P3.6WR外部存储器数据写选通信号P3.3T1外部中断1请求P3.7RD外部存储器数据读选通信号RstVpd:上电复位端和掉电保护端。XTAL1tal1(xtal2):外接晶振一脚,分别接晶振的一端。Gnd:电源地。Vcc:电源正级,接+5V。PALEPROG:ALE:地址锁存控制端PSEN:片外程序存储器读选通信号输出端,低电平有效。EAvpp:访问外部程序储存器控制信号,低电平有效。当EA为高电平时访问片内存储器,若超出范围 则自动访问外部程序存储器。当EA为低电平时只访问外部程序存储器。2、 二、常用指令及其格式介绍
4、:1、 指令格式: 标号:操作码 目的操作数,操作源;注释 例如:LOOP:ADD A,#0FFH ;(A)(A)+FFH2、 常用符号: Ri和Rn:R表示工作寄存器,i表示1和0,n表示07。 rel:相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。 #data:包含于指令中的8位立即数。 #data16:包含于指令中的16位立即数。 addr16:16位目的地址。 direct:直接寻址的地址。 bit:内部数据存储器RAM和特殊功能寄存器SFR中的可直接寻址位地址。 :间接寻址寄存器或基地址寄存器的前缀。 (X):表示X中的内容。 (X):表示由X寻址的单元中的内容,
5、也就是(X)作地址,该地址的内容用(X)表示。31、常用伪指令: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=07)5、指令大集合: 传送类指令: 助记符操作功能助记符操作
6、功能MOV A,#dataMOV Rn,#dataMOV Ri,#dataMOV direct,#dataMOV DPTR,#data16立即数送累加器立即数送寄存器立即数送片内RAM立即数送直接寻址字节16位立即数送数据指针寄存器MOV direct,RnMOV A,RnMOV Rn,AMOV direct,AMOV Ri,A寄存器内容送直接寻址字节寄存器内容送累加器累加器内容送寄存器累加器内容送直接寻址字节累加器内容送片内RAMMOV Rn,directMOV A,directMOV Ri,directMOV direct2,direct1直接寻址字节内容送寄存器直接寻址字节送累加器直接寻
7、址内容送片内RAM直接寻址字节内容送另一直接寻址字节MOV direct,RiMOV A,Ri片内RAM内容送直接寻址字节片内RAM内容送累加器MOVX A,RiMOVX Ri,A片外RAM内容送累加器累加器内容送片外RAMMOVX A,DPTRMOVX DPTR,A片外RAM内容送累加器累加器内容送片外RAMMOVC A,A+DPTRMOVC A,A+PCXCH A,RnXCH A,RiXCH A,directXCHD A,Ri 相对数据指针内容送累加器相对程序计数器内容送累加器累加器内容与寄存器内容交换累加器与片内RAM交换内容累加器与直接寻址字节交换内容累加器与片内RAM交换低半字节内容
8、PUSH directPOP directSWAP A直接寻址字节内容压入栈顶栈顶内容弹出到直接寻址字节累加器交换高半字节和低半字节传送类指令:助记符操作功能助记符操作功能ADD A,RnADD A,RiADD A,directADD A,#dataADDC A,RnADDC A,RiADDC A,directADDC A,#data寄存器内容与累加器内容相加片内RAM与累加器内容相加直接寻址字节与累加器内容相加立即数与累加器内容相加寄存器与累加器与进位位内容相加片内RAM与累加器与进位位相加直接寻址字节与累加器与进位位相加立即数与累加器与进位位相加SUBB A,RnSUBB A,RiSUBB
9、 A,directSUBB A,#data累加器内容减寄存器与进位位内容累加器内容减片内RAM与进位位内容累加器内容减直接寻址字节与进位位内容累加器内容减立即数与进位位内容INC AINC R0INC RiINC directINC DPTR累加器内容加1寄存器内容加1片内RAM内容加1直接寻址字节内容加1数据指针寄存器内容加1DEC ADEC RnDEC RiDEC direct累加器内容减1寄存器内容减1片内RAM内容减1直接寻址字节内容减1DA AMUL ABDIV AB累加器内容十进制调整累加器内容乘寄存器B内容累加器内容除寄存器B内容逻辑操作类指令:助记符操作功能助记符操作功能ANL
10、 A,RnANL A,RiANL A,directANL direct,AANL A,#dataANL direct,#data寄存器内容与累加器内容片内RAM内容与累加器内容直接寻址字节内容与累加器内容累加器内容与直接寻址字节内容立即数与累加器内容立即数与直接寻址字节内容ORL A,RnORL A,RiORL A,directORL direct,AORL A,#dataORL direct,#data寄存器内容或累加器内容片内RAM内容或累加器内容直接寻址字节内容或累加器内容累加器内容或直接寻址字节内容立即数或累加器内容立即数或直接寻址字节内容XRL A,RnXRL A,RiXRL A,d
11、irectXRL direct,AXRL A,#dataXRL direvt,#data寄存器内容异或累加器内容片内RAM内容异或累加器内容直接寻址字节内容异或累加器内容累加器内容异或直接寻址字节内容立即数异或累加器内容立即数异或直接寻址字节内容CPL ACLR A累加器内容取反累加器内容清空RL ARR ARLC ARRC A累加器内容向左环移1位累加器内容向右环移1位累加器内容带进位位向左环移1位累加器内容带进位位向右环移1位控制转移类指令:助记符操作功能助记符操作功能AJMP addr11LJMP addr16SJMP relJMP A+DPTR绝对转移长转移相对短转移相对长转移JZ r
12、elJNZ relCJNE A,direct,relCJNE A,#data,relCJNE Rn,#data,rel累加器内容为零转移累加器内容不为零转移累加器内容与直接寻址字节内容不等转移累加器内容与立即数不等转移寄存器内容与立即数不等转移CJNE Ri,#data,relDJNZ Rn,relDJNZ direct,rel片内RAM内容与立即数不等转移寄存器内容减1不为零转移Direct内容减1不为零转移ACALL addr11LCALL addr16绝对调子长调子RET RETI返回主程序中断返回主程序NOP空操作位操作类指令:助记符操作功能助记符操作功能MOV C,bitMOV bi
13、t,C直接寻址位内容送进位位进位位内容送直接寻址位CPL CCLR CSETB CCPL bitCLR bitSETB bitANL C,bitORL C,bitANL C,/bitORL C,/bit进位位取反进位位清零进位位置位直接寻址位取反直接寻址位清零直接寻址位置位直接寻址位内容与进位位内容直接寻址位内容或进位位内容直接寻址位的反与进位位内容直接寻址位的反或进位位内容JC relJNC relJB bit,relJNB bit,relJBC bit,rel进位位为1转移进位位不为1转移直接寻址位为1转移直接寻址位不为1转移直接寻址位为1转移且该为清零3、 一般常用程序模式:1、开始程序
14、:ORG 0000H JMP 0030H ORG 0030H 2、软件延时子程序:YANSHI: MOV R7,#25 D1: MOV R6,#50 D2: MOV R5,#200 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET若12M晶振则延时时长约为:25×50×200×2×10-6s,若为6M晶振则延时时长为:25×50×200×2×2×10-6s 3、硬件延时子程序:(1)查询方式: YANSHI: MOV TMOD,#01H MOV R0,#20 UP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TF0 DJNZ R0,UP RET此延时程序为20(R0)×50ms,即为一秒,若需要更长的延时只需要改变R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 量子数据精度研究-深度研究
- 公共文化服务均等化对提升国民幸福感的影响分析-深度研究
- 跨文化管理中的风险管理策略-深度研究
- 美容院美容教育入股合作合同(2025年度)
- 二零二五年度撤销房屋买卖合同的条件及合同解除后的债权债务转移协议
- 二零二五年度解除双方人工智能应用推广合同
- 二零二五年度购房合同转让及停车位租赁管理协议
- 二零二五年度拆除爆破作业安全责任合同
- 2025年度烟酒产品绿色包装与环保物流合同
- 2025年度无财产分割协议及离婚后共同财产管理及子女抚养执行合同
- 企业人才发展委员会章程
- 消防气体灭火技术交底记录
- 医院感染管理组织架构图
- 冠心病病人的护理ppt(完整版)课件
- 专用夹具设计说明书
- 气缸选型介绍.ppt课件
- 水上危险化学品泄漏事故处置技术研究
- 数字电子技术基础第1章--康华光-第五版
- 国内汽车产销数据四个统计口径数据利益链
- 消防设施检测内容及流程
- 零序保护整定说明
评论
0/150
提交评论