1、 单片机概述单片机概述1.1 1.1 单片机的概念单片机的概念控制器控制器运算器运算器存储器存储器输入输入/输出设备输出设备CPU单片机单片机电子管电子管晶体管晶体管集成电路集成电路大规模、超大大规模、超大规模集成电路规模集成电路甚大规模集成甚大规模集成电路电路发展方向:发展方向:1.1.高速度、大容量、高性能高速度、大容量、高性能2.2.体积小、价格廉、稳定可靠体积小、价格廉、稳定可靠 单片机概述单片机概述1.1 1.1 单片机的概念单片机的概念1.1.1 1.1.1 单片机的名称单片机的名称一片芯片相当于一个计算机系统一片芯片相当于一个计算机系统单片机单片机Single Chip Micr
2、oComputer微控制器微控制器Micro Control Unit国内通称国际通称嵌入式嵌入式微控制器微控制器Embed 单片机概述单片机概述1.1 1.1 单片机的概念单片机的概念1.1.1 1.1.1 单片机的名称单片机的名称1.1.2 1.1.2 通用单片机和专用单片机通用单片机和专用单片机ASIC1.1.3 1.1.3 单片机和单片机系统单片机和单片机系统(1)单片机:芯片本身)单片机:芯片本身(2)单片机系统:以单片机为中心组成的一定功能的)单片机系统:以单片机为中心组成的一定功能的 计算机系统。计算机系统。1.1.5 1.1.5 单片机的程序设计语言和软件单片机的程序设计语言和
3、软件(1)单片机的程序设计语言:)单片机的程序设计语言:机器语言、机器语言、汇编语言、汇编语言、C语言语言(2)单片机的软件)单片机的软件:编程软件、编程软件、仿真软件、仿真软件、编译软件、编译软件、写入软件、写入软件、监控软件。监控软件。1.1.4 1.1.4 单片机的应用系统和开发系统单片机的应用系统和开发系统(1)应用系统)应用系统(2)开发系统:仿真器)开发系统:仿真器 单片机概述单片机概述1.1 1.1 单片机的概念单片机的概念1.2 1.2 单片机的发展单片机的发展1.2.1 1.2.1 单片机的发展概述单片机的发展概述1946 1946 第一台计算机诞生第一台计算机诞生1971
4、1971 第一个微处理器诞生第一个微处理器诞生1976 1976 MCS-48(8MCS-48(8位位)1980 1980 MCS-51(8MCS-51(8位位)8080年代末年代末 Motorola 680X Motorola 680X Zilog Z-8Zilog Z-8 Rockwell 650X Rockwell 650X1983 1983 MCS-96(16MCS-96(16位位)当前:当前:(1)MCS-51MCS-51、MCS-96MCS-96系列发展。系列发展。(2)PIC(Microchip公司公司)(3)DSP(公司公司)单片机概述单片机概述1.2 1.2 单片机的发展单片
5、机的发展1.2.1 1.2.1 单片机的发展概述单片机的发展概述1.2.2 1.2.2 MCS-51MCS-51单片机系列单片机系列1.2.3 1.2.3 80C5180C51单片机系列单片机系列80C5180C51是是MCS-51MCS-51系列单片机的发展:性能、功耗系列单片机的发展:性能、功耗 单片机概述单片机概述1.1 1.1 单片机的概念单片机的概念1.2 1.2 单片机的发展单片机的发展1.3 1.3 单片机的应用单片机的应用1.3.1 1.3.1 单片机应用的特点单片机应用的特点1.1.控制系统的控制系统的在线在线应用应用(1)控制系统中的离线应用。控制系统中的离线应用。(2)控
6、制系统中的在线应用。控制系统中的在线应用。2.2.软硬件结合软硬件结合3.3.应用现场环境恶劣应用现场环境恶劣4.4.应用的广泛性极其重要意义应用的广泛性极其重要意义民用级民用级 0+70 工业级工业级 -40+85 军用级军用级 -65+1251.3 1.3 单片机的应用单片机的应用1.3.1 1.3.1 单片机应用的特点单片机应用的特点1.3.2 1.3.2 单片机的应用领域单片机的应用领域1.工业自动化方面工业自动化方面2.仪器仪表方面仪器仪表方面3.家用电器方面家用电器方面4.信息和通信产品方面信息和通信产品方面5.军事装备方面军事装备方面单片机芯片的硬件结构单片机芯片的硬件结构2.1
7、 MCS-512.1 MCS-51单片机的逻辑结构及信号引脚单片机的逻辑结构及信号引脚2.1.1 MCS-512.1.1 MCS-51单片机结构框图单片机结构框图2.1.2 MCS-512.1.2 MCS-51单片机芯片内部逻辑结构单片机芯片内部逻辑结构1.中央处理器中央处理器(CPU)运算器运算器控制器控制器:ALU(ALU(算术逻辑单元算术逻辑单元)、ACC(ACC(累加器累加器)、B B寄存器寄存器、程序状态字程序状态字、暂存寄存器暂存寄存器:PC(PC(程序计数器程序计数器)、PCPC加加1 1寄存器寄存器、指令寄存器指令寄存器、指令译码器指令译码器、定时与控制电路定时与控制电路2.1
8、.2 MCS-512.1.2 MCS-51单片机芯片内部逻辑结构单片机芯片内部逻辑结构1.中央处理器中央处理器(CPU)2.内部数据寄存器内部数据寄存器RAM(128*8)、RAM地址寄存器地址寄存器3.内部程序寄存器内部程序寄存器ROM(4K*8)、程序地址寄存器程序地址寄存器4.定时器定时器/计数器计数器2个个16位的定时器位的定时器/计数器计数器5.并行并行I/O口口4个个8位的位的I/O口(口(P0、P1、P2、P3)2.1.2 MCS-512.1.2 MCS-51单片机芯片内部逻辑结构单片机芯片内部逻辑结构6.串行口串行口7.中断控制系统中断控制系统5个中断源个中断源:外中断:外中断
9、2个、定时个、定时/计数中断计数中断2个、串行中断个、串行中断1个。个。8.时钟电路时钟电路9.位处理器位处理器10.总线总线2.1 MCS-512.1 MCS-51单片机的逻辑结构及信号引脚单片机的逻辑结构及信号引脚2.1.1 MCS-512.1.1 MCS-51单片机结构框图单片机结构框图2.1.2 MCS-512.1.2 MCS-51单片机芯片内部逻辑结构单片机芯片内部逻辑结构2.1.3 MCS-512.1.3 MCS-51的信号引脚的信号引脚4040引脚双列直插式引脚双列直插式2.1 MCS-512.1 MCS-51单片机的逻辑结构及信号引脚单片机的逻辑结构及信号引脚2.1.1 MCS
10、-512.1.1 MCS-51单片机结构框图单片机结构框图2.1.2 MCS-512.1.2 MCS-51单片机芯片内部逻辑结构单片机芯片内部逻辑结构2.1.3 MCS-512.1.3 MCS-51的信号引脚的信号引脚4040引脚双列直插式引脚双列直插式1.1.信号引脚介绍信号引脚介绍 输入输入/输出口线输出口线P P0.00.0P P0.70.7 P P0 0口口8 8位双向口线位双向口线P P1.01.0P P1.71.7 P P1 1口口8 8位双向口线位双向口线P P2.02.0P P2.72.7 P P2 2口口8 8位双向口线位双向口线P P3.03.0P P3.73.7 P P3
11、 3口口8 8位双向口线位双向口线 ALE ALE 地址锁存控制信号地址锁存控制信号(1)P(1)P0 0口输出的低口输出的低8 8位地址锁存控制信号位地址锁存控制信号(2)(2)作为外部时钟或外部定时脉冲作为外部时钟或外部定时脉冲2.1.3 MCS-512.1.3 MCS-51的信号引脚的信号引脚1.1.信号引脚介绍信号引脚介绍 PSEN PSEN 外部程序存储器读选通信号外部程序存储器读选通信号 EA EA 访问程序存储器控制信号访问程序存储器控制信号0 0:仅访问外部程序存储器:仅访问外部程序存储器1 1:从内部程序存储器开始访问,并可:从内部程序存储器开始访问,并可延续至外部程序存储器
12、。延续至外部程序存储器。RST RST 复位信号:连续复位信号:连续2 2个周期以上的高电平。个周期以上的高电平。XTAL XTAL1 1、XTALXTAL2 2 外接晶体引线端外接晶体引线端 V VSSSS 地线地线 V VCCCC +5V +5V电源电源2.1.3 MCS-512.1.3 MCS-51的信号引脚的信号引脚1.1.信号引脚介绍信号引脚介绍2.2.信号引脚的第二功能信号引脚的第二功能 P P3 3口线的第二功能口线的第二功能外部外部RAMRAM读选通读选通RDRDP P3.73.7外部外部RAMRAM写选通写选通WRWRP P3.63.6定时器定时器/计数器计数器1 1计数输入
13、计数输入T T1 1P P3.53.5定时器定时器/计数器计数器0 0计数输入计数输入T T0 0P P3.43.4外部中断外部中断1 1申请申请INTINT1 1P P3.33.3外部中断外部中断0 0申请申请INTINT0 0P P3.23.2串行数据发送串行数据发送TXDTXDP P3.13.1串行数据接受串行数据接受RXDRXDP P3.03.0信号名称信号名称第二功能第二功能口线口线2.1.3 MCS-512.1.3 MCS-51的信号引脚的信号引脚1.1.信号引脚介绍信号引脚介绍2.2.信号引脚的第二功能信号引脚的第二功能 P P3 3口线的第二功能口线的第二功能 EPROM EP
14、ROM存储器程序固化所需要的信号存储器程序固化所需要的信号(1)(1)编程脉冲:编程脉冲:3030引脚引脚(ALE/PROG)(ALE/PROG)(2)(2)编程电压:编程电压:3131引脚引脚(EA/V(EA/VPPPP)备用电源引入备用电源引入9 9 引脚引脚(RST/VPD)(RST/VPD)2 2 单片机芯片的硬件结构单片机芯片的硬件结构2.1 MCS-512.1 MCS-51单片机的逻辑结构及信号引脚单片机的逻辑结构及信号引脚2.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.2.1 2.2.1 内部数据存储器低内部数据存储器低128128单元单元以以80
15、C5180C51为例为例数据存储器数据存储器程序存储器程序存储器低低128128单元单元(单元地址单元地址00H-7FH)00H-7FH)高高128128单元单元(单元地址单元地址80H-FFH)80H-FFH)1.通用寄存器区通用寄存器区(00H-1FH)(00H-1FH)(1)分成四组分成四组0,1,2,30,1,2,3,每组,每组8 8个寄存器个寄存器(R(R7 7-R-R0 0),),每个寄存每个寄存器为器为8 8位。位。(2 2)任意时刻任意时刻,CPUCPU只能使用其中的一组寄存器。只能使用其中的一组寄存器。(3 3)运用通用寄存器运用通用寄存器,可以简化程序设计,提高运行速度。,
16、可以简化程序设计,提高运行速度。2.2.1 2.2.1 内部数据存储器低内部数据存储器低128128单元单元1.通用寄存器区通用寄存器区(00H-1FH)(00H-1FH)2.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2 2.位寻址区位寻址区 (20H-2FH)(20H-2FH)3 3.用户用户RAMRAM区区 (30H-7FH)(30H-7FH)2.2.2 2.2.2 内部数据存储器高内部数据存储器高128128单元单元专用寄存器专用寄存器(SFRSFR)、特殊功能寄存器、特殊功能寄存器1.1.专用寄存器简介:专用寄存器简介:2222个,可寻址个,可寻址2121
17、个。个。(1)(1)程序计数器程序计数器(PC(PC):):1616位,不可寻址。位,不可寻址。(2)(2)累加器累加器A(A(或或ACCACC):):8 8位,寻址地址位,寻址地址0E0H0E0H。(3)B(3)B寄存器:寄存器:8 8位,寻址地址位,寻址地址0F0H0F0H。(4)(4)程序状态字程序状态字(PSW(PSW):):8 8位,寻址地址位,寻址地址0D0H0D0H。2.2.2 2.2.2 内部数据存储器高内部数据存储器高128128单元单元1.1.专用寄存器简介专用寄存器简介(4)(4)程序状态字程序状态字(PSW(PSW):):8 8位,寻址地址位,寻址地址0D0H0D0H。
18、位序位序PSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位标志位标志CYCYACACF0F0RSRS1 1RSRS0 0OVOV/P PCY:CY:进位标志位。进位标志位。AC:AC:辅助进位标志位。辅助进位标志位。F0:F0:用户标志位。用户标志位。RSRS1 1和和RSRS0 0:寄存器组选择位。寄存器组选择位。OV:OV:溢出标志位。溢出标志位。P:P:奇偶标志位。奇偶标志位。(5)(5)数据指针数据指针(DPTR(DPTR):):1616位,寻址地址位,寻址地址82H(DPL
19、)82H(DPL),83H(DPH)83H(DPH)。2.2.2 2.2.2 内部数据存储器高内部数据存储器高128128单元单元1.1.专用寄存器简介专用寄存器简介2.2.专用寄存器的专用寄存器的字节寻址字节寻址(2121个)个)3.3.专用寄存器的专用寄存器的位寻址位寻址(1)21(1)21个专用寄存器不连续分布在内部个专用寄存器不连续分布在内部RAMRAM的高的高128128个单元,个单元,空余单元不能使用。空余单元不能使用。(2)(2)程序计数器程序计数器(PC)(PC)不可寻址。不可寻址。(3)(3)对专用寄存器采用直接寻址方式,指令中使用寄存器符对专用寄存器采用直接寻址方式,指令中
20、使用寄存器符号或寄存器地址。号或寄存器地址。(1)11(1)11个专用寄存器可位寻址(个专用寄存器可位寻址(8383个寻址位)。个寻址位)。(2)(2)与内部数据存储器低与内部数据存储器低128128单元中的位寻址区单元中的位寻址区(20H-2FH),(20H-2FH),共共同组成数据位存储区。同组成数据位存储区。2.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.2.1 2.2.1 内部数据存储器低内部数据存储器低128128单元单元2.2.2 2.2.2 内部数据存储器高内部数据存储器高128128单元单元2.2.3 MCS-512.2.3 MCS-51的的堆栈
21、堆栈操作操作术语:术语:出栈出栈、入栈入栈、栈底栈底、栈顶栈顶、后入先出后入先出1、堆栈的功能:、堆栈的功能:保护断点保护断点、保护现场保护现场2 2、堆栈的开辟:、堆栈的开辟:内部数据存储器内部数据存储器3 3、堆栈指示器:、堆栈指示器:SPSP(复位后为(复位后为07H,07H,初始化为初始化为30H30H)4 4、堆栈类型:、堆栈类型:向上生长型向上生长型入栈入栈SPSP30H30H或或4AH4AH或或78H78H(1)SPSP+12.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.2.1 2.2.1 内部数据存储器低内部数据存储器低128128单元单元2.2
22、.2 2.2.2 内部数据存储器高内部数据存储器高128128单元单元2.2.3 MCS-512.2.3 MCS-51的的堆栈堆栈操作操作术语:术语:出栈出栈、入栈入栈、栈底栈底、栈顶栈顶、后入先出后入先出1、堆栈的功能:、堆栈的功能:保护断点保护断点、保护现场保护现场2 2、堆栈的开辟:、堆栈的开辟:内部数据存储器内部数据存储器3 3、堆栈指示器:、堆栈指示器:SPSP(复位后为复位后为07H,07H,初始化为初始化为30H30H)4 4、堆栈类型:、堆栈类型:向上生长型向上生长型入栈入栈30H30H或或4AH4AH或或78H78H(1)SPSP+1SPSP(2)写入数据写入数据出栈出栈(1
23、)读出数据读出数据(2)SPSP-12.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.2.1 2.2.1 内部数据存储器低内部数据存储器低128128单元单元2.2.2 2.2.2 内部数据存储器高内部数据存储器高128128单元单元2.2.3 MCS-512.2.3 MCS-51的的堆栈堆栈操作操作术语:术语:出栈出栈、入栈入栈、栈底栈底、栈顶栈顶、后入先出后入先出1、堆栈的功能:、堆栈的功能:保护断点保护断点、保护现场保护现场2 2、堆栈的开辟:、堆栈的开辟:内部数据存储器内部数据存储器3 3、堆栈指示器:、堆栈指示器:SPSP(复位后为复位后为07H,07H
24、,初始化为初始化为30H30H)4 4、堆栈类型:、堆栈类型:向上生长型向上生长型入栈入栈30H30H或或4AH4AH或或78H78H(1)SPSP+1SPSP(2)写入数据写入数据出栈出栈(1)读出数据读出数据(2)SPSP-1、向下生长型、向下生长型(8086)2.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.2.1 2.2.1 内部数据存储器低内部数据存储器低128128单元单元2.2.2 2.2.2 内部数据存储器高内部数据存储器高128128单元单元2.2.3 MCS-512.2.3 MCS-51的的堆栈堆栈操作操作术语:术语:出栈出栈、入栈入栈、栈底栈
25、底、栈顶栈顶、后入先出后入先出1、堆栈的功能:、堆栈的功能:保护断点保护断点、保护现场保护现场2 2、堆栈的开辟:、堆栈的开辟:内部数据存储器内部数据存储器3 3、堆栈指示器:、堆栈指示器:SPSP(复位后为(复位后为07H,07H,初始化为初始化为30H30H)4 4、堆栈类型:、堆栈类型:向上生长型向上生长型、向下生长型、向下生长型(8086)5 5、堆栈使用方式:、堆栈使用方式:自动方式自动方式指令方式指令方式2.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.2.4 2.2.4 内部程序存储器内部程序存储器80C5180C51:4K ROM4K ROM程序存
26、储器,地址程序存储器,地址0000H-0FFFH0000H-0FFFH80C5280C52:8K ROM8K ROM程序存储器,地址程序存储器,地址0000H-0000H-1FFFH1FFFH启动单元:启动单元:0000H-0002H0000H-0002H中断地址区:中断地址区:0003H-002AH0003H-002AH2.2.5 MCS-512.2.5 MCS-51单片机系统的存储器结构特点单片机系统的存储器结构特点1.数据存储器和程序存储器分开数据存储器和程序存储器分开3 3.存储器扩展存储器扩展1616位地址线位地址线-寻址范围寻址范围 64KB64KB地址地址 0000H-FFFFH
27、0000H-FFFFH2 2.内部存储器和外部存储器分开内部存储器和外部存储器分开2 2 单片机芯片的硬件结构单片机芯片的硬件结构2.1 MCS-512.1 MCS-51单片机的逻辑结构及信号引脚单片机的逻辑结构及信号引脚2.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.3 MCS-512.3 MCS-51单片机并行输入单片机并行输入/输出口电路输出口电路P P0.00.0P P0.70.7 P P0 0口口8 8位双向口线位双向口线P P1.01.0P P1.71.7 P P1 1口口8 8位双向口线位双向口线P P2.02.0P P2.72.7 P P2 2口
28、口8 8位双向口线位双向口线P P3.03.0P P3.73.7 P P3 3口口8 8位双向口线位双向口线2.3.1 P2.3.1 P0 0口口字节地址:字节地址:80H;80H;位地址:位地址:80H-87H.80H-87H.1.双向双向I/0接口接口输出输出(写写):加上拉电阻加上拉电阻输入输入(读读)2.低低8位地址接口位地址接口 双向数据接口双向数据接口2.3 MCS-512.3 MCS-51单片机并行输入单片机并行输入/输出口电路输出口电路2.3.1 P2.3.1 P0 0口口MUX选择端选择端V1V2地址地址/数数据推拉式输出据推拉式输出I/O输出,控制输出,控制端为端为0 0,
29、与门封,与门封锁,锁,V2截止。截止。外接上拉电阻外接上拉电阻传送指令都是读引脚2.3 MCS-512.3 MCS-51单片机并行输入单片机并行输入/输出口电路输出口电路2.3.1 P2.3.1 P0 0口口2.3.2 P2.3.2 P1 1口口字节地址:字节地址:90H;90H;位地址:位地址:90H-97H.90H-97H.1.准双向准双向I/0接口(无三态)接口(无三态)2 2.输出时不需上拉电阻输出时不需上拉电阻2.3.3 P2.3.3 P2 2口口字节地址:字节地址:0A0H;0A0H;位地址:位地址:0A0H-0A7H.0A0H-0A7H.1 1.高高8位地址接口位地址接口2 2.
30、准双向准双向I/O接口接口3 3.输入时先写输入时先写“1”2.3 MCS-512.3 MCS-51单片机并行输入单片机并行输入/输出口电路输出口电路2.3.1 P2.3.1 P0 0口口2.3.2 P2.3.2 P1 1口口2.3.3 P2.3.3 P2 2口口2.3.4 P2.3.4 P3 3口口字节地址:字节地址:0B0H;0B0H;位地址:位地址:0B0H-0B7H.0B0H-0B7H.1 1.准双向准双向I/0接口接口2 2.第二功能信号第二功能信号2.3.5 MCS-512.3.5 MCS-51口电路小结口电路小结1 1.都是双向都是双向I/0接口接口P P0 0口可同时用为地址和
31、数据总线口可同时用为地址和数据总线P P2 2口可用为地址总线口可用为地址总线2 2.P P0 0口三态门,口三态门,P P1 1、P P2 2、P P3 3口准双向口。口准双向口。3 3.P P3 3口口具有第二功能具有第二功能2 2 单片机芯片的硬件结构单片机芯片的硬件结构2.1 MCS-512.1 MCS-51单片机的逻辑结构及信号引脚单片机的逻辑结构及信号引脚2.2 MCS-512.2 MCS-51单片机的内部存储器单片机的内部存储器2.3 MCS-512.3 MCS-51单片机并行输入单片机并行输入/输出口电路输出口电路2.4 MCS-512.4 MCS-51单片机时钟电路与时序单片
32、机时钟电路与时序1.1.时钟信号时钟信号的产生的产生XTAL2XTAL1C2C1组成:组成:晶体振荡器晶体振荡器、电容电容(2 2个)个)1.2MHz-12MHz取取6M取取30pF内部时钟电路内部时钟电路2.2.引入外部脉冲信号引入外部脉冲信号2.4.1 2.4.1 时钟信号时钟信号2.4 MCS-512.4 MCS-51单片机时钟电路与时序单片机时钟电路与时序2.4.1 2.4.1 时钟信号时钟信号2.4.2 2.4.2 时序定时单位时序定时单位振荡脉冲振荡脉冲例例:12M12M、6M6M2分频分频时钟脉冲时钟脉冲6M6M、3M3M3分频分频ALE6分频分频机器周期机器周期1M1M、0.5
33、M0.5M1.1.拍节与状态拍节与状态一个时钟脉冲一个拍节一个时钟脉冲一个拍节(S)(S)一个拍节一个拍节(S)(S)两个状态两个状态(P)(P)2.2.机器周期机器周期1M-1us1M-1us0.5M0.5M -2us-2us3.3.指令周期指令周期一个指令周期包含若干个机器周期一个指令周期包含若干个机器周期2.4.3 2.4.3 典型指令周期典型指令周期2 2 单片机芯片的硬件结构单片机芯片的硬件结构2.5 MCS-512.5 MCS-51单片机工作方式单片机工作方式2.5.1 2.5.1 复位方式和复位电路复位方式和复位电路2.2.复位状态复位状态1.1.复位信号及其产生复位信号及其产生
34、(1)复位信号复位信号 :RST(2)复位信号产生:复位信号产生:上电复位、按键电平复位、按键脉冲复位上电复位、按键电平复位、按键脉冲复位2.5.2 2.5.2 程序执行方式程序执行方式PC(0000H)-PC(0000H)-程序从程序从0000H0000H开始执行开始执行2.5.3 2.5.3 掉电保护方式掉电保护方式2.5.4 2.5.4 低功耗方式低功耗方式MCS-51MCS-51单片机指令系统单片机指令系统3.1 MCS-513.1 MCS-51单片机指令格式和寻址方式单片机指令格式和寻址方式3.1.1 3.1.1 指令系统概述指令系统概述3.1.2 MCS-513.1.2 MCS-5
35、1单片机指令格式单片机指令格式3.1.3 MCS-513.1.3 MCS-51单片机寻址方式单片机寻址方式操作码操作码:规定指令进行什么操作。:规定指令进行什么操作。操作数操作数:规定指令操作的对象。:规定指令操作的对象。寻址方式寻址方式:指定操作数所在单元的方式。(共七种):指定操作数所在单元的方式。(共七种)3。寄存器寻址寄存器寻址方式方式MOV A,R02。直接寻址直接寻址方式方式MOV A,3AH4。寄存器间接寻址寄存器间接寻址方式方式MOV A,R01。立即寻址立即寻址方式方式MOV A,#3AHMOV DPTR,#123AHMOV A,R13.1.3 MCS-513.1.3 MCS
36、-51单片机寻址方式单片机寻址方式3.1 MCS-513.1 MCS-51单片机指令格式和寻址方式单片机指令格式和寻址方式5。变址寻址变址寻址方式方式MOVC A,A+DPTRMOVC A,A+PCJMP A,A+DPTR6。位寻址位寻址方式方式MOV C,3AHMOV C,0F0HMOV C,PSW.57。相对寻址相对寻址方式方式目的地址目的地址=转移指令地址转移指令地址+转移指令字节书转移指令字节书+rel用于转移指令用于转移指令3 MCS-513 MCS-51单片机指令系统单片机指令系统3.1 MCS-513.1 MCS-51单片机指令格式和寻址方式单片机指令格式和寻址方式3.2 MCS
37、-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍数据传送数据传送类指令(类指令(2929条)条)算术运算算术运算类指令(类指令(2424条)条)逻辑运算及移位逻辑运算及移位类指令(类指令(2424条)条)控制转移控制转移类指令(类指令(1717条)条)位操作位操作类指令(类指令(1717条)条)3.2 MCS-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍3.2.1 3.2.1 指令格式中符号意义说明指令格式中符号意义说明directdirect:8:8位直接地址。位直接地址。#data#data:8:8位立即数。位立即数。#data16#data16:16:16位
38、立即数。位立即数。DPTRDPTR:数据指针。数据指针。bitbit:内部内部RAMRAM中的直接寻址位。中的直接寻址位。:间址寄存器的前缀标志。间址寄存器的前缀标志。/:位地址前表示对该位取反。位地址前表示对该位取反。RnRn:通用寄存器通用寄存器R R0 0-R-R7 7。RiRi:间接寻址寄存器间接寻址寄存器R R0 0、R R1 1。3.2 MCS-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍3.2.1 3.2.1 指令格式中符号意义说明指令格式中符号意义说明3.2.2 3.2.2 数据传送类指令数据传送类指令1 1.概述概述MOV 目的操作数目的操作数,源操作数源操作
39、数目的操作数目的操作数:累加器累加器A、通用寄存器、通用寄存器Rn、直接地址、直接地址direct、间址寄存器间址寄存器源操作数源操作数:累加器累加器A、通用寄存器、通用寄存器Rn、直接地址、直接地址direct、间址寄存器、间址寄存器、立即数立即数3.2 MCS-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍3.2.2 3.2.2 数据传送类指令数据传送类指令1 1.概述概述2 2.内部内部RAM数据传送指令组数据传送指令组(1)(1)立即数传送指令立即数传送指令MOV A,#dataMOV direct,#dataMOV Rn,#dataMOV Ri,#data8 8位立即数
40、传送指令位立即数传送指令MOV DPTR,#data161616位立即数传送指令位立即数传送指令例:例:MOV DPTR,#1234HDPH:12HDPH:12HDPL:34HDPL:34H3.2 MCS-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍3.2.2 3.2.2 数据传送类指令数据传送类指令2 2.内部内部RAM数据传送指令组数据传送指令组(1)(1)立即数传送指令立即数传送指令(2)(2)内部内部RAMRAM单元之间的数据传送指令单元之间的数据传送指令MOV direct2,direct1MOV direct,RnMOV Rn,directMOV direct,Ri
41、MOV Ri,direct例:例:MOV P2,R2MOV 0A0h,R2MOV 0D0h,R1MOV R5,70hMOV 0D0h,R1位序位序PSW.PSW.7 7PSW.PSW.6 6PSW.PSW.5 5PSW.PSW.4 4PSW.PSW.3 3PSW.PSW.2 2PSW.PSW.1 1PSW.PSW.0 0位标位标志志CYCYACACF0F0RSRS1 1RSRS0 0OVOV/P P位序位序PSW.PSW.7 7PSW.PSW.6 6PSW.PSW.5 5PSW.PSW.4 4PSW.PSW.3 3PSW.PSW.2 2PSW.PSW.1 1PSW.PSW.0 0位标位标志志C
42、YCYACACF0F0RSRS1 1RSRS0 0OVOV/P PMOV 0D0h,R1MOV 0D0h,R13.2 MCS-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍3.2.2 3.2.2 数据传送类指令数据传送类指令2 2.内部内部RAM数据传送指令组数据传送指令组(1)(1)立即数传送指令立即数传送指令(2)(2)内部内部RAMRAM单元之间的数据传送指令单元之间的数据传送指令(3)(3)通过累加器的数据传送指令通过累加器的数据传送指令MOV A,RnMOV Rn,AMOV A,directMOV direct,AMOV A,RiMOV Ri,A3.2.2 3.2.2
43、数据传送类指令数据传送类指令2 2.内部内部RAM数据传送指令组数据传送指令组3 3.外部外部RAM数据传送指令组数据传送指令组对外部对外部RAMRAM单元只能使用单元只能使用间接寻址间接寻址(1)(1)使用使用DPTRDPTR进行间接寻址进行间接寻址MOVX A,DPTRMOVX DPTR,A(2)(2)使用使用R Ri i进行间接寻址进行间接寻址MOVX A,RiMOVX Ri,A4 4.程序存储器数据传送指令组程序存储器数据传送指令组MOVC A,A+DPTRMOVC A,A+PC单向单向变址寻址变址寻址3.2.2 3.2.2 数据传送类指令数据传送类指令5 5.数据交换指令组数据交换指
44、令组(1)(1)整字节交换指令整字节交换指令XCH A,RnXCH A,directXCH A,Ri(2)(2)半字节交换指令半字节交换指令XCHD A,Ri低四位数据交换低四位数据交换(3)(3)累加器高低半字节交换指令累加器高低半字节交换指令SWAP A6 6.堆栈操作指令组堆栈操作指令组PUSH directPOP directSP:(SP)+1,(SP):(direct)direct:(SP),SP:(SP)-1说明:说明:只有指令表中的指令才有对应指令代码,计算机才能执行。只有指令表中的指令才有对应指令代码,计算机才能执行。编程时,不能随意创造发明指令。编程时,不能随意创造发明指令。
45、1.1.一条指令中不能同时出现两个工作寄存器:一条指令中不能同时出现两个工作寄存器:2.2.间址寄存器只能使用间址寄存器只能使用 R0R0、R1R1。3.3.SFRSFR区只能直接寻址,不能用寄存器间接寻址。区只能直接寻址,不能用寄存器间接寻址。4.4.指令表:指令表:非法非法指令指令:MOV R0MOV R0,#80H#80H MOV A MOV A,R0R0非法非法指令:指令:MOV AMOV A,R2R2非法非法指令:指令:MOV R1MOV R1,R2R2MOV R2MOV R2,R0R0将片内RAM60H单元与61H单元的数据交换。XCH 60H,61H查表法求查表法求Y=XY=X2
46、 2。设。设X(0X15)X(0X15)在片内在片内RAMRAM的的20H20H单元单元中,要求将查表求中,要求将查表求Y Y,存入片内,存入片内RAM21HRAM21H单元。单元。ORG 1000HSQU:MOV DPTR,#TAB ;确定表首地址(基地址)MOV A,20H;取X(偏移量)MOVC A,A+DPTR;查表求Y=X2MOV 21H,A;保存YRET;子程序结束;其它程序段ORG 3000H;常数表格首地址TAB:DB 00,01,04,09,225;平方表3.2 MCS-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍3.2.1 3.2.1 指令格式中符号意义说明
47、指令格式中符号意义说明3.2.2 3.2.2 数据传送类指令数据传送类指令3.2.3 3.2.3 算术运算类指令算术运算类指令1.1.加法指令组(加法指令组(不带进位不带进位)ADD AADD A,源操作数,源操作数ADD A,#dataADD A,RnADD A,directADD A,Ri位序位序PSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位标志位标志CYCYACACF0F0RSRS1 1RSRS0 0OVOV/P PADD A,R2A=?PSW=?02H02H位序位序PSW
48、.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位标志位标志CYCYACACF0F0RSRS1 1RSRS0 0OVOV/P P0000010181H81H3.2 MCS-513.2 MCS-51单片机指令分类介绍单片机指令分类介绍3.2.3 3.2.3 算术运算类指令算术运算类指令1.1.加法指令组(加法指令组(不带进位不带进位)2.2.加法指令组(加法指令组(带进位带进位)ADDC AADDC A,源操作数,源操作数ADDC A,#dataADDC A,RnADDC A,directA
49、DDC A,Ri3.3.带借位带借位减法指令组减法指令组SUBB ASUBB A,源操作数,源操作数SUBB A,#dataSUBB A,RnSUBB A,directSUBB A,Ri3.2.3 3.2.3 算术运算类指令算术运算类指令4.4.加加1 1指令组指令组INC AINC RnINC directINC RiINC DPTR不影响程序状态字不影响程序状态字PSWPSW5.5.减减1 1指令组指令组DEC ADEC RnDEC directDEC Ri3.2.3 3.2.3 算术运算类指令算术运算类指令6.6.乘除乘除指令组指令组(1)(1)乘法指令乘法指令MUL ABMUL AB位
50、序位序PSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位标志位标志CYCYACACF0F0RSRS1 1RSRS0 0OVOV/P P000 0:结果结果=255255255奇奇偶偶位位MOV AMOV A,0FH0FHMOV BMOV B,0FH0FHMUL ABMUL ABA=?PSW=?0E1H0E1H00H00H3.2.3 3.2.3 算术运算类指令算术运算类指令6.6.乘除乘除指令组指令组(1)(1)乘法指令乘法指令(2)(2)除法指令除法指令DIV ABDIV AB位序位