第2章MCS-51单片机的硬件结构教材_第1页
第2章MCS-51单片机的硬件结构教材_第2页
第2章MCS-51单片机的硬件结构教材_第3页
第2章MCS-51单片机的硬件结构教材_第4页
第2章MCS-51单片机的硬件结构教材_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

第二章MCS-51单片机的硬件结构

2.1MCS-51单片机的内部结构

2.2MCS-51单片机存储器组织

2.3MCS-51片外总线和复位

2.4MCS-51单片机的基本I/O端口2.1MCS-51单片机的内部结构

2.1.1MCS-51单片机的基本组成图2‑1MCS-51单片机的基本结构震荡器和时序OSC程序存储器2KBROM数据存储器256BRAM2x16位定时/计数器64KB总线扩展控制器I/O接口全双工串行口8051CPU外部时钟源外部事件计数外中断内中断控制并行口串行通信MCS-51单片机基本特征8位的CPU,片内有振荡器和时钟电路片内有128/256字节

RAM片内有0K/4K/8K字节程序存储器ROM可寻址片外64K字节数据存储器RAM可寻址片外64K字节程序存储器ROM片内21个特殊功能寄存器(SFR)4个8位的并行I/O口(P0-P3)1个全双工串行口(SIO/UART)2个16位定时器/计数器(TIMER/COUNTER)可处理5个中断源,两级中断优先级内置1个布尔处理器和1个布尔累加器(Cy)1.MCS-51单片机CPU结构CPU是单片机的核心,是计算机的控制和指挥中心,MCS-51内部CPU是一个字长为8位二进制的中央处理单元,即它对数据的处理是按字节为单位进行的。MCS-51内部CPU是由运算器(ALU)、布尔处理器和控制器(定时控制部件等)两部分电路组成。

程序状态字寄存器PSW(ProgramStatusWord)是8051的状态标志寄存器,用来保存ALU运算结果的特征。(1)运算器(ALU)ALU可以对4位、8位、16位数据进行算术运算和逻辑运算,并能完成数据传送、移位、判断和程序转移等操作。

累加器ACC(Accumulator)用于向ALU提供操作数和存放运算结果。

寄存器B(GeneralPurposeRegister)在乘除运算事存放一个操作数,并存放运算后部分结果。CYACF0RS0OVPRS1PSW.7PSW.0▼CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。▼AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DAA”指令时自动要判断这一位,我们可以暂时不关心它。▼F0(PSW.5)可由用户定义的标志位。PSW.6PSW.5

程序状态字寄存器

PSW:CYACF0RS0OVPRS1PSW.7PSW.0▼RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。RS1,RS0=01则选择了工作寄存器组

1区R0~R7分别代表08H~0FH单元。RS1,RS0=10则选择了工作寄存器组

2区R0~R7分别代表10H~17H单元。RS1,RS0=11则选择了工作寄存器组

3区R0~R7分别代表18H~1FH单元。PSW.4PSW.3RS1,RS0=00则选择了工作寄存器组

0区R0~R7分别代表08H~0FH单元。

▼OV(PSW.2)溢出标志位。

OV=1时特指累加器在进行带符号数(-128—+127)运算时出错(超出范围);OV=0时未出错。▼PSW.1未定义。▼P(PSW.0)奇偶标志位。

P=1表示累加器中“1”的个数为奇数

P=0表示累加器中“1”的个数为偶数

CPU随时监视着ACC中的“1”的个数,并反映在PSW中CYACF0RS0OVPRS1PSW.7PSW.0PSW.2PSW.1(2)控制器控制器是用来控制计算机工作的部件。它包括程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指示器SP、数据指针DPTR、时钟发生器和定时控制逻辑等。程序计数器PC(ProgramCounter)PC不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊!!!▼一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值▼总指向下一条指令所在首地址(当前PC值)▼它是16位的专用计数器,按机器周期自动加1特点:堆栈(Stack):在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。功用:1)子程序调用和中断服务时CPU自动将当前

PC值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区

SP栈顶下一个进栈的数据将存在此数据进栈已经进栈的数据存放在此初始SP复位后SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增1,仍指着栈顶……堆栈区由特殊功能寄存器堆栈指针SP管理

堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区

SP栈顶当前要出栈的数据数据出栈SP-1指向下一个将要出栈的数据初始SP堆栈区由特殊功能寄存器堆栈指针SP管理

堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP-1指向新的栈顶,也就是下一个将要出栈的数据数据出栈初始SP堆栈区由特殊功能寄存器堆栈指针SP管理

堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。

数据指针DPTR(DataPointer)特点:1)它是16位的地址寄存器,专门用来存放16位地址指针,作为间址寄存器使用。2)它可以对64K字节范围内的任意存储单元寻址。3)可分为两个8位独立的寄存器DPH和DPL使用。2.1.2

MCS-51的时钟与时序

单片机的工作工程是:取指令、译码、执行指令……,一步步地完成各种指令规定的功能。各指令的操作顺序在时间上有严格的次序,这种操作的时间顺序称为时序。

单片机的时钟信号用来为单片机芯片内部各种操作提供时间基准。

MCS-51单片机指令的取指和执行的时序图2‑2MCS-51的取指/执行时序2.2

MCS-51存储器组织数据存储器——RAM(RandomAccessMemory)程序存储器——ROM(ReadOnlyMemory)闪速存储器——FlashMemoryEPROM——ErasableProgrammableROMEEPROM/E2PROM——ElectricalErasableProgrammableROM按字节寻址:每个字节(8个位)占一个地址按位寻址:有的存储器每一个位就有一个地址图2‑48051存储空间分配图8051存储器空间配置如图2-4所示。8051片内存储器0FFFHFFH80H7FH00H0000HSFRRAM64KBRAM4KBROMEA=164KBROMEA=00000HFFFFH1000H0FFFHFFFFH0000H(1)程序存储器地址空间8031内部没有片内ROM存储器,8051/8751有4KB片内ROM/EPROM存储器,地址范围为0000H—FFFFH。无论8031还是8051/8751,都可外接外部ROM。但片内外之和不能超过64KB。EA接+5V高电平,则机器使用片内4KBROM;

若EA接地,则机器自动使用片外ROM。程序存储器中,某些单元保留给系统使用,见下表2—3。

存储器单元保留单元目的0000H~0002H复位后初始化引导程序0003H~000AH外部中断0000BH~0012H定时器0溢出中断0013H~001AH外部中断1001BH~0022H定时器1溢出中断0023H~002AH串行端口中断002BH定时器2溢出中断(8052)(2)数据存储器地址空间

MCS-51的RAM存储器有片内和片外之分:片内RAM128字节(00H—7FH)片外RAM共有64K字节(0000H—FFFFH)MCS-51RAM的实际存储容量是超过64KB的,片内、外的0000H—00FFH是重叠的。MOV指令用于片内RAM的寻址MOVX指令用于片外RAM的寻址片内低128字节RAM—RAM区片内RAM低128字节(00H—7FH)00H20H2FH7FH1FH30H80HFFH普通RAM区位寻址区工作寄存器区SFR分布在80H-FFH其中83个位可位寻址所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器低128字节高128字节00H20H2FH7FH1FH30H80HFFH普通RAM区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区00FH10H17H18H片内RAM前32个单元是工作寄存器区(00H—1FH)SFR片内低128字节RAM—RAM区00H20H2FH7FH1FH30H数据区位寻址区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位地址总共128个可按位寻址的位片内RAM中有128个可按位寻址的位。

位地址:00H—7FH

分布在:20H—2FH单元片内低128字节RAM—RAM区片内低128字节RAM—RAM区堆栈、数据缓冲区(用户区)

地址为30H~7FH用户区共有80个单元,用于存放用户数据或作堆栈区使用。MCS-51对数据区的每个RAM单元是按字节存取的。高128字节RAM--特殊功能寄存器SFR8051有21个SFR(P.32~34)每个SFR占一个存储单元,它们离散地分布在80H-FFH地址范围内。用户可以对SFR进行字节存取:使用物理地址:如累加器A用E0H,B用F0H使用寄存器标号:如累加器A用Acc,B用B用户也可以对带“*”的SFR进行位寻址。2.3

MCS-51单片机的片外总线与复位2.3.1.I/O引脚(48=32条)8051共有四个并行端口,每个端口有8条引脚线,用于传送数据、地址。

P0.0—P0.7:8位数据口和输出低8位地址复用口(复用时是双向口;不复用时也是准双向口)

P1.0—P1.7:通用I/O口(准双向口)

P2.0—P2.7:

输出高8位地址(用于寻址时是输出口;不寻址时是准双向口)

P3.0—P3.7:具有特定的第二功能(准双向口)注意:在不外扩ROM/RAM时,P0~P3均可作通用I/O口使用,而且都是准双向I/O口!MCS-51双列直插式封装和引脚分配MCS-51单片机40脚Vcc,GND

2XTAL1,XTAL2

2RST/Vp

1EA/Vpp1ALE/PROG1PSEN

1P0.0—P0.78P1.0—P1.78P2.0—P2.78P3.0—P3.78返回2.控制引脚(4条)ALE/PROG:地址锁存允许控制端。

EA/Vpp:寻址外部ROM控制端。低有效片内有ROM时应当接高电平。PSEN:选通外部ROM的读(OE)控制端。低电平有效RESET:复位端正脉冲有效(宽度

8mS)3.时钟引脚(2条)XTAL1,XTAL2:片内振荡电路输入、输出端4.电源引脚(2条)Vcc,VSS:电源端MCS-51单片机的引脚(电源端)VCC,VSS:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。MCS-51单片机的引脚(晶振端)VCC,VSS:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。XTAL1,XTAL2:片内振荡电路输入/输出端MCS-51单片机的引脚(晶振端)VCC,VSS:正电源端与接地端(+5V/;地线)XTAL1,XTAL2:片内振荡电路输入/输出端15~45pf☓21~12MHz(MCS-51)

0~24MHz(Atmel-89C)XTAL1XTAL2也可以由

XTAL1端接入外部时钟,此时应将

XTAL2接地:XTAL2XTAL1外部时钟通常外接一个晶振两个电容MCS-51单片机的引脚(晶振端)VCC,VSS:正电源端与接地端(+5V;地线)XTAL1,XTAL2:片内振荡电路输入、输出端CPU总是按照一定的时钟节拍与时序工作:振荡周期/时钟周期:

Tc=晶振频率fosc(或外加频率)的倒数状态周期:Ts=2个时钟周期(Tc)(很少用到此概念)机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)指令周期:

Ti:执行一条指令所需的机器周期(Tm)数牢牢记住:1个振荡周期=晶振频率fosc的倒数;1个机器周期=12个振荡周期;1个指令周期=1、2、4个机器周期

MCS-51单片机的引脚(复位端)VCC;VSS:电源端(+5V;地线)XTAL1,XTAL2:片内振荡电路输入、输出端RST/VPD:复位端(高电平有效,宽度两个机器周期)复位使单片机进入某种确定的初始状态:

PC值归零(0000H);▼各个SFR被赋予初始值(见P.42):P0~P3=0FFH,Acc=00H,B=00H,TH0=00H,TL0=00H,TH1=00H,TL0=00H,SP=07H,PSW=0……▼退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。MCS-51单片机的引脚(复位端)VCC;VSS:电源端(+5V;地线)XTAL1,XTAL2:片内振荡电路输入、输出端RST/VPD:复位端(高电平有效,宽度两个机器周期)MCS-51单片机的引脚(复位端)+5V10uF10KVccRSTGND上电复位10uF10KVccRSTGND手动&上电复位1KVCC;VSS:电源端(+5V;地线)XTAL1,XTAL2:片内振荡电路输入、输出端RST/VPD:复位端(高电平有效,宽度两个机器周期)+5V返回MCS-51单片机的引脚(EA端)VCC;VSS:电源端(+5V;地线)XTAL1,XTAL2:片内振荡电路输入、输出端RST/VPD:复位端(高电平有效,宽度两个机器周期)EA/Vpp:寻址外部ROM控制端/编程电源输入端。

低有效,片内无ROM时必须接地;片内有ROM时应当接高电平;

对片内ROM编程时编程正电源加到此端。MCS-51单片机的引脚(ALE端)VCC;VSS:电源端(+5V;地线)XTAL1,XTAL2:片内振荡电路输入、输出端RST/VPD:复位端(高电平有效,宽度两个机器周期)EA/Vpp:寻址外部ROM控制端/编程电源输入端。ALE/PROG:地址锁存允许/编程脉冲输入端。

P0口寻址外部低8位地址时接外部锁存器G端;

ALE端平时会输出周期正脉冲:f

fosc/6;

对片内ROM编程时编程脉冲由此端加入。

MCS-51单片机的引脚(PSEN端)PSEN:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效。G单片机锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7EAOECEEPROMMCS-51单片机的引脚(PSEN端)PSEN:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效。2.3.2总线一般情况下,微机的CPU的外部都有单独的地址总线、数据总线和控制总线。而单片机由于引脚数量的限制,数据线和地址线是复用的,并与I/O口线兼用。8051的40条引脚,除电源、晶振接入和通用I/O端口外,其余引脚都是为系统扩展而设置的。地址锁存器地址线数据线控制线P2P0PSENALERDWR8051图2—3片外总线配置图一、地址总线P2口提供高8位地址A8~

A15,P0口经地址锁存器提供低8位地址A7~

A0。共16位地址,外部寻址空间为64K。二、数据总线P0口提供数据总线D7~D0。P0口是分时复用线,它既输送低8位地址信息(经地址锁存器锁存),又要传送数据信息。三、控制总线主要由ALE、PSEN、WR、RD组成,其中WR、RD是P3口的第二功能。2.3.3MCS-51的复位复位是使单片机的CPU或系统中的其它部件处于某一确定的初始状态,并从这一状态开始工作。一、复位电路当在8051的RST引脚输入高电平并保持2个机器周期,单片机就执行复位操作。PC与SFR复位状态表寄存器复位状态寄存器复位状态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H2.4MCS-51单片机I/O端口

I/O端口又称为I/O接口,也叫I/O通道或通路。I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,用于信息的传送。

I/O端口有并行和串行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次可传送一组二进制信息。(1)并行I/O端口

8051有4个8位并行I/O端口,称为P0、P1、P2和P3,每个端口有8条I/O线。每个端口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲器,作输出时数据可以锁存,作输入时数据可以缓冲。下面分别对各端口结构加以说明。P1.0—P1.7:准双向I/O口(内置了上拉电阻)

输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻I/O端口结构(P1口)简单测控实例原理图21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=1时110截止=1I/O端口结构(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)

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

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

输出时一切照常,仅在作输入口用时要先对其写“1”。P1.3作输入端口光路通畅,R亮

2K

光路阻断,R暗

400K

R亮<2.2K

R暗

>250K

JOB3:CLRP1.1;亮绿灯REDO:SETBP1.3

;P1.3作输入口必先置1CHECK:JNBP1.3,CHECK;检测通道是否被阻断?LOOP:…………;有入侵者,报警!

AJMPREDO;再跳回去检测任务三:红外防盗报警P1.3口用于输入状态检测的语句:

R亮<2.2K

,红外线光路通畅时,P1.3端=低电平R暗>250K

,红外线光路阻断时,P1.3端=高电平I/O端口结构(P0口)P0.0—P0.7:双向I/O(内置场效应管上拉)

寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址/数据控制引脚P0.X34Vcc21DQCK/Q读引脚=1读锁存器写锁存器内部总线地址/数据控制引脚P0.X34控制=0时,此脚作输入口(事先必须对它写“1”)00100截止截止=0VccI/O端口结构(P0口)P0.0—P0.7:双向I/O(内置场效应管上拉)

寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚=0读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(1)输出地址/数据=0

时1011=0导通截止=0VccI/O端口结构(P0口)P0.0—P0.7:双向I/O(内置场效应管上拉)

寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚=0读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(2)输出地址/数据=1

时1100=1截止导通=1VccI/O端口结构(P0口)P0.0—P0.7:双向I/O(内置场效应管上拉)

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

寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。I/O端口结构(P2口)P2.0—P2.7:双向I/O(内置了上拉电阻)

寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址高8位控制引脚P2.X3内部上拉电阻Vcc21DQCK/Q读引脚=0读锁存器写锁存器内部总线地址高8位控制引脚P2.X控制=0时,此脚作通用输出口:输出=1时110截止3内部上拉电阻11Vcc=1=0I/O端口结构(P2口)P2.0—P2.7:双向I/O(内置了上拉电阻)

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

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

温馨提示

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

评论

0/150

提交评论