MCS-51单片机的片内结构、技术和实践要求_第1页
MCS-51单片机的片内结构、技术和实践要求_第2页
MCS-51单片机的片内结构、技术和实践要求_第3页
MCS-51单片机的片内结构、技术和实践要求_第4页
MCS-51单片机的片内结构、技术和实践要求_第5页
已阅读5页,还剩53页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MCS-51单片机的片内结构、技术和实践要求1MCS-51单片机的片内结构、技术和实践要求2.1 MCS-51单片机的片内结构1串行通信接口全双工 1个内部 ROMTXD RXD中断系统并行通信接口48bit定时/计数器 n16bit内部RAM电 路CPU总线控制2.2 MCS-51单片机的基本组成(1)一个8位微处理器CPU。(2)数据存储器RAM和特殊功能寄存器SFR。(3)内部程序存储器ROM。(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信。(7)中

2、断控制系统。(8)内部时钟电路。2.3 MCS-51的引脚描述说明P1口P3口P0口P2口 时钟端 复位端控制信号 接VCC(+5V) 接地端P1口P3口P0口P2口 时钟端 复位端控制信号 接VCC(+5V) 接地端电源及时钟(晶振端)引脚Vcc(40引脚):正电源端 (+5V)GND(20引脚):接地端 XTAL1(19引脚):XTAL2(18引脚):片内振荡电路输入/输出端20100pfx2112MHz(MCS-51)/024MHz(Atmel-89C)XTAL1XTAL2也可以由 XTAL2端接入外部时钟,此时应将 XTAL1接地:XTAL1XTAL2外部时钟通常外接一个晶振两个电容单

3、片机时钟电路及CPU基本时序向CPU提供两相时钟信号振荡器输出信号与晶振端引脚有关的概念CPU总是按照一定的时钟节拍与时序工作:振荡周期/时钟周期: Tc=晶振频率fosc(或外加频率)的倒数;状态周期:Ts=2个时钟周期(Tc)(很少用到此概念);机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc);指令周期: Ti:执行一条指令所需的机器周期(Tm)数; 振荡周期 = 晶振频率fosc的倒数;1个机器周期 = 12个振荡周期;1个指令周期 = 1、2、4个机器周期牢牢记住:各种周期概念详解一个机器周期=6个状态=12个振荡周期1、振荡周期(时钟周期):振荡器输出的振荡时钟脉冲信号的

4、周期。单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。2、状态周期:状态时间S,是振荡周期的两倍。分为P1、P2节拍。P1节拍通常完成逻辑操作, P2节拍通常完成内部寄存器间数据传送。3、机器周期 若把一条指令执行过程分为几个基本操作,则执行每个基本操作所需要的时间,称为机器周期。单片机的一个机器周期包括12个振荡周期,分为6个S状态:S1 -S6。每个状态又分为2拍,即前面介绍的P1和P2信号;个机器周期中的12个振荡周期可表示为S1P1,S1P2,S2P1S6P1,S6P2o 4、指令周期 CPU执行一条指令所需要的时间。是以 机

5、器周期为单位的 ,CPU执行一条指令通常需要14个机器周期 。 MCS-51单片机各种周期的相互关系 振荡周期 = 晶振频率fosc的倒数;1个状态周期 = 个振荡周期;1个机器周期 = 个状态周期;1个指令周期 = 1、2、4个机器周期P1P2S1振荡周期机器周期机器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2状态周期2.3.2 单片机的控制引脚(复位端)+5V10uF10KVccRSTGND上电复位RESET(9引脚):复位端(正脉冲有效,宽度8 mS) Vpd(9引脚)

6、:本引脚的第二功能,即备用电源输入端10uF10KVccRSTGND手动&上电复位1K+5V22F C1RST R11K+5V22F C1RST+5VR2200RSTR1+5VC222F 803180518751803180518751803180518751(a)上电复位电路(c)按键脉冲复位电路(b)按键电平复位电路 R11K22FC11K R21K图2-14 几种复位电路与复位端引脚有关的概念引脚RST/VPD :时钟电路工作后,加上两个机器周期的高电平,单片机将复位。单片机运行出错或进入死循环时,可按复位键重新运行。 复位后,引脚由高电平变为低电平时,单片机从0号单元取指,开始执行程序

7、。复用功能:将VPD接+5V备用电源,一但Vcc电位突然下降或断电,能保护片内RAM中的信息不被丢失,使复电后能正常工作。EA/Vpp(31引脚):内部和外部程序存贮器选择信号 /编程电源输入端。对8051来说,当EA为高时,CPU访问程序存贮器有两种情况: 地址小于4K时访问内部程序存贮器。 地址大于4K时访问外部程序存贮器。当EA接地,则不使用内部程序存贮器,不管地址大小,取指时总是访问外部程序存贮器。 片内无ROM时(8031)必须接地; 片内有ROM时应当接高电平;对片内有EPROM(8751)编程时,编程正电源加到此端。2.3.2 单片机的控制引脚( EA端)ALE/PROG(30引

8、脚):地址锁存允许信号/编程脉冲输入端。 当单片机访问外部存储器时,P0口输出的低八位地址由ALE输出的控制信号锁存到片外地址锁存器,P0口输出地址低8位后,又能与片外存储器之间传送信息。2.3.2 单片机的控制引脚( ALE端) 由于P0口作地址/数据复用口,那么P0口上的信息究竟是地址还是数据完全由ALE来定义,ALE高电平期间,P0口上一般出现地址信息,在ALE下降沿时,将P0口上地址信息锁存到片外地址锁存器,在ALE低电平期间P0口上一般出现指令和数据信息。平时不访问片外存贮器时,该端也以六分之一的时钟频率固定输出正脉冲。因而亦可作系统中其它芯片的时钟源。ALE可驱动8个TTL门。 对

9、于EPROM型单片机,在EPROM编程时,此脚用于编程脉冲PROG。30控制引脚详解PSEN(29引脚):片外程序存储器选通信号,低有效。在寻址外部程序存储器时选通外部EPROM的读控制端(OE)。2.3.2 单片机的控制引脚( PSEN)单片机锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROMP1.0P1.7: 准双向I/O口(内置了上拉电阻),输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚内部上拉电阻2.3.2 单片机的I/O引脚结构(P1)2

10、1DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚内部上拉电阻输出数据 = 1 时110截止=1P1.0P1.7: 准双向I/O口(内置了上拉电阻),输出时一切照常,仅在作输入口用时要先对其写“1”。2.3.2 单片机的I/O引脚结构(P1)21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚内部上拉电阻输出数据 = 0 时001=0导通P1.0P1.7: 准双向I/O口(内置了上拉电阻),输出时一切照常,仅在作输入口用时要先对其写“1”。2.3.2 单片机的I/O引脚结构(P1)21DQCK/Q读引脚 =1读锁存器写锁存器内部总线Vcc引脚内部上拉电阻输入数据时,要先对其写“1”11

11、0截止P1.0P1.7: 准双向I/O口(内置了上拉电阻),输出时一切照常,仅在作输入口用时要先对其写“1”。2.3.2 单片机的I/O引脚结构(P1)P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址/数据控制引脚34Vcc2.3.2 单片机的I/O引脚结构(P0)21DQCK/Q读引脚 =1读锁存器写锁存器内部总线地址/数据控制引脚34控制=0 时,此脚作输入口(事先必须对它写“1”)00100截止截止=0VccP0.0P

12、0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构(P0)21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址/数据控制=1引脚34控制=1时,此脚作地址/数据复用口:(1)输出地址/数据 =0 时1011=0导通截止=0VccP0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构(P0)21DQCK

13、/Q读引脚 =0读锁存器写锁存器内部总线地址/数据控制=1引脚34控制=1时,此脚作地址/数据复用口:(2)输出地址/数据 =1 时1100=1截止导通=1VccP0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构(P0)21DQCK/Q读引脚 =1读锁存器写锁存器内部总线地址/数据控制=1引脚34控制=1时,此脚作地址/数据复用口: (3)输入数据时,输入指令将使引脚与内部总线直通VccP0.0P0.7: 双向I/O (内置场效应管上拉) 寻

14、址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构(P0)P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址高8位控制引脚 3内部上拉电阻Vcc2.3.2 单片机的I/O引脚结构(P2)21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址高8位控制 引脚控制=0时,此脚作通用输出口: 输出=1时110截止3内部上拉电阻11Vcc=1=0P2.0P2.7: 双

15、向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构(P2)21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址高8位控制 引脚控制=0时,此脚作通用输出口:输出=0时001导通3内部上拉电阻00Vcc=0=0P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构(P2)21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址高8位控制=1 引脚控制=1 时,此脚作高8位地址A

16、8A15输出口:当输出 =1 时10截止3内部上拉电阻1=1Vcc=1P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构(P2)21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址高8位控制=1 引脚01导通3内部上拉电阻0=0Vcc=0控制=1 时,此脚作高8位地址A8A15输出口:当输出 =0 时P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。2.3.2 单片机的I/O引脚结构

17、(P2)P3.0P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出引脚 3内部上拉电阻Vcc第二功能输入42.3.2 单片机的I/O引脚结构(P3)21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出(WR,RD,TxD)引脚 3内部上拉电阻Vcc4第二功能输出时,内部自动 D=1111反相器P3.0P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。2.3.2 单片机的I/O引脚结构(P3)21DQC

18、K/Q读引脚读锁存器写锁存器内部总线此端自动1引脚 3内部上拉电阻Vcc 第二功能输入RxD,T0,T1,INT0,INT1)4第二功能输入时,信号经缓冲器4 直接进入内总线1110截止P3.0P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。2.3.2 单片机的I/O引脚结构(P3)仿真教学练习5_4x4目录下:实例体会I/O引脚内部结构深刻印象实例51单片机的8个特殊引脚Vcc, GND: 电源端、接地端XTAL1, XTAL2: 片内振荡电路输入、输出端RESET/Vpd: 复位端、正脉冲有效(宽度8 mS)EA/Vpp:

19、 寻址外部ROM控制端。低有效 片内有ROM时应当接高电平。ALE/PROG: 地址锁存允许控制端。PSEN:选通外部ROM的读(OE)控制端。低有效 小结51单片机引脚汇总51单片机的4个8位的I/O口P0.0P0.7:8位数据口和输出低8位地址复用口 (复用时是双向口;不复用时也是准双向口)P1.0P1.7: 通用I/O口(准双向口)P2.0P2.7: 输出高8位地址(用于寻址时是输出口;不寻址时是准双向口)P3.0P3.7: 具有特定的第二功能(准双向口)注意:在不外扩ROM/RAM时,P0P3均可作通用I/O口使用,而且都是准双向I/O口(例如:AT89C51)! 小结P3口第二功能表

20、引 脚第 二 功 能 P3.0RxD: 串行口接收数据输入端P3.1TxD: 串行口发送数据输出端P3.2INT0: 外部中断申请输入端 0P3.3INT1: 外部中断申请输入端 1P3.4T0: 外部计数脉冲输入端 0P3.5T1: 外部计数脉冲输入端 1P3.6WR: 写外设RAM控制信号输出端P3.7RD: 读外设RAM控制信号输出端 小结使P3端口各线处于第二功能的条件是:1、串行I/O处于运行状态(RXD,TXD);2、打开了外部中断(INT0,INT1);3、定时器/计数器处于外部计数状态(T0,T1)4、执行读写外部RAM的指令(RD,WR) 在应用中,如不设定P3端口各位的第二

21、功能(WR,RD信号的产生不用设置),则P3端口线自动处于第一功能状态,也就是静态IO端口的工作状态。在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态。在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式。程序存储器片内数据存储器片外数据存储器0000H000H00H0000H1000HFFFFHFFHFFFHFFFFH外部ROM内部ROM外部RAM内部RAMEA=1EA=0MCS-51单片机存贮器配置EA=1时,若地址大于4k,则自动访问外部RAM物理空间与逻辑地址物理上4个存储器地址空间: 片内/片外程序存储器空间 片内/片外数据存储器空

22、间逻辑上3个存储器地址空间: 64KB 程序存储器 256B 片内数据存储器 64KB 片外数据存储器普林斯顿结构:程序和数据共用一个存储器逻辑空间,统一编址。哈佛结构:程序与数据分为两个独立存储器逻辑空间,分开编址。片内RAM高128单元:SFR(80HFFH)低128单元(00H7FH)堆栈和数据缓冲区(30H7FH)位寻址区(20H2FH)通用寄存器区(00H1FH)片内数据存储器框架分析高128BRam00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外部ROMEA=0/1均可访问到内部ROM(EA=

23、1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外 部RAM(I/O口地址)0000HFFFFH内部数据存储器(a)外部数据存储器(b)程序存储器(c)工作寄存器区MCS-51单片机存储器结构地址细分位寻址区128BRAM若有外部ROM:EA=0只访问外部0000H-FFFFH;EA=1可访问内部0000H-0FFFH与外部1000H-FFFFH通用RAM区特殊功能寄存器SFRSFR分布在80H-FFH其中83个位可位寻址52子系列才有的RAM区存储器配置(片内RAM)片内RAM 128字节(00H7FH)00H20H2FH7FH1FH30H80HFFH普

24、通RAM区位寻址区工作寄存器区80HFFH所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器89C51 128字节00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区00FH10H17H18H片内RAM前32个单元是工作寄存器区 (00H1FH)存储器配置(片内RAM)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作

25、寄存器区在片内RAM的地址范围为:00H7FH中共有128个可按位寻址的位。 分布在:20H2FH字节单元中,即168128位存储器配置(片内RAM)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 283

26、7 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址总共128个可按位寻址的位分布在:20H2FH单元存储器配置(片内RAM)堆栈: 在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。功用:1)子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区

27、普通RAM区位寻址区工作寄存器区 SP栈顶下一个进栈的数据将存在此数据进栈已经进栈的数据存放在此初始 SP复位后 SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增 1,仍指着栈顶堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区

28、 SP栈顶当前要出栈的数据数据出栈SP-1指向下一个将要出栈的数据初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。89C51特殊功能寄存器(SFR)特殊功能寄存器SFR(专用寄存器)专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。不同的SFR管理不同的硬件模块,负责不同的功能各司其职换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。(1)程序计数器PC(Program Counter)P

29、C 不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊!特点:它是16位的按机器周期自动增1计数器一切分支/跳转/调用/中断/复位 等操作的本质就是:改变 PC 值总指向下一条指令所在首地址(当前PC值)特殊功能寄存器(PC)89C51有21个SFR(89C52有26个) 已知的P0、P1、P2、P3等四个8位I/O口分别由名为P0、P1、P2、P3四个SFR代表。(2)堆栈指针寄存器 SP(Stack Pointer): 总是指向栈顶,压栈时先 (SP)+1 然后数据进栈;弹栈时数据先出栈 然后(SP)-1。(3)累加器 ACC:一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输)。(4)副累加器 B:一个经常与 ACC 配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也经常当作普通寄存器使用。特殊功能寄存器(P0-P3,SP,A,B)(5)程序状态字寄存器 PSW:CYACF0RS0OVPRS1CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论