您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 51单片机基本结构详解
151单片机基本结构详解1.什么是单片机单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调试电路电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。图1-1单片机外形图2.单片机的引脚排列常用的单片机有40个引脚,其排列和功能如图2-1所示。外ROM读选通信号外接晶体引线端地址锁存控制引脚内外ROM选择引脚21222324252627282930313233343536373839402019181716151413121110987654321VSSXTAL1XTAL2T1/P3.5TO/P3.4TXD/P3.1RXD/P3.0RST/VPDP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0INT0/P3.2INT1/P3.3P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0VCCEA/VPPALE/PROGPSENRD/P3.7WR/P3.6电源引脚接地引脚复位信号P1口P0口P3口P2口图2-1单片机的引脚排列和功能23.单片机最小系统单片机最小系统是单片机正常工作的最小硬件要求,包括供电电路、时钟电路、复位电路,如图3-1所示。图3-1单片机的最小应用系统判断单片机芯片及时钟系统是否正常工作有一个简单的办法,就是用万用表测量单片机晶振引脚(18、19脚)的对地电压,以正常工作的单片机用数字万用表测量为例:18脚对地约2.24V,19脚对地约2.09V。对于怀疑是复位电路故障而不能正常工作的单片机也可以采用模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和+5V连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路有问题。4.单片机的内部结构单片机由5个基本部分组成,包括中央处理器CPU、存储器、输入/输出口、定时/计数器、中断系统等,如图4-1所示。GNDVCC1234567891011121314151617181920P1.0P1.1P1.3P1.2RXD/P3.0RST/VPDP1.7P1.6P1.5P1.4P2.7RSENALE/PROGP2.6P2.5WR/P3.6T1/P3.5T0/P3.4INT1/P3.3INT0/P3.2TXD/P3.1XTAL1XTAL2RD/P3.7VSSP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPP2122232425262728293130323334353637383940P2.4P2.1P2.3P2.2P2.08051+5V+5VGNDGND5604.7K22uF/50V30P30P时钟电路复位电路供电电路1K3图4-1单片机的内部结构4.1单片机CPU内部结构及功能51单片机内部有一个8位的CPU,包含运算器,控制器及若干寄存器等,如题4-2所示。4-2单片机CPU结构0INTCPUROMRAM1INT0INT总线时钟电路并行接口串行接口中断系统定时/计数器4从上图中我们可以看到,在虚线框内的就是CPU的内部结构了,8位的MCS-51单片机的CPU内部有数术逻辑单元ALU(ArithmeticLogicUnit)、累加器A(8位)、寄存器B(8位)、程序状态字PSW(8位)、程序计数器PC(有时也称为指令指针,即IP,16位)、地址寄存器AR(16位)、数据寄存器DR(8位)、指令寄存器IR(8位)、指令译码器ID、控制器等部件组成。1、运算器(ALU)的主要功能A)算术和逻辑运算,可对半字节(一个字节是8位,半个字节就是4位)和单字节数据进行操作。B)加、减、乘、除、加1、减1、比较等算术运算。C)与、或、异或、求补、循环等逻辑运算。D)位处理功能(即布尔处理器)。由于ALU内部没有寄存器,参加运算的操作数,必须放在累加器A中。累加器A也用于存放运算结果。例如:执行指令ADDA,B执行这条指令时,累加器A中的内容通过输入口In_1输入ALU,寄存器B通过内部数据总线经输入口In_2输入ALU,A+B的结果通过ALU的输出口Out、内部数据总线,送回到累加器A。2、程序计数器PCPC的作用是用来存放将要执行的指令地址,共16位,可对64KROM直接寻址,PC低8位经P0口输出,高8位经P2口输出。也就是说,程序执行到什么地方,程序计数器PC就指到哪里,它始终是跟蹿着程序的执行。我们知道,用户程序是存放在内部的ROM中的,我们要执行程序就要从ROM中一个个字节的读出来,然后到CPU中去执行,那么ROM具体执行到哪一条呢?这就需要我们的程序计数器PC来指示。程序计数器PC具有自动加1的功能,即从存储器中读出一个字节的指令码后,PC自动加1(指向下一个存储单元)。3、指令寄存器IR指令寄存器的作用就是用来存放即将执行的指令代码。在这里我们先简单的了解下CPU执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。关于指令在单片机内部的执行过程,我们在后面将会以另一节课来进行详细的讲解。4、指令译码器ID用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。当指令送入译码器后,由译码器对该指令进行译码,5根据译码器输出的信号,CPU控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确的执行程序所需要的各种操作。5、地址寄存器AR(16位)AR的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器PC产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。从上图中我们可以看到,地址寄存器AR通过地址总线AB与外部存储器相连。6、数据寄存器DR用于存放写入外部存储器或I/O端口的数据信息。可见,数据寄存器对输出数据具有锁存功能。数据寄存器与外部数据总线DB直接相连。7、程序状态字PSW用于记录运算过程中的状态,如是否溢出、进位等。例如,累加器A的内容83H,执行:ADDA,#8AH;累加器A与立即数8AH相加,并把结果存放在A中。指令后,将产生和的结果为[1]0DH,而累加器A只有8位,只能存放低8位,即0DH,元法存放结果中的最高位B8。为些,在CPU内设置一个进位标志位C,当执行加法运算出现进位时,进位标志位C为1。8、时序部件由时钟电路和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。4.2单片机的存储器存储器是用来存放程序和数据的部件,MCS-51单片机芯片内部存储器包括程序存储器和数据存储器两大类。①程序存储器(ROM)一般用来存放固定程序和数据,特点是程序写入后能长期保存,不会因断电而丢失,MSC-51系列单片机内部有4KB的程序存储空间,可以通过外部扩展到64KB,如图4-3所示。6图4-3内部程序存储器和外部程序存储器②数据存储器(RAM)主要用于存放各种数据,内部结构如图4-4所示。优点:可以随机读入或读出,读写速度快,读写方便。缺点:电源断电后,存储的信息丢失。图4-4数据存储器的内部结构位寻址区的位地址映象如表1-1所示。0FFFH0000H1EA外部0FFFH0000H内部0EA4KB64KB0000HFFFFH4KBFFFFH1000H60KB00H07H08H0FH10H17H18H1FHR0R7R0R7R0R7R0R7第3组第2组第1组第0组通用工作寄存器区20H2FH位寻址区30H7FH用户数据存储区低128高12821SFR特殊功能寄存器区7表1-1位寻址区的位地址映象表4.2.单片机的并行I/O①P0口P0口的口线逻辑电路如图4-5所示vcc地址/数据控制锁存器P0.XDCPQQMUXT1T21P0.X引脚读锁存器写锁存器内部总线读引脚&图4-5P0口的口线逻辑电路如图②P1口P1口的口线逻辑电路如图4-6所示单元地址位地址2FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H高位低位8vcc锁存器P1.XDCPQQP1.X引脚读锁存器写锁存器内部总线读引脚内部上拉电阻图4-6P1口的口线逻辑电路图③P2口P2口的口线逻辑电路如图4-7所示锁存器P2.XDCPQQ读锁存器写锁存器内部总线读引脚vccP2.X引脚内部上拉电阻地址控制MUX1图4-7P2口的口线逻辑电路图④P3口P3口的口线逻辑电路如图4-8所示锁存器P3.XDCPQQ读锁存器写锁存器内部总线读引脚vccP3.X引脚内部上拉电阻&第二输出功能第二输入功能图4-8P3口的口线逻辑电路图4.3.单片机的时钟和时序①时钟电路单片机时钟电路通常有两种形式:内部振荡方式和外部振荡方式MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与晶体振荡器连接,就构成了内部自9激振荡器并产生振荡时钟脉冲。外部振荡方式就是把外部已有的时钟信号直接连接到XTAL1端引入单片机内,XTAL2端悬空不用。②时序振荡周期:为单片机提供时钟信号的振荡源的周期。时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。因此时钟周期是振荡周期的两倍,即一个S周期,被分成两个节拍—P1、P2指令周期:CPU执行一条指令所需要的时间(用机器周期表示)。各时序之间的关系如图4-9所示。图4-9各时序之间的关系S1P1S2S3S4S5S6S1P2P1P2P1P2P1P2P1P2P1P2P1P2机器周期OSC时钟时钟周期状态拍节
本文标题:51单片机基本结构详解
链接地址:https://www.777doc.com/doc-3553928 .html