免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
快速入门单片机汇编快速入门单片机汇编语言语言编程编程 简要 简要 单片机有通用型和专用型之分 专用型是厂家为固定程序的执行专门开发研制的一种单片机 其程序不 可更改 通用型单片机是常用的一种供学习或自主编制程序的单片机 其程序需要自己写入 可更改 单片 机根据其基本操作处理位数不同可以分为 1 位 4 位 8 位 16 32 位单片机 正文 正文 在此我们主要讲解美国 ATMEL 公司的 89C51 单片机 一 89C51 单片机 PDIP 双列直插式 封装引脚图 其引脚功能如下 P0 口 p0 0 p0 7 为双向三态口 可以作为输入 输出口 但在实际应用中通常作为地址 数据总线 口 即为低 8 位地址 数据总线分时复用 低 8 位地址在 ALE 信号的负跳变锁存到外部地址锁存器中 而高 8 位地址由 P2 口输出 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 RXD 串行口数据 输入端 P3 4 INT0 定时器 T0 的外部 输入 P3 1 TXD 串行口数据 输出端 P3 5 INT1 定时器 T1 的外部 输入 P3 2 T0 外部中断 0 请 求 P3 6 WR 外部存储器数据写 选通信号 P3 3 T1 外部中断 1 请 求 P3 7 RD 外部存储器数据读 选通信号 Rst Vpd 上电复位端和掉电保护端 XTAL1tal1 xtal2 外接晶振一脚 分别接晶振的一端 Gnd 电源地 Vcc 电源正级 接 5V PALE PROG ALE 地址锁存控制端 PSEN 片外程序存储器读选通信号输出端 低电平有效 EA vpp 访问外部程序储存器控制信号 低电平有效 当 EA 为高电平时访问片内存储器 若超出范围 则自动访问外部程序存储器 当 EA 为低电平时只访问外部程序存储器 2 二 常用指令及其格式介绍 1 指令格式 标号 操作码 目的操作数 操作源 注释 例如 LOOP ADD A 0FFH A 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 表 示 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 0 7 5 指令大集合 传送类指令 助记符操作功能助记符操作功能 MOV A data MOV Rn data MOV Ri data MOV direct data MOV DPTR data16 立即数送累加器 立即数送寄存器 立即数送片内 RAM 立即数送直接寻址字节 16 位立即数送数据指针寄存器 MOV direct Rn MOV A Rn MOV Rn A MOV direct A MOV Ri A 寄存器内容送直接寻址字节 寄存器内容送累加器 累加器内容送寄存器 累加器内容送直接寻址字节 累加器内容送片内 RAM MOV Rn direct MOV A direct MOV Ri direct MOV direct2 direct1 直接寻址字节内容送寄存器 直接寻址字节送累加器 直接寻址内容送片内 RAM 直接寻址字节内容送另一直接寻址字 节 MOV direct Ri MOV A Ri 片内 RAM 内容送直接寻址字节 片内 RAM 内容送累加器 MOVX A Ri MOVX Ri A 片外 RAM 内容送累加器 累加器内容送片外 RAM MOVX A DPTR MOVX DPTR A 片外 RAM 内容送累加器 累加器内容送片外 RAM MOVC A A DPTR MOVC A A PC XCH A Rn XCH A Ri 相对数据指针内容送累加器 相对程序计数器内容送累加器 累加器内容与寄存器内容交换 累加器与片内 RAM 交换内容 PUSH direct POP direct SWAP A 直接寻址字节内容压入栈顶 栈顶内容弹出到直接寻址字节 累加器交换高半字节和低半字 节 XCH A direct XCHD A Ri 累加器与直接寻址字节交换内容 累加器与片内 RAM 交换低半字节内容 传送类指令 助记符操作功能助记符操作功能 ADD A Rn ADD A Ri ADD A direct ADD A data ADDC A Rn ADDC A Ri ADDC A direct ADDC A data 寄存器内容与累加器内容相加 片内 RAM 与累加器内容相加 直接寻址字节与累加器内容相加 立即数与累加器内容相加 寄存器与累加器与进位位内容相加 片内 RAM 与累加器与进位位相加 直接寻址字节与累加器与进位位相加 立即数与累加器与进位位相加 SUBB A Rn SUBB A Ri SUBB A direct SUBB A data 累加器内容减寄存器与进位位内容 累加器内容减片内 RAM 与进位位内容 累加器内容减直接寻址字节与进位位内容 累加器内容减立即数与进位位内容 INC A INC R0 INC Ri INC direct INC DPTR 累加器内容加 1 寄存器内容加 1 片内 RAM 内容加 1 直接寻址字节内容加 1 数据指针寄存器内容加 1 DEC A DEC Rn DEC Ri DEC direct 累加器内容减 1 寄存器内容减 1 片内 RAM 内容减 1 直接寻址字节内容减 1 DA A MUL AB DIV AB 累加器内容十进制调整 累加器内容乘寄存器 B 内容 累加器内容除寄存器 B 内容 逻辑操作类指令 助记符操作功能助记符操作功能 ANL A Rn ANL A Ri ANL A direct ANL direct A ANL A data ANL direct data 寄存器内容与累加器内容 片内 RAM 内容与累加器内容 直接寻址字节内容与累加器内容 累加器内容与直接寻址字节内容 立即数与累加器内容 立即数与直接寻址字节内容 ORL A Rn ORL A Ri ORL A direct ORL direct A ORL A data ORL direct data 寄存器内容或累加器内容 片内 RAM 内容或累加器内容 直接寻址字节内容或累加器内容 累加器内容或直接寻址字节内容 立即数或累加器内容 立即数或直接寻址字节内容 XRL A Rn XRL A Ri XRL A direct XRL direct A XRL A data XRL direvt data 寄存器内容异或累加器内容 片内 RAM 内容异或累加器内容 直接寻址字节内容异或累加器内容 累加器内容异或直接寻址字节内容 立即数异或累加器内容 立即数异或直接寻址字节内容 CPL A CLR A 累加器内容取反 累加器内容清空 RL A RR A RLC A RRC A 累加器内容向左环移 1 位 累加器内容向右环移 1 位 累加器内容带进位位向左环移 1 位 累加器内容带进位位向右环移 1 位 控制转移类指令 助记符操作功能助记符操作功能 AJMP addr11 LJMP addr16 SJMP rel JMP A DPTR 绝对转移 长转移 相对短转移 相对长转移 JZ rel JNZ rel CJNE A direct rel CJNE A data rel 累加器内容为零转移 累加器内容不为零转移 累加器内容与直接寻址字节内容不等转移 累加器内容与立即数不等转移 CJNE Rn data rel 寄存器内容与立即数不等转移 CJNE Ri data rel DJNZ Rn rel DJNZ direct rel 片内 RAM 内容与立即数不等转移 寄存器内容减 1 不为零转移 Direct 内容减 1 不为零转移 ACALL addr11 LCALL addr16 绝对调子 长调子 RET RETI 返回主程序 中断返回主程序 NOP空操作 位操作类指令 助记符操作功能助记符操作功能 MOV C bit MOV bit C 直接寻址位内容送进位位 进位位内容送直接寻址位 CPL C CLR C SETB C CPL bit CLR bit SETB bit ANL C bit ORL C bit ANL C bit ORL C bit 进位位取反 进位位清零 进位位置位 直接寻址位取反 直接寻址位清零 直接寻址位置位 直接寻址位内容与进位位内容 直接寻址位内容或进位位内容 直接寻址位的反与进位位内容 直接寻址位的反或进位位内容 JC rel JNC rel JB bit rel JNB bit rel JBC bit rel 进位位为 1 转移 进位位不为 1 转移 直接寻址位为 1 转移 直接寻址位不为 1 转移 直接寻址位为 1 转移且该为清零 3 一般常用程序模式 1 开始程序 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 即
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美团营销服务合同范本
- 2025年小学三年级数学上学期计算专项训练
- 监控运维维修合同范本
- 网合同补充协议书范本
- 衣柜定制定金合同范本
- 酒店做婚礼堂合同范本
- 物业报修货梯合同范本
- 美容院转租合同协议书
- 火车委托订车合同范本
- 礼炮烟花买卖合同范本
- 2025医疗机构志愿者服务体系管理与社会责任履行报告
- 【2025年】办公室文员测试题库及参考答案
- 2025年6月江苏扬州经济技术开发区区属国有企业招聘素质测试(初试)笔试考试备考试题及答案解析
- 2025贵州毕节市金沙县国有资本投资运营集团有限公司招聘笔试及笔试历年备考题库附带答案详解2卷
- 福建省厦门市大同中学2025-2026学年高二物理第一学期期末统考试题含解析
- 公司城市轨道交通行车值班员招聘考核试卷及答案
- 国民经济和社会发展第十五五年规划解读
- 分期购车的合同范本
- 2025至2030废旧手机行业项目调研及市场前景预测评估报告
- 箱变移位施工合同协议
- 智启氢程:AI技术在氢能领域的应用研究
评论
0/150
提交评论