ImageVerifierCode 换一换
格式:DOC , 页数:53 ,大小:511.94KB ,
资源ID:9462650      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9462650.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(单片机原理及应用.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机原理及应用.doc

1、 任课教师:孟建华 08级自动化04班 单片机原理及应用 2.1基本结构 基本组成 中央处理器 (CPU) 存储器 输入/输出接口 CPU 字长8位 00H ~ 0FFH 无符号数 0 ~ 255 有符号数 -128 ~ 127 寻址空间16位地址 64KB×2 工作频率0 ~ 40MHz 程序存储器 0 / 4KB / 8KB ROM / PROM (OTP

2、) (UV)EPROM / E2PROM / FLASH 数据存储器 128B / 256B SRAM 特殊功能寄存器(SFR) 21 (26)个 控制管理片内各功能模块 并行口 4个8位并行双向I/O接口电路 P0、P1、P2、P3 串行口(UART) 1个串行全双工异步接口 4种工作方式 定时/计数器 2 / 3个 16位 0000H ~ 0FFFFH 65536 4种工作方式 中断系统 5 / 6个中断源 2个中断优先级 时钟电路 片内振荡器及时钟产生电路 需外接晶振 总线结构 布尔处理机

3、 实现位操作 命名方式 N N C N N │ │ │ │ │ │ │ │ │ 1 -51子系列 │ │ │ │ 2 -52子系列 增强型 │ │ │ 3 片内无程序存储器 │ │ │ 5 片内有程序存储器 │ │ NMOS或HMOS │ │ C CMOS或CHMOS(低功耗) │ │ S 支持ISP(在线编程) │ 0 掩模ROM │ 7 (UV)EPROM │ 9 FLASH 8 数据 存储器 程序 存储器 定时/计数器 中断源 -51 128B 4KB 2 5 -52 25

4、6B 8KB 3 6 8031 8051 8751 89C51 89S52 2.2引脚 封装形式 DIP (Double In-line Package) 双列直插式 PLCC LQFP 引脚功能 40条引脚 电源线(2条) VCC 电源线 +5V VSS 接地线 GND 时钟引脚(2条) XTAL1和XTAL2 Crystal 片内振荡电路输入输出端 有生命,生物,心跳 端口线(8 × 4 = 32条) 4个8位并行I/O端口 P0、P1、P2、P3 单片模式 扩展模式 P0 I/O口 数据

5、总线 低8位地址总线 (分时复用) P1 I/O口 I/O口 P2 I/O口 高8位地址总线 第二功能 注 释 P3.0 RXD 串行数据接收口 P3.1 TXD 串行数据发送口 P3.2 INT0(_________) 外部中断0输入口 P3.3 INT1(_________) 外部中断1输入口 P3.4 T0 计数器0计数脉冲输入口 P3.5 T1 计数器1计数脉冲输入口 P3.6 WR(_______) 片外数据存储器写选通信号输出口 P3.7 RD(______) 片外数据存储器读选通信号输出口

6、 控制线(4条) RST / VPD (9) Reset 复位信号输入端 单片机正常工作的保证 24个时钟周期的高电平 12MHz 1/12μs 2μs 上电复位 手动复位 VPD Voltage Power Down 备用电源 EA(_____) / VPP (31) External Access Enable 片外程序存储器访问允许输入端 EA(_____)=0时,CPU访问片外程序存储器 EA(_____)=1时,CPU访问片内程序存储器 VPP Voltage Pulse of Programming 编程电源 ALE /

7、PROG(___________) (30) Address Latch Enable 地址锁存允许信号输出端 单片机上电正常工作后,ALE引脚不断向外输出正脉冲信号,频率为振荡器频率fosc的1/6。12MHz 2 MHz CPU访问片外存储器时,该信号作为将P0口输出的低8位地址锁存到片外地址锁存器中的控制信号。 ALE = 1 P0地址总线 ALE = 0 P0数据总线 PROG(_________) Programming 编程脉冲输入端 编程器、烧录器、写入器 PSEN(___________) (29) Program Store Enable

8、片外程序存储器读选通信号输出端 应用模式 工作状态 单片模式 扩展模式 编程状态 2.3存储器配置 哈佛结构 MCS-51单片机 程序存储器和数据存储器分开设计。 普林斯顿结构 微机 只有一个地址空间,程序和数据可以随意安排在这一地址范围内不同的空间。 程序存储器 (ROM) 指令、常数 掉电不失 数据存储器 (RAM) 数据 可用程序改写 在单片机内部,程序存储器和数据存储器存贮器是分开制造的。通常,程序存储器的容量较大,数据存储器的容量较小,这是单片机用作控制的一大特点。 程序存储器 数据存储器 片

9、内 4KB 128B 片外 64KB 64KB 物理上有4个存储空间 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 逻辑上有3个存储空间 片内外统一编址的程序存储器 MOVC 片内数据存储器 MOV 片外数据存储器 MOVX 程序存储器 EA(_____) 输入引脚 E(___)A(___) = 0 访问片外程序存储器 E(___)A(___) = 1 访问片内程序存储器 程序计数器PC 16位程序地址寄存器,专门用来存放下一条需

10、要执行指令的地址,能自动加1。 PC指示程序执行的位置 PC中存放的是程序存储器的地址 PC中存放下一条将要执行的指令的地址 复位后 PC = 0000H 寻址范围:0000H ~ 0FFFFH 64KB 65536B 入口地址 入口地址 复位 0000H INT0(_________) 0003H T0 000BH INT1(_________) 0013H T1 001BH 串行口 0023H T2 002BH 通常,在入口地址处写一条跳转指令,跳转至服务程序。 0000H

11、 LJMP 0030H 0003H LJMP 1000H ┇ 000BH LJMP 2000H ┇ 0030H 主程序 ┇ 1000H INT0中断服务程序 ┇ RETI 2000H T0中断服务程序 MOVC 常数 MOVC指令 MOV DPTR, #2000H MO

12、V A, #08H MOVC A, @A+DPTR 片外数据存储器 最大64KB 0000H ~ 0FFFFH 只可用MOVX指令 间接寻址方式访问 读: MOV DPTR, #2008H MOVX A, @DPTR 写: MOV A, #12H MOV DPTR, #2008H MOVX @DPTR, A 片外数据存储器与片外I/O设备统一编址 (如A/D、D/A、I/O芯片等) 片内数据存储器(低128B) 地址范围:00H ~ 7FH 通用数据区 (30H~7FH) 80个字节 用于存放的用户数据或作堆栈区使用。 读: M

13、OV A, 30H ;直接寻址 MOV R0, #30H MOV A, @R0 ;间接寻址 INC R0 写: MOV A, #12H MOV 30H, A 位寻址区 (20H~2FH) 16个字节 即可按字节寻址,又可按位寻址 8 × 16 = 128位 用途: 开关决策、逻辑电路仿真、实时控制 位地址空间:00H ~ 7FH 位操作指令: SETB CLR CPL JB JNB 2FH字节的位地址: D7 D0 7FH 7EH 7DH 7CH 7BH 7AH

14、79H 78H 将2FH字节的最高位置“1” 不能影响其它位 SETB 7FH ORL 2FH, #10000000B MOV 2FH, #10000000B 最高位清“0” CLR 7FH ANL 2FH, #01111111B 若 2FH 字节的最高位为“1”, 则跳转到LED_ON JB 7FH, LED_ON 若 2FH 字节的最高位为“0”, 则跳转到LED_OFF JNB 7FH, LED_OFF 工作寄存器区 (00H~1FH) 32个字节 4个工作

15、寄存器组 每组8个工作寄存器 R0 ~ R7 由RS1、RS0两位决定目前使用哪组工作寄存器 RS1 RS0 组号 0 0 0 0 1 1 1 0 2 1 1 3 方便快速保护现场 主程序(0组) MOV R0, #12H ;(00H)←12H (程序中断) INC R0 中断服务程序(2组) PUSH PSW SETB RS1 CLR RS0 ; bank2 MOV R0, #34H ;(10H)←34H ┇ POP PSW RE

16、TI 工作寄存器的功能: MOV R0, #30H MOV A, @R0 ;间接寻址 寄存器与存储器的区别: 存储器:容量大 速度慢 有地址 寄存器:容量小 速度快 有名字 MCS-51 统一编址 速度一致 MOV A, R0 ;1 byte MOV A, 00H ;2 bytes 片内数据存储器(高128B) 地址范围:80H ~ 0FFH 仅52子系列有 只可用间接寻址方式访问 MOV R0, #80H MOV A, @R0 ;间接寻址 MOV A, 80H ;直接寻址SF

17、R 特殊功能寄存器(SFR) 地址范围:80H ~ 0FFH 只可用直接寻址方式访问 21个 51子系列 26个 52子系列 离散分布 控制、管理各个功能模块(中断、定时器、串行口……) 控制寄存器 状态寄存器 数据寄存器 符号 寄存器名称 地址 ACC 累加器 0E0H B B寄存器 0F0H PSW 程序状态字 0D0H SP 堆栈指针 81H DPL 数据指针低8位 82H DPH 数据指针高8位 83H P0 P0口寄存器 80H P1 P1口寄存器 90H P2 P2口寄存器 0A0H P3

18、 P3口寄存器 0B0H IE 中断允许控制寄存器 0A8H IP 中断优先控制寄存器 0B8H TMOD 定时器方式选择寄存器 89H TCON 定时器控制寄存器 88H TL0 定时器0低8位 8AH TH0 定时器0高8位 8CH TL1 定时器1低8位 8BH TH1 定时器1高8位 8DH SCON 串行口控制寄存器 98H SBUF 串行数据缓冲寄存器 99H PCON 电源控制及波特率选择寄存器 87H 累加器ACC (Accumulator) 具有特殊用途的8位寄存器 专门用来存放操作数或运算结果

19、 3 + 5 = ? MOV A, #3 ; A = 3 ADD A, #5 ; A = 3 + 5 通用寄存器B (General Purpose Register) 8位 专门为乘法和除法设置的寄存器 3 × 5 = ? MOV A, #3 ; A = 3 MOV B, #5 ; B = 5 MUL AB ; BA←A×B 程序状态字PSW (Program Status Word) 8位标志寄存器 用来存放指令执行后的有关状态 可按位寻址 D7 D0 CY AC F0 RS1 RS0

20、 OV - P CY 进位标志位 OV 溢出标志位 AC 半进位位(辅助进位位) 二进制加法 无符号数 有符号数 1111 1111 255 -1 +) 0000 0001 +) 1 +) 1 1 1111 111 0000 0000 256 0 CY=1 最高进位位(进位标志位) (无符号数运算溢出标志位) CS=1 次高进位位 AC=1 半进位位(辅助进位位) (用于BCD码调整) O

21、V=0 溢出标志位 = CYCS (有符号数运算溢出标志位) F0 用户位 RS1、RS0 工作寄存器组 选择控制位 P 奇偶标志位 偶校验 串行通信差错控制 注意标志位(状态位)和控制位区别 标志位(状态位) 指示灯 由硬件系统根据运行状态自动置“1”或清“0”,供用户通过指令查询、判断,决定程序的执行顺序。 CY、AC、OV、P 控制位 开关 由用户通过指令置“1”或清“0”,以控制相应的硬件功能模块。 RS0、RS1 TR1 TR0 写 读 标志位 硬件 软件 控制位 软件 硬件 写控制

22、位: SETB RS1 ; RS1 = 1 CLR RS0 ; RS0 = 0 判断标志位: JB OV, Overflow ;若OV=1则跳转到 Overflow JNB OV, NOT_Overflow ;若OV=0则跳转到 NOT_Overflow 堆栈指针SP (Stack Pointer) 8位寄存器 专门用来存放堆栈的栈顶地址 能自动加1和减1 堆栈是一种按 “后进先出”规律存取数据的存储区域 处理中断、子程序调用 栈区:片内RAM低128B 不可对任意地址操作 堆栈的操作 压栈(入栈) PUSH 弹栈(出栈) P

23、OP SP先加一,再入栈(向上生成) 复位后 SP = 07H 修改到 SP = 2FH MOV SP, #2FH 数据指针DPTR (Data Pointer) 16位寄存器 由两个8位寄存器DPH和DPL拼装而成 用来存放16位地址。 用于访问程序存储器和片外数据存储器 访问程序存储器 MOV DPTR, #2000H MOV A, #08H MOVC A, @A+DPTR 访问片外数据存储器 MOV DPTR, #2008H MOVX A, @DPTR MOV A, #12H MOV DPTR, #2008H

24、 MOVX @DPTR, A 端口P0 ~ P3 寄存器 端口 端口 字节单元 P1 引脚 位 P1.0 输出锁存、输入缓冲 MOV P1, #12H MOV A, #12H SETB P1.0 SETB ACC.0 字节地址可被8整除的寄存器可按位寻址 最低位位地址与字节地址相同 可按位寻址的寄存器: A B PSW P0 ~ P3 …… 不可按位寻址的寄存器: SP DPTR …… 地址的重叠与区分 片内程序存储器vs片外程序存储器 片外程序存储器 EA(_____) = 0 片内程序存储器

25、 EA(_____) = 1 EA(_____)输入引脚 SETB EA 程序存储器vs片内数据存储器 vs片外数据存储器 程序存储器 MOVC 片内数据存储器 MOV 片外数据存储器 MOVX 例: 访问程序存储器 MOV DPTR, #0030H MOV A, #0 MOVC A, @A+DPTR MOVC A, 0030H 访问片外数据存储器 MOV DPTR, #0030H MOVX A, @DPTR MOVX A, 0030H 访问片内数据存储器 MOV R0, #30H MOV A, @

26、R0 or MOV A, 30H 片内数据存储器高128B vs SFR 高128B 间接寻址方式 MOV R0, #80H MOV A, @R0 SFR 直接寻址方式 MOV A, P0 or MOV A, 80H 字节地址vs位地址 字节地址 字节指令 INC 30H MOV A, 30H 位地址 位指令 CPL 30H MOV C, 30H 2.4时钟 内部时钟方式 高增益反相放大器 外接晶体 0 ~ 24MHz 电容 30pF 帮助起振 XTAL1 XTAL2 外部时钟方式 时钟脉冲从

27、XTAL1或XTAL2接入 不同类型的芯片接法不一样 多个芯片同时工作 机器周期和指令周期 振荡周期 晶振振荡周期 最小时间单位 机器周期 计算机执行一种基本操作的时间单位 CPU访问一次存储器所需要的时间 1机器周期 = 12振荡周期 1μS @12MHz 6状态 (State) S1 ~ S6 2拍(相位)(Phase) P1 ~ P2 S1P1 S1P2 S2P1 S2P2 …… …… S6P1 S6P2 指令周期 执行一条指令所需的时间 1指令周期 = 1 ~ 4机器周期 时间 单周期 双周期 四周

28、期 乘除 空间 单字节 双字节 三字节 pp350 附录A CPU取指、执行时序 每个机器周期,地址锁存信号ALE有效两次,CPU可访问两次存储器 2.5复位 复位操作的主要功能 使单片机从一个稳定的初始状态开始工作 上电复位 手动复位 复位后各寄存器的状态: PC 0000H SP 07H P0~P3 0FFH (输入状态) 片内RAM 不定 SBUF 不定 其他 清“0”(功能关闭) MOV SP, #2FH 复位信号及其产生 RST引脚 复位信号: 高电平 24振荡周期 2机器周期 2

29、μs @12MHz 复位电路 上电复位 手动复位 复位芯片 2.6低功耗工作方式 便携式 电池供电 方式的设定 PCON (87H) D7 D0 SMOD - - - GF1 GF0 PD IDL 不可按位寻址 SMOD 波特率倍频位 GF1 通用标志 GF0 通用标志 PD 掉电方式位 IDL 空闲方式位 空闲(等待、待机)工作方式 CPU停止工作 其它部件工作 中断 定时器 串行口 功耗降低为20% 正常工作电流20mA 空闲状态电流5mA 进入方式: ORL PCON,

30、 #00000001B SETB IDL 退出方式: 中断 硬件复位 掉电(停机、休眠)工作方式 所有部件停止工作 片内RAM内容保留 功耗最低 电压2V 电流75μA 进入方式: ORL PCON, #00000010B SETB PD 退出方式: 硬件复位 2.7输入/输出端口 概述 4个 P0、P1、P2、P3 8位 准双向口 正确、合理使用端口 I/O口的功能 单片模式 扩展模式 P0 I/O口 数据总线 低8位地址总线 (分时复用) P1 I/O口 I/O口 P2 I/O口 高8位地址总线

31、 P3 I/O口 或 第二功能 第二功能 注 释 P3.0 RXD 串行数据接收口 P3.1 TXD 串行数据发送口 P3.2 INT0(_________) 外部中断0输入口 P3.3 INT1(_________) 外部中断1输入口 P3.4 T0 计数器0计数脉冲输入口 P3.5 T1 计数器1计数脉冲输入口 P3.6 WR(_______) 片外数据存储器写选通信号输出口 P3.7 RD(______) 片外数据存储器读选通信号输出口 I/O口的内部结构 输出 锁存器(D触发器) 驱动器(场效应管) 输

32、入 缓冲器(三态门) 引脚 特殊功能寄存器 输出: MOV A, #12H MOV P1, A 输入: MOV A, P1 输出 输入 P0 I/O口 C=0 开关向下 漏极开路式 外接上拉电阻 读引脚 先写“1” 读锁存器 总线 C=1 开关向上 推拉式 读引脚 P1 I/O口 内部有上拉电 阻的漏极开路 读引脚 先写“1” 读锁存器 P2 I/O口 开关向左 同P1 同P1 总线 开关向右 同P1 -- P3 I/O口 W=1 同P1 同P1 第二功能 Q=1

33、 漏极d 栅极g 源极s MOV P1, #0FFH MOV A, P1 MOV R1, #0FFH MOV A, R1 I/O口的读操作 读引脚 MOV A, P1 先写“1” 读锁存器 CPL P1.0 “读-修改-写”指令 输出驱动三极管 SETB P1.0 CPL P1.0 I/O口的写操作及驱动能力 MOV P1, A S6P2 写入锁存器 P0 8个LS型TTL门 P1 4 P2 4 P3 4 2.8布尔处理器 功能 位操作 开关决策 逻辑电路仿真

34、 实时控制 资源 CPU 位处理器 寄存器 位累加器CY 存储器 可按位寻址空间 (1) 片内数据存储器20H~2FH单元 (2) 部分SFR I/O口 P0.0~P0.7 P1.0~P1.7 P2.0~P2.7 P3.0~P3.7 指令 位指令 SETB 00H CLR C CPL P1.0 JB OV, Overflow 3.1指令系统概述 指令和程序设计语言 指令 指令系统 程序 程序设计 高级语言 编译 汇编语言 汇编 机器语言 A = 10 + 20 74 0A MOV A, #0AH 24

35、14 ADD A, #14H 指令格式 操作码 [操作数][,操作数][,操作数] 42个助记符 MOV ADD + 不同的寻址方式 MOV A, #12H MOV A, R0 111条指令 MOV A, Rn 255个机器码 A5除外 反汇编 破译 加密 指令分类 按字节数分类 空间 单字节指令 49条 双字节指令 45条 三字节指令 17条 学会正确计算指令字节数 按指令周期分类 时间 单周期指令 64条 双周期指令 45条 四周期指令 2条 按功能分类 数据传送 28 算术运算 24 逻辑

36、运算 25 控制转移 17 位操作 17 符号注释 Rn R0 ~ R7 工作寄存器 Ri R0、R1 地址寄存器 #data 8位立即数 #data16 16位立即数 direct 8位直接地址(片内数据存储器) addr11 11位目的地址(程序转移) addr16 16位目的地址(程序转移) rel 8位带符号数(补码 -128 ~ +127) 偏移量(程序转移) bit 直接位地址 @ 间接寻址 / 位取反 (X) X中的内容 ((X)) 由X指出的地址单元中的内容 → 数据流向 3.2寻址方式

37、 寻址方式: 如何找到操作数的地址,并提取出来的方法 直接寻址 机器码 助记符 05 30 INC 30H 85 40 30 MOV 30H, 40H MOV A, 40H MOV 30H, A 寄存器寻址 机器码中不出现操作数的地址 05 E0 INC A 04 INC A 08 INC R0 A3 INC DPTR E8 MOV A, R0 A4 MUL AB 84 DIV AB 05 90 INC P1 ;P1是寄存器,不是寄存器寻址 05 90 INC 90H E

38、5 30 MOV A, 30H E5 90 MOV A, P1 E5 F0 MOV A, B 立即数寻址 74 30 MOV A, #30H E5 30 MOV A, 30H 90 12 34 MOV DPTR, #1234H 75 30 40 MOV 30H, #40H 75 81 2F MOV SP, #2FH 寄存器间接寻址 08 INC R0 06 INC @R0 E6 MOV A, @R0 E0 MOVX A, @DPTR ;片外RAM读 F0 MOVX @DPTR, A ;片外RAM写 变址寻址 93 MO

39、VC A, @A+DPTR 83 MOVC A, @A+PC ;当前PC值 仅有的两条使用变址寻址方式的指令 仅有的两条访问程序存储器的指令 位寻址 直接寻址 C2 30 CLR 30H D2 30 SETB 30H 位地址的表达方式: 直接位地址 位名 字节名.位号 字节地址.位号 D2 D4 SETB 0D4H D2 D4 SETB RS1 D2 D4 SETB PSW.4 D2 D4 SETB 0D0H.4 D2 90 SETB P1.0 D2 D7 SETB C D3 SETB C A2 30 MOV C,

40、 30H E5 30 MOV A, 30H 相对寻址 寻找程序转移的目的地址 绝对寻址: 地址 机器码 助记符 ORG 0000H 0000 02 00 30 LJMP MAIN ORG 0030H 0030 74 12 MAIN: MOV A, #12H 相对寻址: 地址 机器码 助记符 ORG 0000H 0000 80 2E SJMP MAIN (0030H – 0002H = 2EH) 0002 ORG 0030H 0030 74 12 MAIN: MOV A,

41、12H ORG 0050H 0050 80 DE SJMP MAIN (0030H - 0052H = -22H = 0DEH) 0052 rel 8位带符号数(补码 -128 ~ +127) 偏移量(程序转移) 80 FE SJMP $ 80 FE HERE: SJMP HERE B4 12 XX CJNE A,#12H,NOT_EQU 3.3数据传送指令 28条 最基本、最主要的操作 以累加器A为目的操作数的指令 4条 MOV A, Rn MOV A, direct MOV A, @Ri

42、MOV A, #data 以寄存器Rn为目的操作数的指令 3条 MOV Rn, A MOV Rn, direct MOV Rn, #data 非法指令: MOV R1, R0 MOV R7, @R0 以直接地址为目的操作数的指令 5条 MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, @Ri MOV direct, #data [例] MOV 30H, 40H MOV A, 40H MOV 30H, A 以间接地址为目的操作数的指令

43、 3条 MOV @Ri, A MOV @Ri, direct MOV @Ri, #data 16位数据传送指令 1条 MOV DPTR, #data16 ; DPTR←data16 [例] MOV DPTR, #1234H 查表指令 2条 MOVC A, @A+DPTR ; A←((A+DPTR))ROM MOVC A, @A+PC ; A←((A+PC))ROM 仅有的两条访问程序存储器的指令 仅有的两条使用变址寻址方式的指令 [例] 程序存储器 1010H 24H 1011H 05H 1012H 16H 10

44、13H 08H ORG 1000H 1000H MOV A, #0DH 1002H MOVC A, @A+PC 1003H MOV R0, A 0DH + 1003H = 1010H (A) = 02H ORG 7010H DB 02H DB 04H DB 06H DB 08H [例] 程序存储器 7000H 65H 7010H 52H 7011H 64H 7012H 36H 7013H 78H MOV DPTR, #7000H

45、 MOV A, #12H MOVC A, @A+DPTR 累加器A与片外RAM传送指令 4条 MOVX A, @DPTR ;A←((DPTR))片外RAM MOVX @DPTR, A ;((DPTR))←(A)片外RAM MOVX A, @Ri ;A←((Ri))片外RAM MOVX @Ri, A ;((Ri))←(A)片外RAM 高8位地址由P2口决定 唯一的4条访问外部数据存储器的指令 [例] 片外RAM 1000H单元中的数 à 片外RAM 2000H单元 MOVX 2000H, 1000H MOV DPTR, #1000H

46、 MOVX A, @DPTR MOV DPTR, #2000H MOVX @DPTR, A 输入/输出指令 片外数据存储器与片外I/O设备统一编址 (如A/D、D/A、I/O芯片等) 堆栈操作指令 2条 PUSH direct ; SP←SP+1 ((SP))←(direct) 间接←直接 POP direct ; direct←((SP)) SP←SP-1 直接←间接 [例] 利用堆栈交换70H单元和71H单元的内容 MOV SP, #2FH PUSH 70H PUSH 71H

47、 POP 70H POP 71H 70H 71H X Y 错误指令 正确指令 PUSH A PUSH ACC POP A POP ACC PUSH R0 PUSH 00H POP R0 POP 00H SETB ACC.0 交换指令 4条 XCH A, Rn ;(A)ó(Rn) XCH A, direct ;(A)ó(direct) XCH A, @Ri ;(A)ó((Ri)) XCHD A, @Ri ;(A)3~0ó((Ri))3~0 [例]交换30H

48、单元和31H单元的内容 XCH 30H, 31H MOV A, 30H MOV 30H, 31H MOV 31H, A MOV A, 30H XCH A, 31H MOV 30H, A 30H 31H A X Y X Y X Y [例] 交换片外RAM 3000H单元 和片内RAM 30H单元的内容 MOV DPTR, #3000H MOVX A, @DPTR MOV R0, #30H XCH A, @R0 MOVX @DPTR, A 片外 3000H 片内

49、 30H DPTR A R0 X Y 3000H X 30H Y X Y 3.4算术运算指令 24条 加法指令 ADD A, Rn ;A←(A)+(Rn) ADD A, direct ;A←(A)+(direct) ADD A, @Ri ;A←(A)+((Ri)) ADD A, #data ;A←(A)+data [例] MOV A, #0C3H MOV R0, #0AAH ADD A, R0 二进制加法 无符号数 有符号数 1100 0011 195 -6

50、1 +) 1010 1010 +) 170 +) -86 1 0000 01 0110 1101 365 -147 CY=1 最高进位位 (无符号数运算溢出标志位) CS=0 次高进位位 AC=0 辅助进位位(半进位位) OV=1 溢出标志位 = CYCS (有符号数运算溢出标志位) 带进位加法指令 ADDC A, Rn ;A←(A)+(Rn)+CY ADDC A, direct ;A←(A)+(direct)+CY ADDC A, @Ri ;A←(A)+((

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服