8051单片机指令定义详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PSW
堆栈指针
ISP/IAP 地址生成器 程序计数器PC PCA SPI
TMP1
定时器0/1 串行口1 串行口2
WDT
LVD/LVR Control Unit
Port1锁存器
AD C
Port2,3,4, 5锁存器 Port2,3,4, 5驱动器
Port1驱动器
单片机内部结构MCS-51
MCS-51单片机与8051单片机的区别
各部分功能清单
• 1. 算术逻辑单元ALU • ALU :能进行8位二进制数的加(带进位加)、减(带借位 减)、乘、除、加1、减1及BCD加法的十进制调整等算术运算, 能进 行8位变量逻辑“与”、 “或”、 “异或”、 求补、 清零等逻辑运 算, 并有数据传送、程序转移等功能。
• 2.累加器ACC • ACC :称累加器A, 为一个8位寄存器, 它是CPU中使用最频繁的 寄存器。进入ALU作算术和逻辑运算的操作数多来自于A, 运算结果也 常送回A保存。 • 3.寄存器B • 是为ALU进行乘除法设置的。 • 4. 程序状态字寄存器PSW PSW是一个标志寄存器(8位), 它保存指令执行结果的特征信 息, 以供程序查询和判别。
STC12C5A60S2系列1T单片机简介 STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的 单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传 统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位 A/D转换(250K/S),针对电机控制,强干扰场合。1.增强型8051 CPU,1T,单时钟 /机器周期,指令代码完全兼容传统80512.工作电压:STC12C5A60S2系列工作电 压:5.5V- 3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V- 2.2V(3V单 片机)3.工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz4.用户应用 程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节......5.片上集成 1280字节RAM6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通 8051传统I/O口) 可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入 /高阻,开漏 每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过 55mA7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专 用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片8.有 EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)9. 看门狗10.内部集成 MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)11.外 部掉电检测电路:在P4.6口有一个低压门槛比较器 5V单片机为1.32V,误差为 +/-5%,3.3V单片机为1.30V,误差为+/-3%12.时钟源:外部高精度晶体/时钟,内 部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使 用内部R/C振荡器还是外部晶体/时钟
MCS-51 RAM ROM
无 EPROM/ROM
8051
AUX-RAM 无
寄存器
PC SP 其他
指令寄存器
PC增量器 SP DPTR
Control-Unit
程序计数器+PCA SPI WDT+堆栈指针
指令系统分类总结
• • • • • 1.数据传送类指令 2.算术操作类指令 3.逻辑操作类指令 4.控制转移类指令 5.布尔变量操作类指令
8051单片机指令定义详解
MOVC MOVX XRL NOP ORL POP RET RETI RL RLC RR RRC SETB SJMP SUBB SWAP XCH XCHD 把程序存储器中的代码字节数据 转送至累加器A 外部传送 字节变量的逻辑异或 空操作 两个字节变量的逻辑或运算 出栈 从子例程返回 中断返回 将累加器A中的数据位循环左移 带进位循环左移 将累加器饿数据位循环右移 带进位循环右移 置位 短跳转 带借位的减法 交换累加器的高低半字节 交换累加器和字节变量的内容 交换累加器和@Ri对应单元中的 数据的低4位
常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz 3.3V单片机 为: 8MHz~12MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误 差和温漂,以实际测试为准13.共4个16位定时器 两个与传统8051兼容的定时器/计 数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器 做串行通讯的波 特率发生器 再加上2路PCA模块可再实现2个16位定时器14. 2个时钟输出口,可由 T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟15.外部中断I/O口7 路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒, INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RxD/P3.0, CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器 设置到P4.3)16. PWM(2路)/PCA(可编程计数器阵列,2路) ---也可用来当2路 D/A使用 ---也可用来再实现2个定时器 ---也可用来再实现2个外部中断(上升 沿中断/下降沿中断均可分别或同时支持)17.A/D转换, 10位精度ADC,共8路,转换 速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系 列是高速的8051,可再用定时器或PCA软件实现多串口19. STC12C5A60S2系列有 双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2), TxD2/P1.3(可通过寄存器设置到P4.3)20.工作温度范围:-40 - +85℃(工业级) / 0 75℃(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48 I/O口不够时,可用2到3根普通 I/O口线外接 74HC164/165/595(均可级联)来扩展I/O口, 还可用A/D做按键扫描 来节省I/O口,或用双CPU,三线通信,还多了串口。
STC12C5A60S2单片机硬件系统框图
红外光电 传感器阵 列 数码管显 示电路 键盘电路
系统电源
蜂鸣器电 路 STC125A60S 2单片机 电机控制 电路 速度检测 电路
程序下载 接口
STC12C5A60S2系统内部结构框图
AUX-RAM 1024B
RAM地址 寄存器 RAM 256B
程序存储器 B寄存器 ACC TMP2 ALU
数据传送类指令
算术操作类指令
逻辑操作类指令
控制转移类指令
布尔变量操作类指令
绝对调用 加法 带进位的加法 绝对跳转 对字节变量进行逻辑运算 若两个操作数不相等则转移 清除累加器 在加法运算之后,对累加器A进行 十进制调整 DEC 把BYTE所代表的操作数减1 DIV 除法 DJNZ 减1,若非0则跳转 INC 加1 JB 若位数据位1则跳转 JC 若进位标志为1,则跳转 JMP 间接跳转 JNB 如果bit所代表的位不为1则跳转 JNC 若进位标志非1则跳转 JNZ 如果累加器的类容非0则跳转 JZ 如果累加器的类容为0则跳转 LCALL 长调用 LJMP 长跳转 MOV 传送字节变量 MUL 乘法 ACALL ADD ADDC AJMP ANL CJNE C 片内的高增益反相放大器通过XTAL1、 XTAL2外接作为反馈元件 的片外晶体振荡(呈感性)与电容组成的并联谐振回路构成一个自激振 荡器, 向内部时钟电路提供振荡时钟。 6.布尔处理机 • 布尔处理(即位处理)是MCS—51单片机ALU所具有的一种功能。 单片机指令系统中的布尔指令集(17条位操作指令), 存储器中的位地址 空间, 以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作 “累加器”, 构成了单片机内的布尔处理机。 7.控制部件及振荡器(控制器) • 控制部件是单片机的神经中枢, 它包括定时和控制电路、指令寄存 器、译码器以及信息传送控制等部件。单片机的定时控制功能是由片内 的时钟电路和定时电路来完成的。片内的时钟产生有两种方式:⑴内部 时钟方式; ⑵外部时钟方式振荡器的频率主要取决于晶体的振荡频率, 一般晶体可在1.2~12 MHz之间任选, 电容C1、 C2可在5~30 pF之间 选择, 电容的大小对振荡频率有微小的影响, 可起频率微调作用。
堆栈指针
ISP/IAP 地址生成器 程序计数器PC PCA SPI
TMP1
定时器0/1 串行口1 串行口2
WDT
LVD/LVR Control Unit
Port1锁存器
AD C
Port2,3,4, 5锁存器 Port2,3,4, 5驱动器
Port1驱动器
单片机内部结构MCS-51
MCS-51单片机与8051单片机的区别
各部分功能清单
• 1. 算术逻辑单元ALU • ALU :能进行8位二进制数的加(带进位加)、减(带借位 减)、乘、除、加1、减1及BCD加法的十进制调整等算术运算, 能进 行8位变量逻辑“与”、 “或”、 “异或”、 求补、 清零等逻辑运 算, 并有数据传送、程序转移等功能。
• 2.累加器ACC • ACC :称累加器A, 为一个8位寄存器, 它是CPU中使用最频繁的 寄存器。进入ALU作算术和逻辑运算的操作数多来自于A, 运算结果也 常送回A保存。 • 3.寄存器B • 是为ALU进行乘除法设置的。 • 4. 程序状态字寄存器PSW PSW是一个标志寄存器(8位), 它保存指令执行结果的特征信 息, 以供程序查询和判别。
STC12C5A60S2系列1T单片机简介 STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的 单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传 统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位 A/D转换(250K/S),针对电机控制,强干扰场合。1.增强型8051 CPU,1T,单时钟 /机器周期,指令代码完全兼容传统80512.工作电压:STC12C5A60S2系列工作电 压:5.5V- 3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V- 2.2V(3V单 片机)3.工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz4.用户应用 程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节......5.片上集成 1280字节RAM6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通 8051传统I/O口) 可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入 /高阻,开漏 每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过 55mA7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专 用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片8.有 EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)9. 看门狗10.内部集成 MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)11.外 部掉电检测电路:在P4.6口有一个低压门槛比较器 5V单片机为1.32V,误差为 +/-5%,3.3V单片机为1.30V,误差为+/-3%12.时钟源:外部高精度晶体/时钟,内 部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使 用内部R/C振荡器还是外部晶体/时钟
MCS-51 RAM ROM
无 EPROM/ROM
8051
AUX-RAM 无
寄存器
PC SP 其他
指令寄存器
PC增量器 SP DPTR
Control-Unit
程序计数器+PCA SPI WDT+堆栈指针
指令系统分类总结
• • • • • 1.数据传送类指令 2.算术操作类指令 3.逻辑操作类指令 4.控制转移类指令 5.布尔变量操作类指令
8051单片机指令定义详解
MOVC MOVX XRL NOP ORL POP RET RETI RL RLC RR RRC SETB SJMP SUBB SWAP XCH XCHD 把程序存储器中的代码字节数据 转送至累加器A 外部传送 字节变量的逻辑异或 空操作 两个字节变量的逻辑或运算 出栈 从子例程返回 中断返回 将累加器A中的数据位循环左移 带进位循环左移 将累加器饿数据位循环右移 带进位循环右移 置位 短跳转 带借位的减法 交换累加器的高低半字节 交换累加器和字节变量的内容 交换累加器和@Ri对应单元中的 数据的低4位
常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz 3.3V单片机 为: 8MHz~12MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误 差和温漂,以实际测试为准13.共4个16位定时器 两个与传统8051兼容的定时器/计 数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器 做串行通讯的波 特率发生器 再加上2路PCA模块可再实现2个16位定时器14. 2个时钟输出口,可由 T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟15.外部中断I/O口7 路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒, INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RxD/P3.0, CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器 设置到P4.3)16. PWM(2路)/PCA(可编程计数器阵列,2路) ---也可用来当2路 D/A使用 ---也可用来再实现2个定时器 ---也可用来再实现2个外部中断(上升 沿中断/下降沿中断均可分别或同时支持)17.A/D转换, 10位精度ADC,共8路,转换 速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系 列是高速的8051,可再用定时器或PCA软件实现多串口19. STC12C5A60S2系列有 双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2), TxD2/P1.3(可通过寄存器设置到P4.3)20.工作温度范围:-40 - +85℃(工业级) / 0 75℃(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48 I/O口不够时,可用2到3根普通 I/O口线外接 74HC164/165/595(均可级联)来扩展I/O口, 还可用A/D做按键扫描 来节省I/O口,或用双CPU,三线通信,还多了串口。
STC12C5A60S2单片机硬件系统框图
红外光电 传感器阵 列 数码管显 示电路 键盘电路
系统电源
蜂鸣器电 路 STC125A60S 2单片机 电机控制 电路 速度检测 电路
程序下载 接口
STC12C5A60S2系统内部结构框图
AUX-RAM 1024B
RAM地址 寄存器 RAM 256B
程序存储器 B寄存器 ACC TMP2 ALU
数据传送类指令
算术操作类指令
逻辑操作类指令
控制转移类指令
布尔变量操作类指令
绝对调用 加法 带进位的加法 绝对跳转 对字节变量进行逻辑运算 若两个操作数不相等则转移 清除累加器 在加法运算之后,对累加器A进行 十进制调整 DEC 把BYTE所代表的操作数减1 DIV 除法 DJNZ 减1,若非0则跳转 INC 加1 JB 若位数据位1则跳转 JC 若进位标志为1,则跳转 JMP 间接跳转 JNB 如果bit所代表的位不为1则跳转 JNC 若进位标志非1则跳转 JNZ 如果累加器的类容非0则跳转 JZ 如果累加器的类容为0则跳转 LCALL 长调用 LJMP 长跳转 MOV 传送字节变量 MUL 乘法 ACALL ADD ADDC AJMP ANL CJNE C 片内的高增益反相放大器通过XTAL1、 XTAL2外接作为反馈元件 的片外晶体振荡(呈感性)与电容组成的并联谐振回路构成一个自激振 荡器, 向内部时钟电路提供振荡时钟。 6.布尔处理机 • 布尔处理(即位处理)是MCS—51单片机ALU所具有的一种功能。 单片机指令系统中的布尔指令集(17条位操作指令), 存储器中的位地址 空间, 以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作 “累加器”, 构成了单片机内的布尔处理机。 7.控制部件及振荡器(控制器) • 控制部件是单片机的神经中枢, 它包括定时和控制电路、指令寄存 器、译码器以及信息传送控制等部件。单片机的定时控制功能是由片内 的时钟电路和定时电路来完成的。片内的时钟产生有两种方式:⑴内部 时钟方式; ⑵外部时钟方式振荡器的频率主要取决于晶体的振荡频率, 一般晶体可在1.2~12 MHz之间任选, 电容C1、 C2可在5~30 pF之间 选择, 电容的大小对振荡频率有微小的影响, 可起频率微调作用。