1、1v基本组成(内部资源)基本组成(内部资源)v存储器的配置存储器的配置vI/O口的应用功能口的应用功能v时序及电路时序及电路v工作方式工作方式2/8KB8052/803252子系列4KB/8751/4KB8051/803151子系列MCS-51 EPROM 掩膜MOS 存储器类型单片机系列MCS-51MCS-51系列单片机是因特公司系列单片机是因特公司19801980推出的高档推出的高档8 8位机位机分为二个子系列:分为二个子系列:3内部结构框图内部结构框图)单片机结构框图单片机结构框图 频率基准源 计数器 内部总线内部总线 中断 中断 控制 并行I/O口 串行输入/输出 8051振荡器及定时
2、电路4 K /8K字节程序存储器ROM128 /256字节数据存储器 RAM2 个16位定时器/计数器8051CPU64K字节总线扩展控制可编程I/O口4 8 位可编程串行口4v1、中央处理单元、中央处理单元CPU(8位)位) 用于数据处理、位操作(位测试、置位、复位)用于数据处理、位操作(位测试、置位、复位)v2、只读存储器、只读存储器ROM(4KB或或8KB) 用于永久性存储应用程序,掩膜用于永久性存储应用程序,掩膜ROM、EPROM、 EEPROM、Flash Memory(闪存闪存)v3、随机存取存取器随机存取存取器RAM(128B/256B) 用于程序运行中存储工作变量和数据用于程序
3、运行中存储工作变量和数据v4、并行输入、并行输入/输出口输出口 I / O(32线)线) 用作系统总线、扩展外存、用作系统总线、扩展外存、I / O接口芯片接口芯片v5、串行输入、串行输入/输出口输出口 UART (二线)二线) 串行通信、扩展串行通信、扩展I / O接口芯片接口芯片5v6、定时定时/计数器计数器 T(16位增量可编程)位增量可编程) 它与它与CPU之间各自独立工作,当它计数满时向之间各自独立工作,当它计数满时向 CPU中断中断v7、时钟电路时钟电路 fosc 分为内部振荡器、外接振荡电路分为内部振荡器、外接振荡电路v8、中断系统中断系统 五源中断、两级优先,可编程进行控制。五
4、源中断、两级优先,可编程进行控制。6v引脚分布如右图引脚分布如右图01p .71p .SSV1XTAL2XTALRD73p/.WR63p/.1T53p/.0T43p/.1INT33p/.0INT23p/.TXD13p/.RXD03p/.RST02p .72p .CCV00p .70p .PSENPROGALE /EAVpp /1820181917161514131211109212840393229303180517PLCC44(CHMOSPLCC44(CHMOS系列系列) )DIP(HMOSDIP(HMOS系列系列) )8v(1)电源引脚(电源引脚(2个)个):Vcc+5V,VssGNDv(
5、2)时钟和控制引脚时钟和控制引脚(6个个): XTAL1,XTAL2 RST/Vpdv(3)端口引脚端口引脚(32个个): P0.0P0.7(P0口口8个个) P1.0P1.7(P1口口8个个) P2.0P2.7(P2口口8个个) P3.0P3.7(P3口口8个个)/Vpp/VppEAEAPSENPROG/ALE9 时钟的产生:时钟的产生: XTAL1XTAL1(1919)、)、XTALXTAL(1818)。)。 1 1、内部方式内部方式 与作为反馈元件的片外晶体或陶瓷谐振器一起组成与作为反馈元件的片外晶体或陶瓷谐振器一起组成 一个自激振荡器。一个自激振荡器。 2 2、外部方式、外部方式 CM
6、OS CMOS工艺的工艺的80318031,其,其XTAL1XTAL1接外信号;接外信号;XTAL2XTAL2 可悬空。可悬空。HMOSHMOS工艺的工艺的80318031,其,其XTAL2XTAL2接外信号;接外信号; XTAL1XTAL1接地。接地。 1011vRST / VPD 当出现两个机器周期高电平时,单当出现两个机器周期高电平时,单片机复位片机复位 。 复位后,P0 P3 输出高电平;SP寄存器为07H;其它寄存器全部清0;不影响RAM状态。12vALE / PROG 地址锁存控制端地址锁存控制端 提供提供1/6 fosc振荡频率;为其内的振荡频率;为其内的EPROM输入编程输入编
7、程脉冲脉冲vPSEN 外部程序存储器的读选通信号端外部程序存储器的读选通信号端= 1 时,访问内部程序存储器时,访问内部程序存储器,即内即内ROMEAEAEA / Vpp 内内外外ROM选择端选择端 = 0 时,只访问外部程序存储器时,只访问外部程序存储器,即外即外ROM对于对于8751单片机编程时,该端施加编程电压单片机编程时,该端施加编程电压13四个四个8位的位的I / O口,还兼作地址口,还兼作地址/数据线。数据线。14三总线的概念三总线的概念地址总线地址总线 AB,P0口提供(口提供(A7 A0);); P2口提供(口提供(A15 A8),),共共16位。位。数据总线数据总线 DB,P
8、0口提供(口提供(D7 D0),),共共8位。位。控制总线控制总线 CB,ALE 、 、 、 、 等。等。EAPSENWRRD15165个独立的存储空间个独立的存储空间v片内片内/片外程序存储器片外程序存储器64KB(00000FFFFH)v128B的片内数据存储器(的片内数据存储器(007FH)v128B特殊功能寄存器特殊功能寄存器SFR(800FFH离散分布)离散分布)v位寻址空间位寻址空间256位(位地址位(位地址00H0FFH)v片外数据存储器片外数据存储器64KB(00000FFFFH)170 0F FF FF FF FH H0 0F FF FF FH H1EAROM 外外部部0EA
9、ROM 内内部部H0000 程序存储器程序存储器1000H1000HH00000 00 08 80 0H HRAM内内部部0 00 0F FF FH H能寄存器特殊功0 0F FF FF FF FH H)(外部外部K64RAM 数据存储器数据存储器H0000007FH007FH18寻址范围:寻址范围:00000000H -H - FFFFH FFFFH 容量容量6464KBKB,即即地址长度:地址长度:1616位位 1EA ,寻址内部寻址内部ROMROM;0EA ,寻址外部寻址外部ROMROM。 当当PCPC值超过片内值超过片内ROMROM容量时会自动转向外部存容量时会自动转向外部存储器空间。
10、储器空间。EA80318031单片机单片机接低电平。接低电平。作作 用:用: 存放程序及程序运行时所需的常数。存放程序及程序运行时所需的常数。19 0000H 系统复位,系统复位,PC指向此处;指向此处; 0003H 外部中断外部中断0入口入口 000BH T0溢出中断入口溢出中断入口 0013H 外中断外中断1入口入口 001BH T1溢出中断入口溢出中断入口 0023H 串口中断入口串口中断入口 002BH T2溢出中断入口溢出中断入口 20(二)内部数据存储器存储器空间(二)内部数据存储器存储器空间物理上分为两大区域:物理上分为两大区域:00H 7FH即即128B内内RAM区区 80H
11、FFH即即SFR区。区。组组通通用用寄寄存存器器区区第第0组组通通用用寄寄存存器器区区第第1组组通通用用寄寄存存器器区区第第2组组通通用用寄寄存存器器区区第第3)(位位地地址址位位寻寻址址区区FH7H00区区用用户户 RAMH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7R0、R1、R2、R3、R4、R5、R6、R7即可位寻址,又可字节寻址即可位寻址,又可字节寻址数据缓冲区、堆栈区、工作数据缓冲区、堆栈区、工作单元单元21位寻址区位寻址区v位寻址区(位寻址区(20H2FH)16个字节。个字节。16*8=128位,每位,每一位都有一个位地址,范围为:一位都有一个
12、位地址,范围为:00H7FH,位地址区位地址区也可作为一般也可作为一般RAM使用。使用。单单元元地地址址位位地地址址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H71H79H70H78H07FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H0822(三)特殊功能寄存器(三)特殊功能寄存器SFR(Special Function Register)vMCS-51单片机内共有单片机内共有22个特殊功能寄存器,包括个特殊功能寄存器,包括PC等。等。PC为程序计数器。它是一个双字节寄存器为程序计数器。它是一个双字节
13、寄存器,寻址范围为寻址范围为: 0000H FFFFH,即即0 64KB。v特殊功能寄存器。其寻址空间:特殊功能寄存器。其寻址空间:80H FFH 其中,其中,51子系列有子系列有18个寄存器,占有个寄存器,占有21个字节;个字节; 52子系列有子系列有21个寄存器,占有个寄存器,占有26个字节。个字节。2351子系列子系列SFR地址分配和位地址(地址分配和位地址(1) 寄存器寄存器 位地址位地址 / /位定义位定义 地址地址 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F0F0 B B F0HF0H E7E7 E6E6 E5E5 E4E4 E3E3 E2E2 E1E
14、1 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 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 A8H
15、A8H 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 2451子系列子系列SFR地址分配和位地址(地址分配和位地址(2)+ SCON 98H 97 96 95 94 93 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 GAT
16、E 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 P0.1 P0.0 80H 25说明说明注意:注意:v1、表中共有、表中共有5个双字节寄存器。个双字节寄存器。v2、PC也为双字节寄存器,但是不在也为双字节寄存器,但是不在80H
17、 FFH 范围内。范围内。 v3、表中,凡地址能被、表中,凡地址能被8整除的寄存器都是可位整除的寄存器都是可位 寻址的寄存器寻址的寄存器。261算术运算寄存器算术运算寄存器1、算术运算寄存器、算术运算寄存器v(1)A累加器。累加器。v(2)BB寄存器,乘、除法运算用。寄存器,乘、除法运算用。v(3)PSW程序状态字寄存器:包含程序运程序状态字寄存器:包含程序运 行状态、信息。行状态、信息。272 程序状态字程序状态字PSW(Program State Word)CY CY 进位进位/ /借位标志;位累加器借位标志;位累加器。AC AC 辅助进辅助进/ /借位标志;用于十进制调整。借位标志;用于
18、十进制调整。F0 F0 用户定义标志位;软件置位用户定义标志位;软件置位/ /清零。清零。OV OV 溢出标志;溢出标志; 硬件置位硬件置位/ /清零。清零。P P 奇偶标志;奇偶标志;A A中中1 1的个数为奇数的个数为奇数 P = 1P = 1;否则否则 P = 0P = 0。RS1RS1、RS0 RS0 寄存器区选择控制位。寄存器区选择控制位。 0 0 0 0 : 0 0区区 R0-R7R0-R7 0 1 0 1 : 1 1区区 R0-R7R0-R7 1 0 1 0 : 2 2区区 R0-R7R0-R7 1 1 1 1 : 3 3区区 R0-R7R0-R7 P RS0RS1OV F0 A
19、C CY PSW283 指针寄存器指针寄存器v程序计数器程序计数器PC 指明即将执行的下一条指令的地址指明即将执行的下一条指令的地址(程序存储器地址程序存储器地址),在物理上独立,复位时在物理上独立,复位时PC = 0000H。v堆栈指针堆栈指针SP 指明栈顶元素的地址,指明栈顶元素的地址,8位,可软件设置初值,复位位,可软件设置初值,复位时时SP = 07H。v数据指针数据指针DPTR DPTR;指明访问的数据存储器的单元地址,指明访问的数据存储器的单元地址,16位,位,寻址范围寻址范围64KB。 DPTR = DPH + DPL,也可单独使也可单独使用。用。 294 输入输入/输出端口的寄
20、存器输出端口的寄存器并行输入并行输入/输出端口输出端口 寄存器寄存器P0、P1、P2、P3实为相应端口锁存器。实为相应端口锁存器。串行输入串行输入/输出端口输出端口v(1)串行数据缓冲器)串行数据缓冲器 SBUF 是物理上独立的两个寄存器,共同使用一个地址是物理上独立的两个寄存器,共同使用一个地址 (99H)。)。v(2)串行控制串行控制/状态寄存器状态寄存器SCON 控制监视串行口的工作状态控制监视串行口的工作状态v(3)电源控制寄存器)电源控制寄存器PCON 控制单片机的低功耗工作方式及波特率选择。控制单片机的低功耗工作方式及波特率选择。305 中断系统和定时器的中断系统和定时器的SFRv
21、中断系统中断系统(1)中断优先级寄存器)中断优先级寄存器IP:2级优先,可软件设定级优先,可软件设定(2)中断允许寄存器)中断允许寄存器IEv定时定时/计数器计数器(1)定时器方式寄存器:)定时器方式寄存器:TMOD(2)定时器控制寄存器:定时器控制寄存器:TCON(3)计数寄存器:计数寄存器:TH0、TL0;TH1、TL1。可用于设可用于设定计数初值。定计数初值。31(1 1)内部)内部RAM 20H-2FHRAM 20H-2FH共共1616个单元可按位寻个单元可按位寻 址址128128位。位。(2 2)SFR 80H-FFH 51SFR 80H-FFH 51子系列,有子系列,有1111个寄
22、存个寄存 器,器,8383位;位;5252子系列,有子系列,有1212个寄存器,个寄存器,9393位。位。(四)位寻址空间(四)位寻址空间32v (1)容量最大扩展到)容量最大扩展到64KBv (2)寻址范围:寻址范围:0000H-FFFFHv (3)寻址方式:间接寻址可用寻址方式:间接寻址可用R0,R1,DPTR33 时钟的基本概念时钟的基本概念 启动单片机后,指令执行顺序:启动单片机后,指令执行顺序: 取指令取指令 分析分析 执行执行 34ALE2S6S2S6S3S4S5S3S4S5S1S1S一个机器周期一个机器周期P1 P2P1 P22S1S6S1S单字节单周期指令例:INC A读操作码
23、读操作码)读下一个操作码(丢弃读下一个操作码(丢弃3S4S5S35 以上是单周期单字节指令在执行过程中以上是单周期单字节指令在执行过程中ALEALE脉冲、取指脉冲、取指 操操作、执行操作等在时间上的先后关系。作、执行操作等在时间上的先后关系。时序的定义:时序的定义: 单片机内的各种操作都是在一系列脉冲控制下进行的,而各单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。脉冲在时间上是有先后顺序的,这种顺序就称为时序。 执令周期:执令周期:即从取指到执行完,所需时间。即从取指到执行完,所需时间。 不同机器指令周期不一样;即使相同机器,不同的不同机器
24、指令周期不一样;即使相同机器,不同的 指令其指令周期也不一样。指令其指令周期也不一样。 机器周期:机器周期:机器的基本操作周期。一个指令周期含若干机器周机器的基本操作周期。一个指令周期含若干机器周 期(单、双、四周期)期(单、双、四周期)36 每个状态周期含两个振荡周期,即相位每个状态周期含两个振荡周期,即相位P1P1、P2P2。 振荡周期振荡周期:由振荡时钟产生。:由振荡时钟产生。 振荡周期振荡周期ToscTosc = 1/fosc = 1/fosc 一个机器周期一个机器周期 = 12 = 12个振荡周期个振荡周期 = 12 = 121/1/foscfosc 。 例如,若例如,若foscfo
25、sc = 12MHz = 12MHz,则一个机器周期则一个机器周期 = 1 = 1ss。状态周期:状态周期:一个机器周期分一个机器周期分6 6个状态周期个状态周期SiSi37ALE2S1S6S1S单字节单周期指令例:INC A读操作码读操作码)读下一个操作码(丢弃读下一个操作码(丢弃3S4S5S2S1S6S1S3S4S5S读操作码读操作码读第二个字节读第二个字节双字节单周期指令例:ADD A,DATA2S1S6S3S4S5S2S1S6S3S4S5S读操作码读操作码读操作码(丢弃)读操作码(丢弃)单字节双周期指令例:INC DPTR2P1P1S2S6S2P1P1S2S6S3S4S5S3S4S5S
26、38当当ALEALE(ALEALE信号为振荡频率信号为振荡频率6 6分频)正跳变时,对应单片分频)正跳变时,对应单片机进行一次读指令操作。一个机器周期二次出现,在机进行一次读指令操作。一个机器周期二次出现,在S1P2S1P2和和S2P1S2P1及及S4P2S4P2和和S5P1S5P1期间。期间。有效宽度为一个状态。有效宽度为一个状态。(1 1)单字节单周期指令:)单字节单周期指令:INC AINC A只需进行一次读指令操作(指令只有一个字节),当第只需进行一次读指令操作(指令只有一个字节),当第二个二个ALEALE有效时,由于有效时,由于PCPC没有加没有加1 1,读出的还是原指令。,读出的还
27、是原指令。属于一次无效操作。属于一次无效操作。39(2 2)双字节单周期指令:)双字节单周期指令:ADD AADD A,#data#dataALEALE两次读操作都有效,第一次读操作码(指令第一字节),两次读操作都有效,第一次读操作码(指令第一字节),第二次读立即数(指令第二字节)。第二次读立即数(指令第二字节)。(3 3)单字节双周期指令:)单字节双周期指令:INC DPTRINC DPTR两个机器周期共进行四次读指令操作,但其后三次的读操两个机器周期共进行四次读指令操作,但其后三次的读操作都是无效的。作都是无效的。40 CHMOS型单片机提供两种省电工作方式:空闲方型单片机提供两种省电工作
28、方式:空闲方式式(等待方式等待方式)和掉电方式和掉电方式(停机方式停机方式),由由PCON控制。控制。41v特点特点:(1) CPU不工作,中断、串行口、定时器继续工作不工作,中断、串行口、定时器继续工作, 耗电耗电1.75mA;(2) CPU现场现场(SP,PC,PSW,ACC)、RAM和其他和其他SFR保持不变,保持不变,引脚保持进入空闲方式时状态,引脚保持进入空闲方式时状态,ALE和和PSEN*保持高电平。保持高电平。v进入方法:进入方法:CPU执行置执行置“1”PCON.0(IDL)指令指令 如:如:MOV PCON,#01H; IDL1v退出方法:退出方法:(1) 发生被允许的中断发
29、生被允许的中断:内部硬件清除内部硬件清除IDL,响应中断执行服务程序。响应中断执行服务程序。(2) 硬件复位。硬件复位。RST引脚引脚42v特点:特点: (1) 内部所有功能部件停止工作内部所有功能部件停止工作,内部内部RAM和寄存器和寄存器维持不变维持不变,耗电在耗电在550uA,Vcc可以降至可以降至2V; (2) IO引脚状态和相关的引脚状态和相关的SFR内容对应内容对应,ALE和和PSEN*为低电平。为低电平。v进入方法进入方法:CPU执行置执行置“1”PCON.1(PD)指令指令 如:如:MOV PCON,#02H; PD1v退出方法退出方法:硬件复位硬件复位,复位后复位后SFR内容
30、被初始化内容被初始化,RAM内容保持不变。内容保持不变。43v假设有一个假设有一个80C31数据采集系统在交流供电正常时完成所规定的全部功数据采集系统在交流供电正常时完成所规定的全部功能,停电时只有能,停电时只有80C31和外部和外部RAM依靠备用电池供电,要求系统的实时依靠备用电池供电,要求系统的实时时钟继续工作,外部时钟继续工作,外部RAM中的数据维持不变。中的数据维持不变。 v该系统的实时时钟由软件计时,该系统的实时时钟由软件计时,T0产生产生1ms的定时中断,的定时中断,T0中断服务中断服务程序完成实时时钟计数及其它的定时操作,同时检测程序完成实时时钟计数及其它的定时操作,同时检测P1
31、0上的输入状态,上的输入状态,若若P10为低电平,则交流供电正常;若为低电平,则交流供电正常;若P10为高电平,则交流电将要为高电平,则交流电将要停电或已经停电,这时置位停电或已经停电,这时置位GF0后返回。通常主程序是一个无限循环的后返回。通常主程序是一个无限循环的程序,当查询到程序,当查询到GF0为为“1” 时激活空闲方式,该指令下面的程序为循环时激活空闲方式,该指令下面的程序为循环查询查询GF0的状态,以确定是否需要再次激活空闲方式。的状态,以确定是否需要再次激活空闲方式。 交交流流停停电电检检测测电电路路80C31外外部部R RA AM M其其它它电电路路P P1 1. .0 0V V
32、C CC CV VC CC C8 8V V 备备用用电电池池5 5V V( (交交流流电电源源) )44T T0 0中中断断处处理理程程序序现现场场保保护护恢恢复复T T0 0初初值值实实时时时时钟钟计计数数G GF F0 0= =1 1? ?其其它它定定时时处处理理P P1 1. .0 0= =1 1? ?置置“1 1”G GF F0 0清清“0 0”G GF F0 0现现场场恢恢复复返返回回Y Ye es sN No oY Ye es sN No o主主程程序序系系统统初初始始化化操操作作1 1操操作作2 2G GF F0 0= =1 1?激激励励掉掉电电方方式式置置“1 1”I ID D
33、L L位位Y Ye es sN No o45v若有一个若有一个80C31应用系统,停电时只需保持外部应用系统,停电时只需保持外部RAM中的数中的数据不变。硬件电路框图加一个交流上电的复位电路。在交流电据不变。硬件电路框图加一个交流上电的复位电路。在交流电恢复供电时产生恢复供电时产生个复位信号,使器件退出掉电方式。个复位信号,使器件退出掉电方式。 v系统软件定时查询系统软件定时查询P10的状态,当查询到停电时,置的状态,当查询到停电时,置“1”PCON.1(PD)使器件进入掉电工作方式,直至交流电恢复使器件进入掉电工作方式,直至交流电恢复供电时才由硬件复位信号使供电时才由硬件复位信号使80C31
34、退出掉电工作方式,恢复系退出掉电工作方式,恢复系统的正常工作。统的正常工作。 交交流流停停电电检检测测电电路路80C31外外部部R RA AM M其其它它电电路路P P1 1. .0 0V VC CC CV VC CC C8 8V V 备备用用电电池池5 5V V( (交交流流电电源源) )46v片内片内RAM的容量?的容量?8051最大可配置的最大可配置的RAM/ROM容量?容量?v8051的的EA*,PSEN,RD,WR,ALE引脚的作用?引脚的作用?v请写出请写出MCS-51单片机的存储空间及其大小和地址范围。单片机的存储空间及其大小和地址范围。v如果如果PSW=10H,则当前的工作寄存器则当前的工作寄存器R0R7在内部在内部RAM的哪的哪些单元?些单元?v请写出请写出8051单片机可以位寻址的单片机可以位寻址的SFR。v时钟周期、机器周期和指令周期的含义?一个机器周期包含有时钟周期、机器周期和指令周期的含义?一个机器周期包含有多少个时钟周期?如果晶振频率是多少个时钟周期?如果晶振频率是12MHz,则时钟周期和机器,则时钟周期和机器周期是多少?周期是多少?