您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 2 单片机原理及应用(第二章硬件结构)
1第二章MCS-51单片机芯片硬件结构2.1MCS-51系列单片机结构及组成2.1.1MCS-51系列单片机结构框图MCS-51系列单片机属于总线结构2频率基准源计数器内部总线中断中断控制并行I/O口串行输入/输出8051单片机结构框图振荡器及定时电路4K/8K字节程序存储器ROM128/256字节数据存储器RAM2个16位定时器/计数器8051CPU64K字节总线扩展控制可编程I/O口4×8位可编程串行口32.1.2MCS-51系列单片机组成一个8位CPU包括运算器、控制器以及若干寄存器等部件组成。算术和逻辑运算,可对半字节(4位)和单字节数据进行操作;加、减、乘、除、加1、减1、比较等算术运算;与、或、异或、求补、循环等逻辑运算;布尔处理器。(1)运算器4PC用来存放即将要执行的指令地址,共16位,可对64KROM直接寻址。PC低8位经P0口输出,高8位经P2口输出。(2)程序计数器PC指令寄存器存放指令代码。CPU执行指令过程:由程序存储器(ROM)中读取指令代码送入指令寄存器,经译码器译码后由定时与控制电路发出相应的控制信号,完成指令功能。(3)指令寄存器5时钟电路:MCS-51芯片内部有一个高增益反相放大器,其输入端为XTAL1,输出端为XTAL2。有两种时钟生成电路,内部方式,外部方式。(4)定时与控制部件64k/8k字节程序存储器(ROM)51系列4k字节;52系列8k字节128/256字节数据存储器(RAM)51系列128字节;52系列256字节2/3个16位定时/计数器51系列2个16位定时/计数器;52系列3个7可寻址64k外部数据存储器(RAM)和64k外部程序存储器(ROM)32条可编程I/O口线(4个8位并行I/O端口)一个可编程全双工串行口;五个中断源、两个优先级嵌套中断结构82.1.3MCS-51系列单片机芯片引脚182001p.71p.SSV1XTAL2XTAL181917161514131211109RD73p/.WR63p/.1T53p/.0T43p/.1INT33p/.0INT23p/.TXD13p/.RXD03p/.RST02p.72p.CCV212840393200p.70p.293031PSENPROGALE/EAVpp/80519ALE/(30),ALE:允许地址锁存信号。(数据线、地址线复用)当访问外部存储器时,ALE信号负跳变将P0口上低8位地址送入锁存器。PROGALE低电平时,P0口上的内容和锁存器输出一致1)主电源引脚;2)外接晶体或外部振荡器引脚;XTAL1、XTAL2引脚分布(40脚双列直插封装(DIP)方式)3)控制、选通或复用电源引脚:10非访问外部存储器期间,ALE以1/6振荡频率输出,访问外部存储器时以1/12振荡频率输出。为编程脉冲输入端,对片内程序存储器进行编程时,此脚输入编程脉冲。PROGRST(9脚):复位信号延续两个机器周期以上的高电平,复位有效。11(29脚):访问外部程序存储器选通信号,低电平有效。PSEN/Vpp(31脚):访问内部或外部ROM选择信号。高电平时(),访问内部ROM(PC指针超过4K,0FFFH时,自动转向外部ROM),保持低电平,则访问外部ROM。(对于8031,接低电平)EA1EAEA12四个8位双向I/O端口(P0、P1、P2、P3);每一条I/O线都能独立地用作输入或输出。P0口(32—39)低8位地址/数据线复用或I/O口。P1口(1—8)常用的I/O口。P2口(21—28)常用I/O口或高8位地址线。P3口(10—17)双功能口。4)I/O口引脚(32个引脚)13信号引脚的第二功能P3口第二功能7.36.35.34.33.32.31.30.3PPPPPPPP口线RDWRTTINTINTRXDTXD1010第二功能读选通外部写选通外部计数输入计数器定时器计数输入计数器定时器申请外部中断申请外部中断串行数据发送串行数据接收功能含义RAMRAM1/0/10142-2MCS-51存储器数据存储器(RAM)--用来存放程序运行中所需要的常数和变量。当然,全局数据也可以放在RAM中。特点:程序存储器(ROM)、数据存储器(RAM)分开,各有各的寻址系统、控制信号和功能。程序存储器(ROM)--用来存放程序和始终要保留的数据。15从物理空间上看:MCS-51单片机有四个存储器地址空间。片内程序存储器片外程序存储器片内数据存储器片外数据存储器16)(K64FFFFH0)(K4FFFH0/H10000EAROM外部1EAROM内部H0000程序存储器映象H0000H0080/FH007RAM内部H0100/FFH00特殊功能寄存器)(K64FFFFH0)(外部K64RAM数据存储器映象8051存储器映象172.2.1程序存储器程序存储器以PC(程序计数器)作地址指针,可寻址空间为64K(0000H—FFFFH)字节。8051/8751单片机内部分别驻留4K(0000H—0FFFH)字节ROM/EPROM。8031则没有片内程序存储器。188031单片机接低电平。EA51系列单片机64K字节程序存储器统一编址。1EA程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部存储器空间。0EA程序从外部存储器开始执行。1951系列单片机复位后PC=0000H,系统从0000H开始执行程序。安排一条跳转指令。0003H—0032H单元被保留专用于中断服务程序(入口地址)。每个中断服务程序只有8个字节单元存放,显然不够,故此8个单元通常放一条跳转指令。指向被实际分配的中断服务程序段。20H0000H0003/H0002H0013/H0012H0023/H0022H0033/H0032BH000/AH000BH001/AH001BH002/AH002)(外部中断0INT0)(外部中断1INT1溢出中断0T溢出中断1T串行口中断溢出中断2T......LJMP区用户ROMFFFFH021中断服务程序首地址:外部中断0()0003H定时器0溢出中断000BH外部中断1()0013H定时器1溢出中断001BH串行口中断0023H定时器2溢出/T2EX(负跳变)002BH0INT0INT222-2-2数据存储器MCS-51系列单片机的数据存储器在物理和逻辑上都分为两个地址空间。00H—7FH(0—127)128字节RAM区;80H—FFH(128—255)128字节专用寄存器区。23内部RAM低128字节(00H—7FH)组通用寄存器区第0组通用寄存器区第1组通用寄存器区第2组通用寄存器区第3)(位地址位寻址区FH7~H00区用户RAMH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7四个通用寄存器区,每个区有8个工作寄存器R0—R7D4D3=00—0区;D4D3=01—1区;D4D3=10—2区;D4D3=11—3区根据程序状态字PSW(特殊功能寄存器,地址D0H)中的D4D3位来指示的。通过对PSW的D4D3的修改,便能任意选择一个工作寄存器区。寄存器区24位寻址区(20H—2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H—7FH,位地址区也可作为一般RAM使用。位寻址区单元地址位地址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H71H79H70H78H07FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H0825用户RAM区(数据缓冲区)单元地址:30H~7FH在此区域中,用户只能以存储单元(字节)形式使用。通常将堆栈建立在此区域中。26内部RAM高128字节(80H—FFH)专用功能寄存器区(SFR)2-2-3外部数据存储器以后介绍272-2-3专用功能寄存器(SFR)分布在RAM区域80H—FFH中,具体执行功能:锁存器、定时器、串行口数据缓冲器、各种控制寄存器、状态寄存器等。28●累加器ACC(最常用专用寄存器)暂存寄存器,用于提供操作数和存放运算结果。直接与内部总线相连。一般信息传递和交换都要通过ACC。常用专用功能寄存器29●寄存器B乘法指令两个操作数分别取自A、B,其结果放在A、B寄存器队中;除法指令,被除数取自A,除数取自B,商放A,余数放B。30CYACF0RS1RS0OV--P●程序状态控制字PSWRS1,RS0--选择工作寄存器区;CY--高位进位标志,8位运算产生进位或借位;AC--辅助进位标志,半字节进位标志;OV--溢出标志位,用于带符号数运算的溢出。P—奇偶校验标志位,A寄存器中奇偶性判别。“1”的个数为偶P=0“1”的个数位奇P=1F0:用户标志位。031●数据指针DPTR16位寄存器,DPH,DPL用来访问外部RAM的地址寄存器,地址范围64K。●端口P0—P3专用寄存器P0—P3端口名和寄存器名一一对应可采用直接寻址方式参与操作。MOVA,P032●串行数据缓冲器SBUF存放欲发送或已接收的数据。虽然用一个缓冲器99H,但却以两个独立的缓冲器出现。一个发送,一个接收。●定时器/计数器两个16为定时/计数器T0、T1。各有两个8为独立寄存器组成,TH0、TL0,TH1、TL1。●其他控制寄存器33寄存器位地址/位定义地址F7F6F5F4F3F2F1F0BF0HE7E6E5E4E3E2E1E0ACCE0D7D6D5D4D3D2D1D0PSWCYACF0RS1RS0OV/PD0HBFBEBDBCBBBAB9B8IPB8HB7B6B5B4B3B2B1B0P3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B0HIEA8HA7A6A5A4A3A2A1A0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A0HSBUF99H34SCON98H9796959493929190P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.090HTH18DHTH08CHTL18BHTL08AHTMODGATEC/TM1M0GATEC/TM1M089H8F8E8D8C8B8A8988TCONTF1TR1TF0TR0IE1IT1IE0IT088HPCONSMOD///GF1GF0PDIDL87HDPH83HDPL82HSP81H8786858483828180P0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.080H注意:位地址和字节地址的区分和表达352-3并行I/O端口电路QQDCP写入内部总线读锁存器读引脚x.0PCCV数据地址/控制锁存器MUXP0口:地址/数据复用口&36锁存器:数据输出三态输入数据缓冲器:数据输入多路转换器MUX,控制电路数据输出时(写P0口):由于锁存器的存在,故P0端口可以直接和外设相连。内部写脉冲加在D触发器CP端,数据写入锁存器,由端口引脚输出。作为一般I/O口使用37数据输入时(读P0口),有两种情况:读引脚:读芯片引脚上的数据,“读引脚”缓冲器打开,通过内部数据总线读入;MOV指令的读口操作。读端口:通过打开读锁存器缓冲器读锁存器Q端的状态,例如语句:ANLP0,A。作为地址/数据复用口使用打开控制与门,使得内部地址/数据线与驱动场效应管栅极反相接通状态。38根据端口特点,P0,P2口结构基本一致,内部有一个多路开关MUX,根据CPU控制可作为I/O口,也可作为外部存储器扩展时用作16位地址总线。P1,P3口结构基本一致,为双向口。注意,一般地说,P1口多用作I/O或位操作;而P3口多用于第二功能。39P0口:为三态双向口,扩展外部存储器时,它是地址总线和数据总线的复用(低8位)。低8位地址通过ALE信号负跳变将其锁存在外部锁存器中。单独作I/O口用时,由于输出电路是漏极开路,必须外接上拉电阻。能带8个LSTTL电路。端口功能40P1口:常用I/O口,每一位都能作为可编程的输入或输出线。输出端无需上拉电阻。P2口:可以作为输入口或输出口使用;但一般作
本文标题:2 单片机原理及应用(第二章硬件结构)
链接地址:https://www.777doc.com/doc-4124755 .html