您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 单片机应用技术-第2章
本章内容:2.180C51单片机内部结构及原理2.2时钟及复位电路第2章80C51单片机硬件结构2.180C51单片机内部结构及原理2.2.1.180C51的基本结构2.1.180C51的内部结构及引脚结构时钟电路总线控制CPUROM/EPROM/FLASH4K字节RAM128字节SFR21个定时/计数器2个中断系统5中断源、2优先级串行口全双工1个并行口4个RSTEAALEPSENXTAL2XTAL1P0P1P2P3VCCVSS80C51的内部结构RAM128BRAM地址寄存器P3口P1口P2口P0口锁存器锁存器锁存器锁存器中断定时/计数器串行口SPBACC暂存器1暂存器2PSW指令寄存器IR指令译码器IDDPL缓冲器程序计数器PCPC增量器地址寄存器AR定时与控制4KROMALUDPH运算器控制器存储器I/O接口2.4.180C51的内部结构一、80C51的CPU系统8位CPU内部时钟电路总线控制逻辑二、片内存储器程序存储器和数据存储器2个独立的空间(称为哈佛结构):ROM:4K(可外扩至64KB)范围是:0000H~0FFFHRAM:128字节(可外扩至64KB)范围是:00H~7FH21个SFR,地址80H~FFH。只占用了80H~FFH中的21个字节单元,且这些单元是离散分布的。21个特殊功能寄存器(SFR)三、I/O接口及中断、定时部件4个并口:P0~P3,双向口。每口8条I/O线串行口:P3.0、P3.1,全双工定时/计数器:2个,16位中断系统:5个中断源,2个优先级2.1.1.280C51单片机引脚结构123456789101112131415161718192040393837363534333231302928272625242322211234567891020191817161514131211P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RSTP3.0/RXDP3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.7注:类似的还有Philips公司的87LPC64,20引脚8XC748/750/(751),24引脚8X749(752),28引脚8XC754,28引脚等等80C51/89C5189C2051引脚功能1.电源及时钟引脚GND:接地引脚。VCC:正电源引脚。接+5V电源。XTAL1和XTAL2:XTAL1脚为片内振荡电路的输入端,XTAL2脚为片内振荡电路的输出端。80C51的时钟有两种方式,一种是片内时钟振荡方式,但需在XTAL1和XTAL2脚外接石英晶体(频率为1.2~12MHz)和振荡电容,振荡电容的值一般取10~30pF,典型值为30pF;另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。2.并行I/O接口引脚•(1)P0口(P0.0~P0.7)•8位双向三态I/O口,可作为外部扩展时的数据总线/低8位地址总线的分时复用口。又可作为通用I/O口,每个引脚可驱动8个TTL负载。•对EPROM型芯片(如8751)进行编程和校验时,P0口用于输入/输出数据。•(2)P1口(P1.0~P1.7)8位准双向I/O口,内部具有上拉电阻,可作为通用I/O口。每个引脚可驱动4个TTL负载。(3)P2口(P2.0~P2.7)8位准双向I/O口,内部具有上拉电阻,可作为外部扩展时的高8位地址总线。又可作为通用I/O口,每个引脚可驱动4个TTL负载。对EPROM型芯片(如8751)进行编程和校验时,用来接收高8位地址。(4)P3口(P3.0~P3.7)8位准双向I/O口,内部具有上拉电阻。它是双功能复用口,作为通用I/O口时,功能与P1口相同,常用第二功能。每个引脚可驱动4个TTL负载。作为第二功能使用时,各位的作用如下页表所示。3.控制信号引脚(1)RST/VPDRST/VPD引脚是复位信号/备用电源线引脚。当80C51通电时,在RST引脚上出现24个时钟周期以上的高电平,系统即初始复位。(2)ALE/PROG地址锁存允许/编程引脚。当访问外部程序存储器时,ALE的输出用于锁存地址的低位字节,以便P0口实现地址/数据复用。当不访问外部程序存储器时,ALE端将输出一个1/6时钟频率的正脉冲信号。ALE/PROG是复用引脚,其第二功能是对EPROM型芯片(如8751)进行编程和校验时,此引脚传送52ms宽的负脉冲选通信号,程序计数器PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令码放到P0口上,由CPU读入并执行。(3)EA/VPP允许访问片外程序存储器/编程电源引脚。对于片内无程序存储器的MCS-51单片机(如8031),该引脚接地。片内有程序存储器的MCS-51单片机(如8051),该引脚接高电平。EA/VPP是复用引脚,其第二功能是片内EPROM编程/校验时的电源线,在编程时,VPP脚需加上21V的编程电压。(5)PSEN片外ROM选通线。在执行访问片外ROM的指令MOVC时,8051自动在该引脚产生一个负脉冲,用于对片外ROM的选通。其他情况下,该引脚均为高电平封锁状态。PSEN2.580C51的存储器组织2.1.280C51单片机的存储器结构RAM:CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。ROM:写入信息后不易改写的存储器。断电后,其中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。2.2.2.180C51的程序存储器0000H0FFFH1000HFFFFHEA=1内部EA=0外部外部PSEN0000HFFFFHROM0003H000BH0013H001BH0023H复位入口INT0中断入口T0中断入口INT1中断入口T1中断入口串口中断入口PC:16位计数器,能寻址64KB的ROM。2.1.2.280C51的数据存储器配置工作寄存器区位寻址区通用RAM区00H1FH30H7FH32个字节16个字节80个字节80HFFHSFR区直接寻址访问间接寻址访问增强型附加空间外部RAM(或I/O)64K0000HFFFFHRDWR一、工作寄存器区低端32个字节分成4个工作寄存器组,每组8个单元。当前工作寄存器组的机制便于快速现场保护。PSW的RS1、RS0决定当前工作寄存器组号•寄存器0组:地址00H~07H;•寄存器1组:地址08H~0FH;•寄存器2组:地址10H~17H;•寄存器3组:地址18H~1FH。二、位寻址区三、通用RAM区30H至7FH共80个字节作为数据缓冲器操作指令丰富,数据处理方便灵活堆栈区:通常在30H~7FH范围栈顶:SP寄存器指示复位时SP的初值为07H四、80C51的特殊功能寄存器(SFR)1、与运算器相关的寄存器(3个)累加器ACC,8位。提供操作数,存结果;寄存器B,8位。主要用于乘、除法运算。程序状态字寄存器PSW,8位。各位含义为:CY:进位、借位标志。有进位、借位时CY=1,否则CY=0;AC:辅助进位、借位标志;F0:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位;OV:溢出标志位。有溢出时OV=1,否则OV=0;P:奇偶标志位。ACC中结果有奇数个1时P=1,否则P=0。2、指针类寄存器(3个)堆栈指针SP,8位。总是指向栈顶。遵循“后进先出”的原则入栈时,SP先加1,数据再压入SP指向的单元。出栈操作时先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。80C51单片机的堆栈区是向地址增大的方向生成的。3、与口相关的寄存器(7个)并行I/O口P0、P1、P2、P3,均为8位;串行口数据缓冲器SBUF;串行口控制寄存器SCON;串行通讯波特率倍增寄存器PCON,(又称为电源控制寄存器)。数据指针DPTR。用来存放16位的地址。它由两个8位的寄存器DPH和DPL组成。4、与中断相关的寄存器(2个)中断允许控制寄存器IE;中断优先级控制寄存器IP。5、与定时器/计数器相关的寄存器(6个)T0的两个8位计数初值寄存器TH0、TL0T1的两个8位计数初值寄存器TH1、TL1工作方式寄存器TMOD;控制寄存器TCON。2.1.3并行I/O接口结构2.1.3.1P0口的结构及工作原理P0.X锁存器DQQCL01MUXVCC1&P0.X引脚控制C地址/数据读锁存器读引脚写锁存器内部总线T1T21、P0用作通用I/O口系统不扩展(片外ROM、片外RAM)时,P0用作通用I/O口。MUX接锁存器反相端T1截止,漏极开路此时,C=0输出时,执行口输出指令,数据在“写锁存器”信号作用下,经锁存器反向端送至T2,反相后送至P0.X。输入时,数据可读自锁存器,也可读自引脚。由指令是“读锁存器”指令还是“读引脚”指令来决定。“读—修改—写”类指令(如:ANLP0,A)产生“读锁存器”操作信号;读锁存器可避免因外部电路原因使原口引脚的状态发生变化造成的误读。“MOV”类指令(如:MOVA,P0)内部产生的是“读引脚”信号。此时要先向锁存器写入“1”,使T2截止,让引脚处于悬浮状态,使口处于高阻抗输入态。否则,在作为输入方式之前曾向锁存器输出过“0”,则T2导通会使引脚箝位在“0”电平,使输入高电平“1”无法读入。因此,P0口作为通用I/O时,属于准双向口。2、P0用作地址/数据总线系统进行扩展(片外ROM、片外RAM)时,P0用作地址/数据总线。MUX接反相器T1截止与导通由地址/数据线的状态决定此时,C=1执行输出指令时,低8位地址信息和数据信息分时地出现在地址/数据总线上。执行输入指令时,首先低8位地址信息出现在地址/数据总线上。然后,CPU自动地使MUX拨向锁存器,并向P0口写入FFH,同时“读引脚”信号有效。P0口作为地址/数据总线使用时是一个真正的双向口。2.6.2P1口、P3口的结构2.1.3.2P1口的结构P1.X锁存器DQCLVCCP1.X引脚读锁存器读引脚写锁存器内部总线RTQP1口由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成。输出驱动电路与P2口相同,内部设有上拉电阻。P1口是通用的准双向I/O口。输出高电平时,能向外提供拉电流负载,不必再接上拉电阻。当口用作输入时,须向口锁存器写入1。2.1.3.3P2口的结构P2.X锁存器DQCL01MUXVCCP2.X引脚控制C地址读锁存器读引脚写锁存器内部总线RT1P2用作通用I/O口不扩展ROM,或只扩展256B的片外RAM时,仅用到了地址线低8位,P2仍可作为通用I/O口。输出时,数据由D端进入锁存器,经反相器送至T,经T反相送引脚。输入时,数据可读自锁存器,也可读自引脚。要根据输入采用的是“读锁存器”还是“读引脚”指令决定。“读—修改—写”类指令,锁存器Q端数据进入内部数据总线,与A逻辑运算后,结果又送回P2的锁存器并出现在引脚。“MOV”类指令,操作信号是“读引脚”。应先要把锁存器写入“1”,使引脚高阻状态。通用I/O口时,属于准双向口。且P2的输出驱动有上拉电阻。P2用作地址总线当片外扩展ROM或扩展的RAM容量超过256字节时,硬件使C=1,MUX开关接向地址线,这时P2.X的状态与地址线的信息相同。2.1.3.4P3口的结构P3.X锁存器DQCLVCCP3.X引脚第二输出功能W读锁存器读引脚写锁存器内部总线RT&第二输入功能P3用作第一功能(通用I/O)对P3字节或位寻址时,硬件自动将W置1。口
本文标题:单片机应用技术-第2章
链接地址:https://www.777doc.com/doc-4012371 .html