您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > STC89C51单片机硬件结构
§2.4时钟电路及89C51CPU时序§2.6输入/输出端口结构第二章89C51单片机硬件结构和原理§2.289C51单片机引脚及其功能内容提要:§2.189C51单片机内部结构及特点§2.389C51存储器配置§2.5单片机的低功耗工作方式§2.189C51单片机芯片内部结构及特点一、89C51单片机的基本组成图2-1所示位89C51带闪存(FlashROM)单片机的基本结构框图。振荡器和时序OSC程序存储器4KBFlashROM数据存储器256BRAM/SFR2×16位定时器/计数器80C51CPU64KB总线扩展控制器可编程I/O可编程全双工串行口外部时钟外部事件计数串行通信并行口控制内中断外中断1、中央处理单元CPU(8位)用于数据处理、位操作(位测试、置位、复位)2、片内4K程序存储器FalshROM用于存放程序、一些原始数据和表格3、随机存取存取器RAM(256B)用于存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。4、并行输入/输出口I/O(32线)用作系统总线、扩展外存、I/O接口芯片5、串行输入/输出口UART(二线)串行通信、扩展I/O接口芯片图2-16、两个定时器/计数器T(16位增量可编程)它与CPU之间各自独立工作,当它计数满时向CPU中断7、时钟电路fosc分为内部振荡器、外接振荡电路8、中断系统五源中断、两级优先,可编程进行控制。图2-1二、89C51单片机内部结构89C51单片机与早期Intel的8051/8751/8031芯片的外部引脚和指令系统完全兼容,只不过用FlashROM替代了ROM/EPROM而已。89C51单片机内部结构如图2-2所示。P0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器缓冲器PC增1PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时控制指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARET89C51单片机内部结构图89C5189C51单片机单片机内部结构图内部结构图1、中央处理单元(89C51CPU)CPU是单片机的核心,是计算机的控制和指挥中心,由运算器和控制器等部件组成。如图2-2。运算器ALU—8位算术和逻辑运算对4位(半字节)、8位(字节)、16位(双字节)操作算术运算--加、减、乘、除、加1、减1、BCD数十进制调整、比较逻辑运算--与、或、非、异或、求补、移位TMP1,TMP2–8位暂存器ACC–8位累加器累加器ACC经常作为一个操作数经TMP2进入ALU,与来自TMP1的另一个操作数进行运算,结果存入ACC中作为89C51内部数据传送的中间寄存器大部分指令中用注记符A表示,进出堆栈指令时用注记符ACC表示B--8位寄存器如图2-2乘除运算指令中存放一个操作数,操作结束时存放一部分结果乘除指令运算之外时可作通用寄存器PSW--程序状态字寄存器指示指令执行后的状态信息PSW各位单元可供程序查询和判别布尔处理器PSW中的Cy—进位标志位,专门用于处理位操作置位、清0、位取反、位等于1转移、位等于0转移、位等于1转移并清0Cy与其它可寻址位之间进行传送Cy与其它可寻址位之间进行逻辑与、逻辑或操作,结果在Cy中指令中用C表示Cy(2)控制器如图2-22、存储器(1)程序存储器(FlashROM)89C51片内程序存储器容量为4KB,地址从0000H开始,用于存放程序和表格常数。(2)数据存储器(RAM)89C51片内数据存储器为128字节,地址为00H-7FH,用于存放运算的中间结果、数据暂存以及数据缓冲。3、I/O接口89C51有4个与外部交换信息的8位并行接口,即P0-P3。有一个可编程的全双工串行口(UART)89C51/LV51单片机外部引脚封装形式,见右图:P1.0P1.7SSV1XTAL2XTALRDP3.7/WRP3.6/P3.5/T1P3.4/T0INT1P3.3/INT0P3.2/P3.1/TXDP3.0/RXDRSTP2.0P2.7CCVP0.0P0.7PSENPROGALE//EAVpp18201819171615141312111092128403932293031§2.289C51单片机引脚及其功能89C511.电源VCC:电源端,+5VVSS:接地,GND2.外接晶体引脚XTAL1和XTAL2XTAL1:片内振荡器反向放大器输入端,接外部晶体振荡器一个脚;由外部输入时钟信号时,该脚接地XTAL2:片内振荡器反向放大器输出端,接外部晶体振荡器一个脚;外部输入时钟信号时由该脚接入XTAL1、XTAL2外接晶体振荡器的谐振频率决定时钟电路的振荡频率图2-3÷2图2-33、控制或复位引脚RST/VPD——当出现两个机器周期高电平时,单片机复位。复位后,P0~P3输出高电平;SP寄存器为07H;其它寄存器全部清0;不影响RAM状态。参考复位电路如下:图2-389C5189C5189C51图2-3=0时,只访问外部程序存储器,即外ROM=1时,访问内部程序存储器,即内ROM/Vpp——内/外ROM选择端在FlashROM编程期间,该端施加编程电压4、输入/输出引脚P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7四个I/O口,每口八条线;还兼作地址/数据线。EAEAEAALE//PROG——地址锁存控制端提供1/6fosc振荡频率;为其内的FlashROM输入编程脉冲/PSEN——外部程序存储器的读选通信号端图2-3时钟发生器内部结构§2-389C51存储器配置一、89C51单片机的内存结构0000H0080H内部RAM00FFH能寄存器特殊功0FFFFH)(外部K64RAM数据存储器0FFFFH0FFFHROMEA=0外部ROMEA1内部FlashH0000程序存储器H00001000H007FH物理上分为:4个空间,即片内FlashROM、片外ROM片内RAM、片外RAM逻辑上分为:3个空间,片内、片外统一编址程序存储器:0000H-FFFFHMOVC片内数据存储器:00H-FFHMOV片外数据存储器:0000H-FFFFHMOVX二、程序存储器寻址范围:0000H~FFFFH容量64KB,即地址长度:16位1EA,寻址内部ROM;0EA,寻址外部ROM。当PC值超过片内ROM容量时会自动转向外部存储器空间。EA8031单片机接低电平。作用:存放程序及程序运行时所需的常数。七个具有特殊含义的单元是:0000H——系统复位,PC指向此处;0003H——外部中断0入口000BH——T0溢出中断入口0013H——外中断1入口001BH——T1溢出中断入口0023H——串口中断入口(002BH——T2溢出中断入口)组通用寄存器区第0组通用寄存器区第1组通用寄存器区第2组通用寄存器区第3)(位地址位寻址区FH7~H00区用户RAMH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7三、内部数据存储器物理上分为两大区域:00H~7FH即128B内RAM区80H~FFH即SFR区。R0、R1、R2、R3、R4、R5、R6、R7即可位寻址,又可字节寻址数据缓冲区、堆栈区、工作单元位寻址区(20H—2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H—7FH,位地址区也可作为一般RAM使用。位寻址区单元地址位地址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H71H79H70H78H07FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H08四、特殊功能寄存器MCS-51单片机内共有22个特殊功能寄存器,包括PC及SFR。PC为程序计数器。它是一个双字节寄存器,寻址范围为:0000H~FFFFH,即0~64KB。SFR为特殊功能寄存器。其寻址空间:80H~FFH其中,51子系列有18个寄存器,占有21个字节;52子系列有21个寄存器,占有26个字节。51子系列SFR的地址分配及位地址见下页表:寄存器位地址/位定义地址F7F6F5F4F3F2F1F0BF0HE7E6E5E4E3E2E1E0ACCE0D7D6D5D4D3D2D1D0PSWCYACF0RS1RS0OV/PD0HBFBEBDBCBBBAB9B8IPB8HB7B6B5B4B3B2B1B0P3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B0HIEA8HA7A6A5A4A3A2A1A0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A0HSBUF99H寄存器位地址/位定义地址F7F6F5F4F3F2F1F0BF0H寄存器位地址/位定义地址F7F6F5F4F3F2F1F0BF0HE7E6E5E4E3E2E1E0ACCE0D7D6D5D4D3D2E7E6E5E4E3E2E1E0ACCE0D7D6D5D4D3D2D1D0PSWCYACF0RS1RS0OV/PD0HBFBEBDBCBBBAB9B8D1D0PSWCYACF0RS1RS0OV/PD0HBFBEBDBCBBBAB9B8IPB8HB7B6B5B4B3B2B1B0IPB8HB7B6B5B4B3B2B1B0P3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B0HP3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B0HIEA8HA7A6A5A4A3A2A1A0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1IEA8HA7A6A5A4A3A2A1A0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A0HSBUF99HP2.0A0HSBUF99H/////EAESET1EX1EX0ET0PSPT1PT0PX0PX1AFAEADACABAAA9A8++SCON98H9796959493929190P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.090HTH18DHTH08CHTL18BHTL08AHTMODGATEC/TM1M0GATEC/TM1M089H8F8E8D8C8B8A8988TCONTF1TR1TF0TR0IE1IT1IE0IT088HPCONSMOD///GF1GF0PDIDL87HDPH83HDPL82HSP81H8786858483828180P0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.080H9F98999A9B9C9D9ESM0SM1SM2RENTB8RE8TIRI注意:1、表中共有3个双字节寄存器。2、PC也为双字节寄存器,但是不在80H~FFH范围内。3、表中,凡地址能被8整除的寄存器都是可位寻址的寄存器。各寄存器的名称:1、算术运算寄存器(1)A——累加器。(2)B——B寄存器,乘、除法运算用。(3)PSW——程序状态字寄存器:包含程序运行状态、信息。PSWCY——进位/借位标志;位累加器。AC——辅助进/借位标志。F0——用户定义标志位;软件置位/清零。OV——溢出标志;硬件置位/清零。P——奇偶标志;A中1的个数为奇数P=1;否则P=0。RS1、RS0——寄存器区选择控制位。00:0区R0~R701:1区R0~R710:2区R0~R711:3区R0~R7P—OVRS0RS1F0ACCY数据存储器2、指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址(程序存储器地址),在物理上独立,复位时(PC)=0000H。(2)数据指针DPTR@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。DPTR=DPH+DPL,也可单独使用。(3)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时(SP)=07H。
本文标题:STC89C51单片机硬件结构
链接地址:https://www.777doc.com/doc-3928029 .html