资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 MCS-51系列单片机的硬件结构,本章学习目标,MCS-51单片机的内部结构、引脚功能、工作方式和时序。 掌握MCS-51单片机的内部结构特点 了解单片机并行I/O口的结构特点 掌握MCS-51单片机的基本工作原理 掌握单片机最小系统的设计方法 掌握单片机存储器的扩展方法,MCS-51系列单片机分类,具有8位CPU。 具有片内振荡器,振荡频率fosc范围为1.212MHz,可以有时钟输出。 具有128B片内RAM和具有21个字节专用寄存器。 具有4KB片内EPROM(8031单片机中无)。 具有4个8位并行I/O接口:P0、P1、P2、P3。 具有1个全双串行I/O。 具有2个16位定时计数器。,2.1 MCS-51单片机的主要性能特点,中断系统有5个中断源,可编程为两个优先级。 具有111条指令(含乘法指令和除法指令)。 有较强的位寻址、位处理能力。 片内采用单总线结构。 采用单一+5V电源。 可寻址64KB外部程序存储器空间。 可寻址64KB外部数据存储器空间。,微计算机组成,2.2 MCS-51单片机的基本结构,单片机的内部结构,1CPU,CPU也叫中央处理器,是单片机的核心部件,主要完成单片机的运算和控制功能。 (1)运算器:包括算术逻辑单元ALU、布尔处理器、累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字PSW寄存器及十进制调整电路等。 (2)控制器:包括定时控制逻辑、指令寄存器、译码器以及信息传送控制部件等,以实现控制功能。,2片内存储器,单片机内的存储器包括程序存储器和数据存储器,它们是相互独立。 (1)程序存储器(ROM):为只读存储器,用于存放程序指令,常数及数据表格。 (2)数据存储器(RAM):为随机存储器,用于存放数据。数据存储器又可分为内部数据存储器和外部数据存储器。 在单片机内部有256个RAM单元来存放可读写的数据,其中,后128单元被专用寄存器占用,作为寄存器供用户使用的只是前128单元。,3特殊功能寄存器SFR,在51单片机内部有21/26个SFR,它们与内部RAM统一编址,离散地分别在80H FFH的地址单元中。,4并行I/O口,MCS-51单片机内部共有四个8位的并行I/O口(P0、P1、P2、P3),以实现数据的并行输入和输出。,5全双工串行口,MCS-51单片机还有一个全双工的串行口,以实现单片机与外部之间的串行数据传送。,6定时/计数器,MCS-51单片机内部有2个16位的定时器/计数器,用于实现内部定时或外部计数的功能;并以其定时或计数的结果(查询或中断方式)来实现控制功能。,7中断系统,MCS-51单片机具有中断功能,以满足控制应用的需要。MCS-51共有5个中断源(52系列有6个中断源),即外部中断2个,定时/计数器中断2个,串行口中断1个。全部中断可分为高级和低级两个优先级别。,引脚定义及功能,8051,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21,P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD/ P3.0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3 T0/ P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 XTAL2 XTAL1 Vss,Vcc P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/Vpp ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0,单片机引脚说明,(1)P0口(32脚39脚)有三种使用方法: 作为与外部传送数据的8位数据总线(D0D7)。 作为扩展外部存储器时的低8位地址总线(A0A7)。 (2)P1口(1脚8脚):作为普通I/O口使用,无须外接上拉电阻。 (3)P2口(21脚28脚)有两种使用方法: 作为普通I/O口使用,无须外接上拉电阻。 作为扩展外部存储器时的高8位地址总线(A8A15)。 (4)P3口(10脚17脚)有两种使用方法。作为普通I/O口使用,无须外接上拉电阻。 (5)VDD(40脚):+5V电源。 (6)VSS(20脚):GND,P3口的特殊功能,单片机引脚说明,(7)XTAL1(19脚) XTAL2(18脚):接外部石英晶振的引脚,也可引入外部时钟。 (8)RESET(9脚):复位信号引脚。必须在此引脚上出现两个机器周期的高电平,才能保证单片机可靠的复位。复位后,单片机内部各寄存器的状态见表2-9所示。 (9)ALE/PROG(30脚):地址锁存允许信号。有以下三个作用: 当外接存储器(RAM/ROM)时,ALE(允许地址锁存)的输出用于锁存地址的低8位。一般ALE接锁存器的EN端。 当没有外部存储器时,ALE端可输出脉冲信号,此频率为石英振荡频率的1/6。因此,它可用作对外部芯片提供输出的时钟,或用于定时的目的。,复位后单片机寄存器的内容,单片机引脚,(10)(29脚):外部程序存储器的读选通信号。 (11) /VPP(脚31):访问程序存储器控制信号。 当信号接低电平时,对ROM的读操作(执行程序)限定在外部程序储器。 当接高电平时,对ROM的读操作(执行程序)从内部开始。在使用内部带程序存储器的单片机时,应接高电平。,2.3 单片机的存储器配置,(1)内部程序存储器(ROM):用来存放程序和表格常数。8051为4KB、8052为8KB。 (2)内部数据存储器(RAM):用来存放运算过程中的数据。包括寄存器在内,8051/31为128字节、8052/32为256字节。 (3)外部程序存储器(ROM):用来存放程序。最大可扩展64KB空间(包括内部ROM)。 (4)外部数据存储器(RAM):在数据采集系统中可存放大量的数据。最大可扩展64KB空间(不包括内部RAM)。,内部数据存储器及专用寄存器,1内部数据存储器 内部数据存储器在结构上可分为两个不同的存储空间,即低128单元的数据存储器空间(00H7FH)和高128单元的具有特殊功能的专用寄存器存贮器空间(80H0FFH)。,2.专用寄存器SFR,专用寄存器(Special Function Registers)也叫特殊功能寄存器,就是将内部RAM的高128单元作为特殊功能寄存器使用。其单元地址为80HFFH。,(1)B寄存器 B寄存器是一个8位寄存器,即可作为一般寄存器使用,也可用于乘除运算。做乘法运算时,B是乘数。乘法操作后,乘积的高8位存于B中。做除法运算时,B存放除数。除法操作后,余数存放在B中。 (2)累加器ACC(Accumulator) 累加器A是在编程操作中最常用的专用寄存器,功能较多,可按位寻址。 (3)定时器2寄存器(52系列单片机独有) T2CON:定时器2控制寄存器。 T2MOD:定时器2方式寄存器。 TL2、TH2:定时器2寄存器。,(4)程序状态字PSW(Program Status Word),CY:进位标志。 加减运算时,保存最高位进位、借位状态。 AC:半进位标志。 例:78H+97H 0111 1000 +1001 0111 1 0000 1111,有进位 CY=1,没有半进位AY=0,(5)IP寄存器 (6)IE寄存器 (7)SCON寄存器 (8)SBUF寄存器 (9)定时器0和定时器1寄存器 TCON:定时器控制寄存器。 TMOD:定时器方式寄存器。 TL0、TH0:定时器0寄存器。 TL1、TH1:定时器1寄存器。 (10)P0P3端口寄存器,(11)栈指针SP寄存器 栈指针SP寄存器指示出堆栈顶部在内部数据存储器中的位置。系统复位后,SP初始化为07H,如果不重新设置,就使得堆栈由08H单元开始。但08H1FH单元属于工作寄存器区,所以在程序设计中,最好把SP的值设置的大一些,一般将堆栈开辟在30H7FH区域中。SP的值越小,堆栈容量就越大,但最大为128字节。 (12)数据指针DPTR寄存器 数据指针DPTR由两个8位寄存器DPH和DPL组合而成一个16位专用寄存器,其中DPH为DPTR的高8位,DPL为DPTR的低8位。,3.程序计数器PC,程序计数器PC中存储的是将要执行的指令地址, 是一个16位的计数器。寻址范围达64KB。,外部数据存储器,程序计数器PC中存储的是将要执行的指令地址,是一个16位的计数器。寻址范围达64KB。,程序存储器,2.4 MCS-51单片机的并行IO端口,51单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0P3。,P0口的结构及特点,P0口的某位P0.n(n=07)结构图,它由一个 输出锁存器、两个三态输入缓冲器和输出驱动电路 及控制电路组成。从图中可以看出,P0口既可以作 为I/O用,也可以作为地址/数据线用。,1 P0口作为普通I/O口,输出时:CPU发出控制电平“0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。, 输入时:分读引脚或读锁存器 读引脚:由传送指令(MOV)实现; 下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。, 输入时:分读引脚或读锁存器 读锁存器:有些指令 如:ANL P0,A称为“读-改-写” 指令,需要读锁存器。上面一个缓冲器用于读端口锁存器数据。,*原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。*,准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。,2 P0作为地址/数据总线,在系统扩展时,P0端口作为地址/数据总线使用时,分为: P0引脚输出地址/数据信息。,CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。,P0引脚输出地址/输入数据 输入信号是从引脚通过输入缓冲器进入内部总线。 此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。,真正的双向口,P1口的结构及特点,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。,P2口的结构及特点,1 P2口作为普通I/O口,CPU发出控制电平“0” ,使多路开关MUX倒向锁存器输出Q端,构成一个准双向口。其功能与P1相同。,2 P2口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过256B (用MOVX DPTR指令)时,CPU发出控制电平“1”,使多路开关M
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号