C51的结构和原理.ppt

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章MCS-51系列单片机的结构目录单片机的结构和引脚1单片机的资源2单片机并行I\O口3时钟电路和复位电路4一、MCS-51系列单片机简介MCS-51系列单片机已有十多种产品,可分为两大系列:51子系列和52子系列。51子系列主要有8031、8051、8751三种机型。它们的指令系统与芯片引脚完全兼容。从表1.1中可以看出,它们的差别仅在于片内有无ROM或EPROM。52子系列主要有8032、8052、8752三种机型。从表1.1中可以看出,52子系列与51子系列的不同之处在于:片内数据存储器增至256字节;片内程序存储器增至8KB(8032无);有3个16位定时/计数器,6个中断源。其它性能均与51子系列相同。51系列单片机二、引脚定义及功能引脚定义P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7ALEP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EAPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RXD/TXD/INT0/INT1/T0/T1/WR/RD/1234567891011121314151617181920403938373635343332313029282726252424222180318051875189C511.主电源引脚VCC(40脚):接+5V电源正端。VSS(20脚):接地线。2.时钟电路引脚XTAL1(19脚):XTAL2(18脚)分别用做晶体振荡电路的反相器输入和输出端。使用内部振荡电路时,这两个端子用来外接石英晶体,振荡频率为晶体振荡频率。引脚定义4.控制线(1)ALE/PROG(30脚):地址锁存有效信号输出端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,PSEN信号将不出现。引脚功能定义(3)RST/VPD(9脚):RST即为RESET,VPD为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。引脚功能定义(4)EA/VPP(31脚):EA为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。对于片内含有EPROM的机型,在编程期间,此引脚用作21V编程电源VPP的输入端。3.输入/输出引脚(1)P0口(39~32脚):P0.0~P0.7统称为P0口。在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。引脚功能定义(2)P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。(3)P2口(21~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。(4)P3口(10~17脚):P3.0~P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。P3口的第二功能如表2.1所示。引脚功能定义表2.1P3口第二功能表引脚功能定义二、MCS-51系列单片机的基本组成时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器结构框图•中央处理器CPU:8位,运算和控制功能•内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。•内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。•定时/计数器:两个16位的定时/计数器,实现定时或计数功能。•并行I/O口:4个8位的I/O口P0、P1、P2、P3。•串行口:一个全双工串行口。•中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个)•时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ基本组成MCS-51系列单片机的内部结构框图如图所示。基本组成(1)8位CPU(2)片内程序存储器(3)片内数据存储器(4)4个8位的并行I/O口(5)两个定时/计数器(6)5个中断源(7)一个全双工UART(8)片内时钟振荡器图2.1MCS-51单片机内部结构框图基本组成运算器包括算术逻辑运算部件ALU单元、暂存器1、暂存器2、累加器ACC、寄存器B和BCD码调整电路。主要功能:算术运算、加1和减1运算、十进制调整、逻辑操作、数据传送。布尔处理器它以PSW中的进位标志位C为其累加器,专门用于处理位操作,有相应的位寻址RAM和I/O空间。控制器包括程序计数器PC、数据指针DPTR、堆栈指针SP、程序状态字、指令寄存器IR、指令译码器ID、振荡器、定时电路和复位电路等。主要功能:控制各部分的协调工作;协调单片机和外围芯片的工作。基本组成2.2MCS-51系列单片机存储器结构一、单片机存储器结构的特点AT89C51单片机的存储器配置在物理上是把程序存储器和数据存储器分开,并且存储器有内外之分,共有4个物理存储空间;片内程序存储器,片外程序存储器,片内数据存储器与片外数据存储器。存储器结构二、8051单片机存储器组织结构存储器结构三、程序存储器0000H0001H0002H中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位...0FFFH0FFEH程序存储器资源分布中断入口地址0000H0FFFH(4K)程序存储器内部外部0000HFFFFH(64K)0000H0FFFH(4K)EA=1EA=0存储器结构1、程序存储器的作用:(1)存放程序(2)表格数据2、程序存储器地址分配EA=1内部程序存储器(0000H~0FFFH),外部存储器(1000H~FFFFH)EA=0内部不用,外部(0000H~FFFFH)3、中断入口地址存储器结构0003H~000AH外部中断0中断地址区000BH~0012H定时/计数器0中断地址区0013H~001AH外部中断1中断地址区001BH~0022H定时/计数器1中断地址区0023H~002AH串行中断地址区四、数据存储器1、外部数据存储器外部数据存储器以16位DPTR和@Ri内容作为地址指针,可寻址64KB空间.用MOVX指令.存储器结构五、数据存储器存储器结构0000HFFFFH(64K)内部外部数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器11第3区18H~1FH01第1区08H~0FHRS1RS0寄存器区片内RAM地址00第0区00H~07H10第2区10H~17H工作寄存器区选择位RS0、RS1PSW位地址CYACF0RS1RS0OVF1P存储器结构1、通用工作寄存器区2、位寻址区位寻址区共16个字节,每个字节8位均对应一个位地址,编址为00H~7FH。存储器结构存储器结构这个区域用于数据寄存,还可以用作堆栈,以解决调用子程序和响应中断时的现场保护,一般设置在30H~7FH。堆栈的结构栈底SPSP+1数据压入数据弹出3、用户RAM区存储器结构XYZ65H64H63H62H61H栈底60H59H内部RAMPUSHPUSHPUSHXYZ入栈过程65H64H63H62H61H栈底60H59H内部RAMPOPZPOPYPOPXXYZ出栈过程先入后出后入先出存储器结构(4)特殊功能寄存器区(SFR)MCS-51系列单片机内部的I\O接口寄存器,串口行缓冲器,定时\计数器,各种控制寄存器和状态寄存器,统称为特殊功能寄存器(SFR),21个8位的SFR,离散的分布在80H到FFH地址空间内。每个SFR都有字节地址,并定义了符号名,其中有11个SFR具有位地址,对应为也定义了位名。凡是字节地址能被8整除的都具有位地址。存储器结构高128个单元☆离散分布有21个特殊功能寄存器SFR。(SpecificFunctionregister)☆11个可以进行位寻址。☆特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。存储器结构存储器结构(1)程序计数器(PC—ProgramCounter)。PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达64KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在SFR(专用寄存器)之内,一般不计作专用寄存器。(2)累加器(ACC—Accumulator)。累加器为8位寄存器,是最常用的专用寄存器专门存放操作数或运算结果。例如:MOVA,30H(把30H单元的数据传送给A)ADDA,30H(30H的数据和A的内容相加,并保存在A中存储器结构存储器结构(3)B寄存器。B寄存器是一个8位寄存器,主要用于乘除运算。例如:MULAB;A和B相乘,结果的高低字节分别放入A和B中DIVAB;(A)/(B),商存A,余数存B(4)程序状态字(PSW—ProgramStatusWord)。程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。PSW.7PSW.0存储器结构CY(C):进位和借位标志,当指令执行中有进位和借位产生时,CY为1,反之为0。AC:辅助进位、借位标志(低半字节对高半字节的进位和借位),有进位和借位产生时,AC为1,反之为0。F0:用户标志位,由用户自定义。RS1和RS0:工作寄存器选择标志位。OV:溢出标志位。P:奇偶校验位,当A中1的个数为偶数时P=0,反之为1。(5)数据指针(DPTR)。数据指针为16位寄存器。编程时,DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:DPHDPTR高位字节DPLDPTR低位字节(6)堆栈指针(SP—StackPointer)。堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存存储器结构12345678910111213142827262524232221201918171615EPROM276412345678910111213142827262524232221201918171615EPROM27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221201918171615RAM62641234567891011121314282726

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功