1、2-3 2-3 CPUCPU2-4 2-4 并行并行I/OI/O第二章第二章 80C5180C51单片机硬件结构单片机硬件结构2-2 2-2 单片机存储器配置单片机存储器配置内容提要:2-1 2-1 单片机内部结构及引脚单片机内部结构及引脚12-1 2-1 MCS-51MCS-51单片机内部结构及引脚单片机内部结构及引脚MCS-51MCS-51系列单片机是因特公司系列单片机是因特公司19801980推出的高档推出的高档8 8位机位机分为二个子系列,、三个版本:分为二个子系列,、三个版本:/8KB8052/803252子系子系列列4KB/8751/4KB8051/803151子系子系列列MCS-
2、51 EPROM 掩膜掩膜MOS 存储器类型存储器类型单片机系列单片机系列2一、一、MCS-51MCS-51单片机内部结构单片机内部结构内部结构框图如下:内部结构框图如下:单片机结构框图单片机结构框图 频率基准源 计数器 内部总线内部总线 中断 中断 控制 并行I/O口 串行输入/输出 8051振荡器及定时电路4 K/8K字节程序存储器ROM128/256字节数据存储器 RAM2 个16位定时器/计数器8051CPU64K字节总线扩展控制可编程I/O口4 8 位可编程串行口31 1、中央处理单元中央处理单元CPU(8位)位)用于数据处理、位操作(位测试、置位、复位)用于数据处理、位操作(位测试
3、、置位、复位)2 2、只读存储器只读存储器ROM(4KB或或8KB)用于永久性存储应用程序,掩膜用于永久性存储应用程序,掩膜ROM、EPROM、EEPROM3 3、随机存取存取器随机存取存取器RAM(256B)用于程序运行中存储工作变量和数据用于程序运行中存储工作变量和数据4 4、并行输入并行输入/输出口输出口 I/O(32线)线)用作系统总线、扩展外存、用作系统总线、扩展外存、I/O接口芯片接口芯片5 5、串行输入串行输入/输出口输出口 UART (二线)二线)串行通信、扩展串行通信、扩展I/O接口芯片接口芯片46 6、定时定时/计数器计数器 T(16位增量可编程)位增量可编程)它与它与CP
4、U之间各自独立工作,当它计数满时向之间各自独立工作,当它计数满时向CPU中断中断7 7、时钟电路时钟电路 fosc 分为内部振荡器、外接振荡电路分为内部振荡器、外接振荡电路8 8、中断系统中断系统 五源中断、两级优先,可编程进行控制。五源中断、两级优先,可编程进行控制。5二、二、MCS-51单片机外部引脚单片机外部引脚封装形式,封装形式,见右图:见右图:01p.71p.SSV1XTAL2XTALRD73p/.WR63p/.1T53p/.0T43p/.1INT33p/.0INT23p/.TXD13p/.RXD03p/.RST02p.72p.CCV00p.70p.PSENPROGALE/EAVpp
5、/1820181917161514131211109212840393229303180516引脚分类:引脚分类:1 1、主电源引脚、主电源引脚 VssVss、VccVcc2 2、外接晶振引脚外接晶振引脚 XTAL1XTAL1、XTAL2XTAL273 3、控制或复位引脚 RST/VPD RST/VPD 当出现两个机器周期高电平时,单片机复位。复位后,P0 P3P0 P3 输出高电平;SPSP寄存器为0707H H;其它寄存器全部清0 0;不影响RAMRAM状态。参考复位电路如下:891.时钟电路引脚:XTAL1:接外部晶振和微调电容的一端,在单片机内部,它是构成片内振荡器的反向放大器的输入端
6、。当采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部振荡器的输入端。XTAL2:接外部晶振和微调电容的另一端,在单片机内部,它是构成片内振荡器的反向放大器的输出端。当采用外部振荡器时,此引脚应悬空。10=0 时,只访问外部程序存储器时,只访问外部程序存储器,即外即外ROM=1 时,访问内部程序存储器时,访问内部程序存储器,即内即内ROM /Vpp 内内外外ROM选择端选择端 对于对于8751单片机编程时,该端施加编程电压单片机编程时,该端施加编程电压4、输入、输入/输出引脚输出引脚 P0.0 P0.7 ;P1.0 P1.7 ;P2.0 P2.7 ;P3.0 P3.7四个四个I/
7、O口,每口八条线;还兼作地址口,每口八条线;还兼作地址/数据线。数据线。EAEAEAALE/PROG 地址锁存控制端地址锁存控制端提供提供1/6 fosc振荡频率;为其内的振荡频率;为其内的EPROM输入编程脉冲输入编程脉冲PSEN 外部程序存储器的读选通信号端外部程序存储器的读选通信号端11 ALE/PROG:(Address Latch Enable/Programming)当单片机上电正常工作后,当单片机上电正常工作后,ALE引脚不断向外输出正弦脉冲信号,此频引脚不断向外输出正弦脉冲信号,此频率为振荡器频率的率为振荡器频率的1/6。CPU访问外部存储器访问外部存储器时,时,ALE作为锁存
8、低作为锁存低8位地址的控制信号。此位地址的控制信号。此引脚的第二功能引脚的第二功能PROG作为作为8751编程脉冲输编程脉冲输入端使用。入端使用。12 PSEN:(Program Store Enable)在访问片外存储器在访问片外存储器时,此端定时输出负脉冲作为片外存储器的选通信时,此端定时输出负脉冲作为片外存储器的选通信号。号。EA/VPP:(Enable Address/Voltage Pulse Of Programming)当当EA接高电平时,接高电平时,CPU访问片内访问片内ROM,并执行内部程序存储器中的指令,但当,并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过(程
9、序计数器)的值超过4K时,将自动转去执行片时,将自动转去执行片外存储器内的程序。当外存储器内的程序。当EA脚接低电平时,脚接低电平时,CPU只只访问片外访问片外ROM并执行外部程序存储器中的指令,并执行外部程序存储器中的指令,而不管是否有片内程序存储器。而不管是否有片内程序存储器。VPP是对是对8751片内片内ROM固化程序时,作为施加较高编程电压固化程序时,作为施加较高编程电压(12V21V)的输入端。)的输入端。13 3.输入输出引脚:P0P3:4个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个端口都可以做输入输出口使用,其中,P0和P2通常用于对外部存储器的访问。
10、在这种方式下,把P0口作为地址/数据总线使用,分时输出外部存储器的地址和传送8位数据。当扩充外部存储器的地址为16位时,P2口作为地址总线的高8位地址使用。142-2 2-2 MCS-51MCS-51单片机内存配置单片机内存配置一、一、MCS-51单片机的内存结构单片机的内存结构H00000 00 08 80 0H HRAM内内部部0 00 0F FF FH H能寄存器特殊功0 0F FF FF FF FH H)(外部外部K64RAM 数据存储器数据存储器H00000 00 07 7F FH H0 0F FF FF FF FH H0 0F FF FF FH H1EAROM 外外部部0EAROM
11、 内内部部H0000 程序存储器程序存储器1000H1000H15物理上分为:物理上分为:4个空间,即片内个空间,即片内ROM、片外片外ROM(/PSEN读选通读选通)PSEN_外部程序存储器的读选通信号端外部程序存储器的读选通信号端 片内片内RAM、片外片外RAM (/WR、/RD端端)逻辑上分为逻辑上分为:3个空间,个空间,即程序内存(片内、外)统一编址即程序内存(片内、外)统一编址 MOVC 数据存储器(片内)数据存储器(片内)MOV 数据存储器(片外)数据存储器(片外)MOVX16二、程序存储器二、程序存储器寻址范围:寻址范围:0000H FFFFH 容量容量64KB,即即地址长度:地
12、址长度:16位位 1EA ,寻址内部寻址内部ROM;0EA,寻址外部寻址外部ROM。当当PC值超过片内值超过片内ROM容量时会自动转向容量时会自动转向 外部外部存储器空间。存储器空间。EA8031单片机单片机接低电平。接低电平。作作 用:用:存放程序及程序运行时所需的常数。存放程序及程序运行时所需的常数。17七个具有特殊含义的单元是:七个具有特殊含义的单元是:0000H 系统复位,系统复位,PC指向此处;指向此处;0003H 外部中断外部中断0入口入口 000BH T0溢出中断入口溢出中断入口 0013H 外中断外中断1入口入口 001BH T1溢出中断入口溢出中断入口 0023H 串口中断入
13、口串口中断入口 002BH T2溢出中断入口溢出中断入口 18三、内部数据存储器三、内部数据存储器物理上分为两大区域:物理上分为两大区域:00H 7FH即即128B内内RAM区区 80H FFH即即SFR区。区。组组通通用用寄寄存存器器区区第第0组组通通用用寄寄存存器器区区第第1组组通通用用寄寄存存器器区区第第2组组通通用用寄寄存存器器区区第第3)(位位地地址址位位寻寻址址区区FH7H00区区用用户户 RAMH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7R0、R1、R2、R3、R4、R5、R6、R7即可位寻址,又可字节寻址即可位寻址,又可字节寻址数据缓冲区、
14、堆栈区、工作数据缓冲区、堆栈区、工作单元单元19位寻址区(位寻址区(20H2FH)16个字节。个字节。16*8=128位,每一位都有一个位地址,范围为:位,每一位都有一个位地址,范围为:00H7FH,位地址区位地址区也可作为一般也可作为一般RAM使用。使用。位寻址区位寻址区单单元元地地址址位位地地址址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H71H79H70H78H07FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H0820四、特殊功能寄存器四、特殊功能寄存器MCS-51MCS-51单片机内共有单片机
15、内共有2222个特殊功能寄存器,包括个特殊功能寄存器,包括PCPC及及SFRSFR。PCPC为程序计数器。它是一个双字节寄存器为程序计数器。它是一个双字节寄存器,寻址范围为寻址范围为:0000 0000H FFFFHH FFFFH,即即0 640 64KBKB。SFRSFR为特殊功能寄存器。其寻址空间:为特殊功能寄存器。其寻址空间:8080H FFH H FFH 其中,其中,5151子系列有子系列有1818个寄存器,占有个寄存器,占有2121个字节;个字节;52 52子系列有子系列有2121个寄存器,占有个寄存器,占有2626个字节。个字节。5151子系列子系列SFRSFR的地址分配及位地址见
16、下页表:的地址分配及位地址见下页表:21 寄存器寄存器 位地址位地址/位定义位定义 地址地址 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F0F0 B B F0HF0H E7E7 E6E6 E5E5 E4E4 E3E3 E2E2 E1E1 E0E0 ACCACC E0E0 D7D7 D6D6 D5D5 D4D4 D3D3 D2D2 D1D1 D0D0 PSWPSW CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV /P P D0HD0H BFBF BEBE BDBD BCBC BBBB BABA B9B9 B8B8 IPIP B8HB8H B7B7
17、B6B6 B5B5 B4B4 B3B3 B2B2 B1B1 B0B0 P3P3 P3.7P3.7 P3.6P3.6 P3.5P3.5 P3.P3.4 4 P3.3P3.3 P3.2P3.2 P3.1P3.1 P3.0P3.0 B0HB0H IEIE A8HA8H A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 P2P2 P2.7P2.7 P2.6P2.6 P2.5P2.5 P2.4P2.4 P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0 A0HA0H SBUFSBUF 9999H H 22+SCON 98H 97 96 95 94 93
18、92 91 90 P1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 90H TH1 8DH TH0 8CH TL1 8BH TL0 8AH TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H 8F 8E 8D 8C 8B 8A 89 88 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H PCON SMOD/GF1 GF0 PD IDL 87H DPH 83H DPL 82H SP 81H 87 86 85 84 83 82 81 80 P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2
19、 P0.1 P0.0 80H 23 注意:注意:1、表中共有表中共有5个双字节寄存器。个双字节寄存器。2、PC也为双字节寄存器,但是也为双字节寄存器,但是不在不在80H FFH 范围内。范围内。3、表中,凡地址能被、表中,凡地址能被8整除的寄存器都是可位整除的寄存器都是可位 寻址的寄存器寻址的寄存器。24各寄存器的名称:各寄存器的名称:1、算术运算寄存器、算术运算寄存器(1)A累加器。累加器。(2)BB寄存器,乘、除法运算用。寄存器,乘、除法运算用。(3)PSW程序状态字寄存器:包含程序运程序状态字寄存器:包含程序运 行状态、信息。行状态、信息。25CY 进位进位/借位标志;位累加器借位标志;
20、位累加器。AC 辅助进辅助进/借位标志;用于十进制调整。借位标志;用于十进制调整。F0 用户定义标志位;软件置位用户定义标志位;软件置位/清零。清零。OV 溢出标志;溢出标志;硬件置位硬件置位/清零。清零。P 奇偶标志;奇偶标志;A中中1的个数为奇数的个数为奇数 P=1;否则否则 P=0。RS1、RS0 寄存器区选择控制位。寄存器区选择控制位。0 0:0区区 R0 R7 0 1:1区区 R0 R7 1 0:2区区 R0 R7 1 1:3区区 R0 R7 P RS0RS1OV F0 AC CY PSW262、指针寄存器、指针寄存器(1)程序计数器)程序计数器PC指明即将执行的下一条指令的地址指明
21、即将执行的下一条指令的地址(程序存储器地址程序存储器地址),在物理上独立,复位时在物理上独立,复位时PC=0000H。(2)堆栈指针堆栈指针SP指明栈顶元素的地址,指明栈顶元素的地址,8位,可软件设置初值,复位时位,可软件设置初值,复位时SP=07H。(3)数据指针数据指针DPTRDPTR;指明访问的数据存储器的单元地址,指明访问的数据存储器的单元地址,16位,位,寻址范围寻址范围64KB。DPTR=DPH+DPL,也可单独使也可单独使用。用。273、并行输入、并行输入/输出端口输出端口寄存器寄存器P0、P1、P2、P3实为相应端口锁存器。实为相应端口锁存器。4、串行输入、串行输入/输出端口输
22、出端口(1)串行数据缓冲器)串行数据缓冲器 SBUF是物理上独立的两个寄存器,共同使用一个地址(是物理上独立的两个寄存器,共同使用一个地址(99H)。(2)串行控制串行控制/状态寄存器状态寄存器SCON控制监视串行口的工作状态控制监视串行口的工作状态(3)电源控制寄存器)电源控制寄存器PCON控制单片机的低功耗工作方式及波特率选择。控制单片机的低功耗工作方式及波特率选择。285、中断系统、中断系统(1)中断优先级寄存器)中断优先级寄存器IP:2级优先,可软件设定级优先,可软件设定(2)中断允许寄存器)中断允许寄存器IE6、定时定时/计数器计数器(1)定时器方式寄存器:)定时器方式寄存器:TMO
23、D(2)定时器控制寄存器:定时器控制寄存器:TCON(3)计数寄存器:计数寄存器:TH0、TL0;TH1、TL1。可用于设定计数可用于设定计数初值。初值。29五、址空间五、址空间(1)内部)内部RAM 20H 2FH共共16个单元可按位寻个单元可按位寻 址址128位。位。(2)SFR 80H FFH 51子系列,有子系列,有11个寄存个寄存 器,器,83位;位;52子系列,有子系列,有12个寄存器,个寄存器,93位。位。六、外部数据存储器六、外部数据存储器 (1)容量最大扩展到)容量最大扩展到64KB (2)寻址范围:寻址范围:0000H FFFFH (3)寻址方式:间接寻址可用寻址方式:间接
24、寻址可用R0,R1DPTR 30 时钟的基本概念时钟的基本概念 启动单片机后,指令执行顺序:启动单片机后,指令执行顺序:取指令取指令 分析分析 执行执行 2-3 CPU时序时序31ALE2S6S2S6S3S4S5S3S4S5S1S1S一个机器周期一个机器周期P1 P2P1 P22S1S6S1S单字节单周期指令例:INC A读操作码读操作码)读下一个操作码(丢弃读下一个操作码(丢弃3S4S5S32以上是单周期单字节指令在执行过程中以上是单周期单字节指令在执行过程中ALE脉冲、取指脉冲、取指 操作、操作、执行操作等在时间上的先后关系。执行操作等在时间上的先后关系。时序的定义:时序的定义:单片机内的
25、各种操作都是在一系列脉冲控制下进行的,而各脉单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉 冲在时间上是有先后顺序的,这种顺序就称为时序。冲在时间上是有先后顺序的,这种顺序就称为时序。执令周期:执令周期:即从取指到执行完,所需时间。即从取指到执行完,所需时间。不同机器指令周期不一样;即使相同机器,不同的不同机器指令周期不一样;即使相同机器,不同的 指令其指令周期也不一样。指令其指令周期也不一样。机器周期:机器周期:机器的基本操作周期。个指令周期含若干机器周机器的基本操作周期。个指令周期含若干机器周 期(单、双、四周期)期(单、双、四周期)33 每个状态周期含两个振荡周期,即相位每个状态
26、周期含两个振荡周期,即相位P1、P2。振荡周期振荡周期:由振荡时钟产生。:由振荡时钟产生。振荡周期振荡周期Tosc=1/fosc 一个机器周期一个机器周期=12个振荡周期个振荡周期=121/fosc。例如,若例如,若fosc=12MHz,则一个机器周期则一个机器周期=1ss。状态周期:状态周期:一个机器周期分一个机器周期分6个状态周期个状态周期Si34ALE2S1S6S1S单字节单周期指令例:INC A读操作码读操作码)读下一个操作码(丢弃读下一个操作码(丢弃3S4S5S2S1S6S1S3S4S5S读操作码读操作码读第二个字节读第二个字节双字节单周期指令例:ADD A,DATA2S1S6S3S
27、4S5S2S1S6S3S4S5S读操作码读操作码读操作码(丢弃)读操作码(丢弃)单字节双周期指令例:INC DPTR2P1P1S2S6S2P1P1S2S6S3S4S5S3S4S5S35当当ALEALE(ALEALE信号为振荡频率信号为振荡频率6 6分频)正跳变时,对应单片分频)正跳变时,对应单片机进行一次读指令操作。一个机器周期二次出现,在机进行一次读指令操作。一个机器周期二次出现,在S1P2S1P2和和S2P1S2P1及及S4P2S4P2和和S5P1S5P1期间。期间。有效宽度为一个状态。有效宽度为一个状态。(1 1)单字节单周期指令:)单字节单周期指令:INC AINC A只需进行一次读指
28、令操作(指令只有一个字节),当第只需进行一次读指令操作(指令只有一个字节),当第二个二个ALEALE有效时,由于有效时,由于PCPC没有加没有加1 1,读出的还是原指令。,读出的还是原指令。属于一次无效操作。属于一次无效操作。36(2 2)双字节单周期指令:)双字节单周期指令:ADD AADD A,#data#dataALEALE两次读操作都有效,第一次读操作码(指令第两次读操作都有效,第一次读操作码(指令第一字节),第二次读立即数(指令第二字节)。一字节),第二次读立即数(指令第二字节)。(3 3)单字节双周期指令:)单字节双周期指令:INC DPTRINC DPTR两个机器周期共进行四次读
29、指令操作,但其后三两个机器周期共进行四次读指令操作,但其后三次的读操作都是无效的。次的读操作都是无效的。37 时钟的产生:时钟的产生:XTAL1(19)、)、XTAL(18)。)。1、内部方式内部方式 与作为反馈元件的片外晶体或陶瓷谐振器一起组成与作为反馈元件的片外晶体或陶瓷谐振器一起组成 一个自激振荡器。一个自激振荡器。2、外部方式、外部方式 CMOS工艺的工艺的8031,其,其XTAL1接外信号;接外信号;XTAL2 可悬空。可悬空。HMOS工艺的工艺的8031,其,其XTAL2接外信号;接外信号;XTAL1接地。接地。38提问与解答环节Questions And Answers谢谢聆听 学习就是为了达到一定目的而努力去干,是为一个目标去战胜各种困难的过程,这个过程会充满压力、痛苦和挫折Learning Is To Achieve A Certain Goal And Work Hard,Is A Process To Overcome Various Difficulties For A Goal