MCS51单片机结构及原理课件_第1页
MCS51单片机结构及原理课件_第2页
MCS51单片机结构及原理课件_第3页
MCS51单片机结构及原理课件_第4页
MCS51单片机结构及原理课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

作业第47页2、3、5、6、8、10、13、151TEM1ALUROMP3口驱动PC增量器

定时器/计数器模块PSENALERESETEAXTAL1XTAL2P2.0~P2.7P0.0~P0.7P3.0~P3.7P1.0~P1.7VccGND振荡器指令指针寄存器定时与控制电路TEM2AccSPBP3口锁存器P1口驱动P1口锁存器PSWP2口锁存器P3口锁存器P2口驱动P2口驱动RAM地址寄存器RAM寄存器程序地址寄存器缓冲器DPTRpcSBUFIEIPTH0TL0TH1TL1串行口模块中断模块PCONSCONTMODTCON1、16位寄存器,低8位经P0口输出,高8位经P2口输出2、存放下一条将要执行的指令地址.程序中的指令是按照顺序存放在存储器中的某个连续区域.每条指令都有自己的地址,CPU根据PC中的指令地址从存储器中取出将要执行的指令.3、具有自动加1功能,从而指向下一条将要执行的指令地址.4、PC的值可以修改,一般程序是按顺序执行指令的.若改变了的PC的值,则程序将不再按顺序执行。1、数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。2、既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。3、DPTR主要用来存放16位地址,当对64KB外部数据存储器空间寻址时,作为间址寄存器用。在访问程序存储器时,用作基址寄存器。2TEM1ALUROMP3口驱动PC增量器

定时器/计数器模块PSENALERESETEAXTAL1XTAL2P2.0~P2.7P0.0~P0.7P3.0~P3.7P1.0~P1.7VccGND振荡器指令指针寄存器定时与控制电路TEM2AccSPBP3口锁存器P1口驱动P1口锁存器PSWP2口锁存器P3口锁存器P2口驱动P2口驱动RAM地址寄存器RAM寄存器程序地址寄存器缓冲器DPTRpcSBUFIEIPTH0TL0TH1TL1串行口模块中断模块PCONSCONTMODTCON1、SP称为堆栈指针,8位寄存器2、SP用来存放堆栈栈顶的地址。IR指令寄存器:用来存放当前正在执行的指令代码。ID指令译码器:用来对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号。PLA:产生出各种操作电位、不同节拍的信号、时序脉冲等执行此条命令所需的全部控制信号。32.1.3MCS-51单片机的内部结构(二)存储器1.内部数据存储器 单片机的内部数据存储器由RAM地址寄存器、地址译码器以及128个单元的RAM构成,用于存放可读写的数据。2.内部程序存储器MCS-51系列单片机(8031除外)的内部程序存储器由程序地址寄存器、地址译码器以及4K(4096)个单元的ROM构成,用于存放程序的机器代码和常数。3.特殊功能寄存器(SpecialFunctionRegister,SFR)MCS-51系列单片机有21个可以寻址的特殊功能寄存器,包括单片机内的I/O口、串行口、定时/计数器、中断系统等相关的数据寄存器(或缓冲器)以及控制寄存器和状态寄存器,用于存放相应功能部件的控制命令、状态和数据。4(三)并行口(ParallelPort) 有4个并行的I/O口:P0、P1、P2、P3,每根口线都可独立地用作输入或输出。(四)串行口(SerialPort) 有1个全双工的串行口,用于串行通信。串行口由发送缓冲器SBUF、接收缓冲器SBUF、移位寄存器和串行口控制逻辑等部分组成。(五)定时/计数器(Timer/Counter)

有2个16位的定时/计数器T0和T1,T0由TH0和TL0构成,T1由TH1和TL1构成,定时/计数器方式寄存器TMOD选择定时/计数器的工作模式和方式,定时/计数器控制寄存器TCON控制T0和T1的启动和停止,同时反映T0和T1的溢出状态。(六)中断系统(InterruptSystem) 有5个中断源,分别为2个外部中断、2个定时/计数器溢出产生的中断、1个串行口接收/发送产生的中断,提供2个中断优先级。52.2MCS-51单片机的存储器 MCS-51单片机的程序存储器和数据存储器分开设置,地址空间相互独立。MCS-51存储器地址空间可分为以下5类: (1)程序存储器,最大空间64K; (2)片内数据存储器,128个单元; (3)特殊功能寄存器,共21个; (4)位寻址空间,211位; (5)外部数据寄存器,最大空间64K。 这些资源与单片机应用的关系密切,下面我们介绍上述5类存储空间的功能。6存储器程序存储器数据存储器程序存储器和数据存储器的寻址空间是分开的,属于哈佛存储结构。片内存储器片外存储器片内存储器片外存储器四个物理上独立的空间7从物理结构上单片机系统的存储器结构图

(四个部分)

MCS-51单片机片内ROM4K片内RAM256B片外RAM64K片外ROM64K800H1FH20H80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址内部ROM(EA=1)0000H0000H0FFFHFFFFH外部RAM(I/O口地址)0000HFFFFH内部数据存储器(a)外部数据存储器(b)程序存储器(c)MCS-51单片机存储器结构movmovxmovc工作寄存器区位寻址区2FH30H通用RAM区7FH80H特殊功能寄存器FFH(EA=0)外部ROM外部ROMFFFFH1000H92.2.1程序存储器 程序存储器用来存放程序和常数,最大寻址空间64K单元。MCS-51系列产品按程序存储器配置类型分为3类: 8051芯片含有4k个单元的ROM; 8751芯片含有4k个单元的EPROM; 8031中无程序存储器,需要扩展程序存储器。 在实际应用中,用户既可使用芯片内部的程序存储器,也可以使用芯片外部的程序存储器,但最大空间为64k,程序存储器的地址空间构成与引脚的接法有关。10(1)内部含有程序存储器的单片机 当=1(接高电平)时:EA程序存储器连接电路锁存器P0P2ALEPSENEAVccR片外ROMDBOE

AB8751/8051程序存储器结构00000FFF1000FFFF00010FFEFFFE

1001片内4K

片外60K…………11(1)芯片内部含有程序存储器的单片机 当=0(接低电平)时:EA程序存储器连接电路锁存器P0P2ALEPSENEA片外ROMDBOE

AB8051程序存储器结构0000FFFFFFFE0001

片外64K……12(1)芯片内部不含有程序存储器的单片机(8031) 必须接地,8031的程序存储器结构程序存储器结构EA程序存储器连接电路锁存器P0P2ALEPSENEA片外ROMDBOE

AB8051程序存储器结构0000FFFFFFFE0001

片外64K……不论哪一种MCS-51单片机,如果接地,其内部的程序存储器将被CPU忽略EA13MCS-51单片机片内、外程序存储器的使用示意图0FFFH0000H0FFFH0000HFFFFH1000HEA=1时,ROM的使用EA=0时ROM的使用片外程序存储器(最大64K)单片机内部程序存储器(4K)14 在单片机的程序存储器中,有5个特殊的单元地址:外部中断入口地址0003H,外部中断入口地址0013H,定时/计数器T0入口地址000BH,定时/计数器T1入口地址001BH,串行口中断入口地址0023H。中断入口地址映射0000000100020003000B0013001B0023复位INT0中断入口INT1中断入口T0中断入口T1中断入口串行口中断入口152.2.2片内数据存储器 MCS-51单片机的片内RAM按照功能可分为3个区域: 00~1FH:32个单元为工作寄存器区 20~2FH:16个单元为位寻址区 30~7FH:80个单元为数据缓冲区片内RAM分区示意图000102031F202F7F数据缓冲区(80个单元)位寻址区工作寄存器区30

(16个单元)(32个单元)………16MCS-51单片机片内RAM的配置图89C51内有256B的RAM单元,其地址范围为00H—FFH,分为两大部分:低128字节(00H~7FH)为真正的RAM区;高128字节(80H~FFH)为特殊功能寄存器区SFR。00H7FH真正的RAM区80HFFHSFR17(一)工作寄存器00H7FH真正的RAM区80HFFHSFR00H1FH工作寄存器区20H2FH位寻址区30H7FH普通RAM区00H07H0组08H0FH1组10H17H2组18H1FH3组1、工作寄存器区是指00H~1FH区,共分4个组,每组有8个单元,共32个内部RAM单元。2、每次只能有1组作为工作寄存器使用,其它各组可以作为一般的数据缓冲区使用。3、作为工作寄存器使用的8个单元,又称为R0—R74、程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择哪一组作为工作寄存器使用。CPU通过软件修改PSW中RS0和RS1两位的状态,就可任选一个工作寄存器工作。18RS1、RS0与片内工作寄存器组的对应关系RS1RS0寄存器组片内RAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7013组18H~1FHR0~R719工作寄存器和RAM地址对照表

2000H7FH真正的RAM区80HFFHSFR(二)位寻址区00H1FH工作寄存器区20H2FH位寻址区30H7FH普通RAM区20H25H21H22H23H24H27H26H28H2DH29H2AH2BH2CH2FH2EH1、位寻址区是指20H~2FH单元,共16个单元。2、位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。3、位寻址区的

16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H~1FH。4、同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲区。21单元地址D7D6D5D4D3D2D1D02CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A09082DH6F6E6D6C6B6A696820H07060504030201002EH77767574737271702FH7F7E7D7C7B7A7978内部RAM中20~2FH的位地址映射2220~2FH单元的位地址区的使用:在片内RAM中只有20~2FH单元的位能够进行位操作,我们经常表示为20H.0,它与位地址00H是等价的。位寻址区16个单元也可以按单元访问,所以,当位寻址区16个单元的128位未完全使用时,其剩余单元也可作为RAM单元使用。2300H7FH真正的RAM区80HFFHSFR(三)数据缓冲区00H1FH工作寄存器区20H2FH位寻址区30H7FH普通RAM区(1)数据缓冲区的作用作为数据缓冲、数据暂存、作为堆栈区使用;这些单元只能按单元访问。(2)堆栈堆栈是为了保护CPU执行程序的现场,在存储器中开辟了一个“先进后出”(后进先出)的区域2400H7FH真正的RAM区80HFFHSFRMCS-51单片机片内RAM的配置图(四)特殊功能寄存器1、高128B的RAM单元中有21个单元可用,称为SFG。这21个SFG分散在高128B的地址空间内,分别是A,B,PSW,SP,DPH,DPL,P0,P1,P2,P3,IP,IE,TCON,TMOD,TH0,TL0,TH1,TL1,SCON,SBUF,PCON。2、有些可以按位寻址。3、特殊功能寄存器名称、标识符、地址见表25MCS-51芯片内部有21个可寻址的SFR(具有地址),它们离散的分布在片内RAM80H~FFH范围内,并与内RAM统一编址。MCS-51芯片内部还有1个不可寻址的SFR——程序计数器PC。对可寻址的SFR只能采用直接寻址方式,即按单元地址访问的模式;可寻址的SFR中部分SFR(单元地址能够被8整除)具有位寻址功能。26 SFR的位地址空间 凡是SFR的地址能被8整除的SFR都具有位寻址功能,MCS-51单片机共有11个SFR具有位寻址功能,这些寄存器(单元)的每一位都有一个位地址。 特殊功能寄存器(SFR)的位地址空间的特点:(1)SFR对应的单元地址为该SFR最低位的位地址。(2)SFR的位寻址区地址是不连续的。27

SFR位寻址空间地址映射SFRD7D6D5D4D3D2D1D0ACCE7E6E5E4E3E2E1E0BF7F6F5F4F3F2F1F0单元地址PSWD7D6D5D4D3D2D1D0IPBFBEBDBCBBBAB9B8B8P3B7B6B5B4B3B2B1B0B0IEAFAEADACABAAA9A8A8P2A7A6A5A4A3A2A1A0A0SCON9F9E9D9C9B9A999898P19796959493929190TCON8F8E8D8C8B8A8988P08786858483828180908880D0E0F0CyACF0RS1RS0OV—P———PSPT1PX1PT0PX0P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0EA——ESET1EX1ET0EX0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SM0SM1SM2RENTB8RB8TIRITF1TR1TF0TR0IE1IT1IT0IE0282.2.3特殊功能寄存器MCS-51单片机SFR的使用: (1)对于SFR以单元形式访问时,只能采用直接寻址方式。如:

MOVSBUF,AMOV99H,A

二者是等价的。 (2)对于80~FFH区间未定义的单元,用户不得使用。同样,对于未定义位地址所对应的位操作也是无效的。 (3)在编程时,最好不要采用SFR作为中间寄存器暂存中间结果。因为复位时,多数SFR被清0.292.2.4MCS-51单片机的位寻址空间

MCS-51单片机的位寻址空间由两部分组成,位地址范围为00~FFH。MCS-51位寻址空间片内RAM中20-2FH单元的128位,占用位地址范围:00~7FH;地址能被8整除的SFR具有位寻址功能,占用位地址范围:80~FFH302.2.5外部数据存储器 MCS—51系列单片机的外部数据存储器是一个独立的物理空间,外部数据存储器和外部I/O口共同占用这个空间,最大可以扩展到64k,地址范围为:0000H~FFFFH(1)外部RAM和外部I/O口与单片机的连接锁存器P0P2ALEEARAM或I/O口DBOE

AB8051RDWEWRVccP3.6P3.7外部RAM和外部I/O口结构映射0000FFFFFFFE0001

片外64kRAM及I/O口31 一、单片机I/O的作用单片机芯片上的输入输出口有4个,P0,P1,P2和P3。它们的作用与单片机是否扩展有关:(1)不进行存储器和I/O口扩展时P0:I/O口; P1:I/O口; P2:I/O口;P3:I/O口,也可以作为第二功能使用;当P3口某些引脚作为第二功能使用时,不可再作为I/O口线使用。如P3.0和P3.1作为RXD和TXD时,不可再作为I/O口线使用。2.3MCS-51单片机的I/O口

32(2)进行存储器和I/O口扩展时P0:低八位地址总线/数据总线P2:高八位地址总线P1:I/O口P3:I/O口或第二功能,当P3口某些引脚作为第二功能使用时,不可再作为I/O口线使用。332.3.1P0口P0口某一位的结构图如下图所示,它由一个输出锁存器、两个三态输入缓冲器、一个转换开关MUX、一个输出驱动电路(V1和V2)和一个与门及一个非门组成。10&DCKQQMUXV1V2锁存器

地址/数据控制信号C内部总线写锁存器读锁存器读引脚P0.x引脚21Dx43Vcc34数据

锁存器MUXP0.x

1.作通用I/O口(控制=0)输出(片内数据

端口)读引脚:P0.x→G1→

D→内部总线。2.作地址/数据总线口(控制=1)控制MUX写:地址/数据为1,P0.x——高地址/数据为0,P0.x——低读:经缓冲器G1读入&DCKQQMUXV1V2锁存器

地址/数据控制信号C内部总线写锁存器读锁存器读引脚P0.x引脚21Dx43Vcc在输入数据时应先把口置1,使V1、V2管截止,引脚处于悬浮状态,可作高阻抗输入读锁存器Q→

G2→D→内部总线,适于“读—修改—写”作为通用I/O使用,是一个准双向口:35(1)P0口用作通用I/O口MUX与锁存器的Q端接通,与门输出为0,T1截止,输出驱动级就工作在需外接上拉电阻的漏极开路方式。①P0口用作输出口CPU在执行输出指令时,内部数据总线的数据在“写锁存器”信号的作用下,由D端进入锁存器,取反后出现在Q端,再经过T2反向,则P0.X引脚上的数据就是内部总线的数据。由于T2为漏极开路输出,故此时必须外接上拉电阻。②P0口用作输入口数据可以读自端口的锁存器,也可以读自端口的引脚,这要看输入操作执行的是“读锁存器”指令还是“读引脚”指令。方式1:读引脚。CPU在执行“MOV”类输入指令时(如:MOVA,P0),内部产生的操作信号是“读引脚”。P0.X引脚上的数据经过缓冲器2读入到内部总线。注意,在读引脚时,必须先向电路中的锁存器写入1,使T2截止,P0.X引脚处于悬浮状态,可作为高阻抗输入。方式2:读锁存器。CPU在执行“读-改-写”类输入指令时(如:ANLP0,A),内部产生的操作信号是“读锁存器”,锁存器中的数据经过缓冲器1送到内部总线,然后与A的内容进行逻辑“与”,结果送回P0的端口锁存器并出现在引脚。除了MOV类指令外,其他的读口操作指令都属于这种情况。36(2)P0口用作地址/数据总线

MUX将地址/数据线与T2接通,同时与门输出有效。若地址/数据线为1,则T1导通,T2截止,P0口输出为1;反之T1截止,T2导通,P0口输出为0。当数据从P0口输入时,读引脚使三态缓冲器2打开,端口上的数据经缓冲器2送到内部总线。37P0口小结

①P0口既可作地址/数据总线使用,也可作通用I/O口使用。当P0口作地址/数据总线使用时,就不能再作通用I/O口使用了。②P0口作输出口使用时,输出级属漏极开路,必须外接上拉电阻,才有高电平输出。③P0口作输入口读引脚时,应先向锁存器写1,使T2截止,不影响输入电平。382.5.2P1口P1口是唯一的单功能口,仅能作为通用I/O口使用。由于在其输出端接有上拉电阻,故可以直接输出而无需外接上拉电阻。同P0口一样,当作输入口时,必须先向锁存器写“1”,使场效应管V截止。DCKQQV锁存器

Vcc内部总线写锁存器读锁存器读引脚P1.x引脚12110截止392.5.3P2口图中的控制信号C决定转换开关MUX的位置:当C=0时,MUX拨向下方,P0口为通用I/O口;当控制信号C=1时,MUX拨向上方,P0口作为地址总线使用。在实际应用中,P2口通常作为高8位地址总线使用。

锁存器1DCPQQMUX地址控制信号C内部总线写锁存器读锁存器读引脚VVccP2.x引脚1

2402.5.4P3口P3口用作通用I/O口时,第二输出功能信号W=1,P3口的每一位都可定义为输入或输出,其工作原理同P1口类似。在真正的应用电路中,P3口的第二功能显得更为重要。&DCKQQ锁存器第二输出功能内部总线写锁存器读锁存器读引脚VVcc引脚第二输入功能2143RP3.xP3.0串行数据输入P3.2外部中断0输入P3.3外部中断1输入P3.4计数器0输入P3.5计数器1输入P3.1串行数据输出P3.6写RAM信号输出P3.7读RAM信号输出41端口小结:(1)系统总线: 地址总线(16位):P0(地址低8位)、P2口(地址高8位)数据总线(8位):P0口(地址/数据分时复用,借助ALE);控制总线(6根):P3口的第二功能和9、29、30、31脚;(2)供用户使用的端口:P1口、部分未作第二功能的P3口;(3)P0口作地址/数据时,是真正的双向口,三态,负载能力为8个LSTTL电路;P1~P3是准双向口,负载能力为4个LSTTL电路。(4)P0~P3在用作输入之前必须先写“1”,即: (P0)=FFH~(P3)=FFH。422.4.1时钟电路时钟频率范围要求在1.2MHz~12MHz之间。1.内部时钟方式:内部一个高增益反相放大器与片外石英晶体或陶瓷谐振器构成了一个自激振荡器。晶体振荡器的振荡频率决定单片机的时钟频率。2.外部时钟方式:外部振荡器输入时钟信号。XTAL1单片机XTAL2

内部时钟方式外部时钟方式1。.。XTAL1单片机XTAL2

外部时钟源+5V振荡源(OSCillation)2.4MCS-51单片机的时钟电路与时序431机器周期和指令周期机器周期:机器周期是单片机的基本操作周期,每个机器周期包含S1、S2、、S66个状态,每个状态包含2拍P1和P2,每一拍为一个时钟周期(振荡周期)。因此,一个机器周期包含12个时钟周期。依次可表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。指令周期:计算机工作时不断的取指令和执行指令。计算机取一条指令至执行完该指令需要的时间称为指令周期,不同的指令,指令周期不同。单片机的指令周期以机器周期为单位。MCS-51系列单片机中,大多数指令的指令周期由一个机器周期或两个机器周期组成,只有乘法、除法指令须要4机器周期指令。S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2时钟信号44时钟周期为单片机提供定时信号的振荡源的周期或外部输入时钟信号的周期,也称为振荡周期。状态周期(或状态S)是振荡周期的两倍,它分为P1节拍和P2节拍。指令周期:

执行一条指令所需的时间称为指令周期。

一条指令的执行过程分作几个基本操作,完成一个基本操作所需的时间称作机器周期。452单机器周期指令的时序S1S2S3S4S5S6读操作码读无效(丢失)单字节单机器周期指令S1S2S3S4S5S6读操作码读第二个字节双字节单机器周期指令463双机器周期指令的时序S1S2S3S4S5S6读操作码S1S2S3S4S5S6三次读操作无效(丢失)单字节、双机器周期指令的时序47典型指令的取指、执行时序

48读外部数据RAM时序49写外部数据RAM的时序502.5.1单片机复位后的状态PC=0000H,所以程序从0000H地址单元开始执行;启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM的内容;特殊功能寄存器复位后的状态是确定的:P0~P3=FFH,各口可用于输出,也可用于输入;SP=07H,第一个入栈内容将写入08H单元;IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断、串行通讯的波特率不加倍;PSW=00H,当前工作寄存器为0组。2.5单片机复位电路51部分特殊功能寄存器的复位状态

寄存器内容备注寄存器内容备注PC0000HCPU从0单元执行程序TH000H清0DPTR0000H清0TL000H清0,定时器/计数器T1的初值为0ACC00H清0TCON00H关闭T0、T1B00H清0TMOD00HT0、T1为定时模式方式0、非门控方式SP07H堆栈从08H单元开始IPXXX00000B全部中断源为低优先级PSW00H当前工作

温馨提示

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

评论

0/150

提交评论