




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.4时钟电路及89C51CPU时序,2.6输入/输出端口结构,第二章89C51单片机硬件结构和原理,2.289C51单片机引脚及其功能,内容提要:,2.189C51单片机内部结构及特点,2.389C51存储器配置,2.5单片机的低功耗工作方式,1,2.189C51单片机芯片内部结构及特点,一、89C51单片机的基本组成图2-1所示位89C51带闪存(FlashROM)单片机的基本结构框图。,2,1、中央处理单元CPU(8位)用于数据处理、位操作(位测试、置位、复位)2、片内4K程序存储器FalshROM用于存放程序、一些原始数据和表格3、随机存取存取器RAM(256B)用于存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。4、并行输入/输出口I/O(32线)用作系统总线、扩展外存、I/O接口芯片5、串行输入/输出口UART(二线)串行通信、扩展I/O接口芯片,图2-1,3,6、两个定时器/计数器T(16位增量可编程)它与CPU之间各自独立工作,当它计数满时向CPU中断7、时钟电路fosc分为内部振荡器、外接振荡电路8、中断系统五源中断、两级优先,可编程进行控制。,图2-1,4,二、89C51单片机内部结构,89C51单片机与早期Intel的8051/8751/8031芯片的外部引脚和指令系统完全兼容,只不过用FlashROM替代了ROM/EPROM而已。89C51单片机内部结构如图2-2所示。,5,6,1、中央处理单元(89C51CPU)CPU是单片机的核心,是计算机的控制和指挥中心,由运算器和控制器等部件组成。如图2-2。运算器ALU8位算术和逻辑运算对4位(半字节)、8位(字节)、16位(双字节)操作算术运算-加、减、乘、除、加1、减1、BCD数十进制调整、比较逻辑运算-与、或、非、异或、求补、移位TMP1,TMP28位暂存器ACC8位累加器累加器ACC经常作为一个操作数经TMP2进入ALU,与来自TMP1的另一个操作数进行运算,结果存入ACC中作为89C51内部数据传送的中间寄存器大部分指令中用注记符A表示,进出堆栈指令时用注记符ACC表示,7,B-8位寄存器如图2-2乘除运算指令中存放一个操作数,操作结束时存放一部分结果乘除指令运算之外时可作通用寄存器PSW-程序状态字寄存器指示指令执行后的状态信息PSW各位单元可供程序查询和判别布尔处理器PSW中的Cy进位标志位,专门用于处理位操作置位、清0、位取反、位等于1转移、位等于0转移、位等于1转移并清0Cy与其它可寻址位之间进行传送Cy与其它可寻址位之间进行逻辑与、逻辑或操作,结果在Cy中指令中用C表示Cy,8,(2)控制器如图2-22、存储器(1)程序存储器(FlashROM)89C51片内程序存储器容量为4KB,地址从0000H开始,用于存放程序和表格常数。(2)数据存储器(RAM)89C51片内数据存储器为128字节,地址为00H-7FH,用于存放运算的中间结果、数据暂存以及数据缓冲。3、I/O接口89C51有4个与外部交换信息的8位并行接口,即P0-P3。有一个可编程的全双工串行口(UART),9,89C51/LV51单片机外部引脚封装形式,见右图:,2.289C51单片机引脚及其功能,89C51,10,1.电源VCC:电源端,+5VVSS:接地,GND2.外接晶体引脚XTAL1和XTAL2XTAL1:片内振荡器反向放大器输入端,接外部晶体振荡器一个脚;由外部输入时钟信号时,该脚接地XTAL2:片内振荡器反向放大器输出端,接外部晶体振荡器一个脚;外部输入时钟信号时由该脚接入XTAL1、XTAL2外接晶体振荡器的谐振频率决定时钟电路的振荡频率,图2-3,11,2,图2-3,12,3、控制或复位引脚RST/VPD当出现两个机器周期高电平时,单片机复位。复位后,P0P3输出高电平;SP寄存器为07H;其它寄存器全部清0;不影响RAM状态。参考复位电路如下:,图2-3,13,89C51,89C51,89C51,图2-3,14,=0时,只访问外部程序存储器,即外ROM,=1时,访问内部程序存储器,即内ROM,/Vpp内/外ROM选择端,在FlashROM编程期间,该端施加编程电压4、输入/输出引脚P0.0P0.7;P1.0P1.7;P2.0P2.7;P3.0P3.7四个I/O口,每口八条线;还兼作地址/数据线。,EA,ALE/PROG地址锁存控制端提供1/6fosc振荡频率;为其内的FlashROM输入编程脉冲/PSEN外部程序存储器的读选通信号端,图2-3,时钟发生器,内部结构,15,2-389C51存储器配置,一、89C51单片机的内存结构,数据存储器,16,物理上分为:4个空间,即片内FlashROM、片外ROM片内RAM、片外RAM逻辑上分为:3个空间,片内、片外统一编址程序存储器:0000H-FFFFHMOVC片内数据存储器:00H-FFHMOV片外数据存储器:0000H-FFFFHMOVX,17,二、程序存储器寻址范围:0000HFFFFH容量64KB,即地址长度:16位,,寻址内部ROM;,,寻址外部ROM。,当PC值超过片内ROM容量时会自动转向外部存储器空间。,作用:存放程序及程序运行时所需的常数。,18,七个具有特殊含义的单元是:,0000H系统复位,PC指向此处;0003H外部中断0入口000BHT0溢出中断入口0013H外中断1入口001BHT1溢出中断入口0023H串口中断入口(002BHT2溢出中断入口),19,三、内部数据存储器物理上分为两大区域:00H7FH即128B内RAM区80HFFH即SFR区。,R0、R1、R2、R3、R4、R5、R6、R7,即可位寻址,又可字节寻址,数据缓冲区、堆栈区、工作单元,20,位寻址区(20H2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H7FH,位地址区也可作为一般RAM使用。,位寻址区,21,四、特殊功能寄存器MCS-51单片机内共有22个特殊功能寄存器,包括PC及SFR。PC为程序计数器。它是一个双字节寄存器,寻址范围为:0000HFFFFH,即064KB。SFR为特殊功能寄存器。其寻址空间:80HFFH其中,51子系列有18个寄存器,占有21个字节;52子系列有21个寄存器,占有26个字节。51子系列SFR的地址分配及位地址见下页表:,22,23,+,+,9F,98,99,9A,9B,9C,9D,9E,SM0,SM1,SM2,REN,TB8,RE8,TI,RI,24,注意:1、表中共有3个双字节寄存器。2、PC也为双字节寄存器,但是不在80HFFH范围内。3、表中,凡地址能被8整除的寄存器都是可位寻址的寄存器。,25,各寄存器的名称:1、算术运算寄存器(1)A累加器。(2)BB寄存器,乘、除法运算用。(3)PSW程序状态字寄存器:包含程序运行状态、信息。,26,PSWCY进位/借位标志;位累加器。AC辅助进/借位标志。F0用户定义标志位;软件置位/清零。OV溢出标志;硬件置位/清零。P奇偶标志;A中1的个数为奇数P=1;否则P=0。RS1、RS0寄存器区选择控制位。00:0区R0R701:1区R0R710:2区R0R711:3区R0R7,P,OV,RS0,RS1,F0,AC,CY,数据存储器,27,2、指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址(程序存储器地址),在物理上独立,复位时(PC)=0000H。(2)数据指针DPTRDPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。DPTR=DPH+DPL,也可单独使用。(3)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时(SP)=07H。堆栈的操作有两种:一种叫数据压入(PUSH),另一种叫数据弹出(POP)。存取信息必须按“先进后出”或“后进先出”的规则进行。例如下图。,内部结构,28,67,66,65,64,63,62,61,60,A2,A1,6,1,SP,67,66,65,64,63,62,61,60,A3,A2,A1,6,2,SP,67,66,65,64,63,62,61,60,A5,A4,A3,A2,A1,6,4,SP,67,66,65,64,63,62,61,60,A1,6,0,SP,67,66,65,64,63,62,61,60,A4,A3,A2,A1,6,3,SP,原始状态,压入数据A3以后,压入数据A4、A5以后,压入,压入,弹出数据A5以后,弹出,弹出数据A4、A3、A2以后,弹出,29,3、并行输入/输出端口寄存器P0、P1、P2、P3实为相应端口锁存器。4、串行输入/输出端口(1)串行数据缓冲器SBUF是物理上独立的两个寄存器,共同使用一个地址(99H)。(2)串行控制/状态寄存器SCON控制监视串行口的工作状态(3)电源控制寄存器PCON控制单片机的低功耗工作方式及波特率选择。,内部结构,30,5、中断系统(1)中断优先级寄存器IP:2级优先,可软件设定(2)中断允许寄存器IE6、定时/计数器(1)定时器方式寄存器:TMOD(2)定时器控制寄存器:TCON(3)计数寄存器:TH0、TL0;TH1、TL1。可用于设定计数初值。,内部结构,31,五、位地址空间(1)内部RAM20H2FH共16个单元可按位寻址128位。(2)SFR80HFFH51子系列,有11个寄存器,83位;52子系列,有12个寄存器,93位。六、外部数据存储器(1)容量最大扩展到64KB(2)寻址范围:0000HFFFFH(3)寻址方式:间接寻址可用R0,R1,DPTR,32,各特殊功能寄存器的复位值,33,一、片内振荡器及时钟信号的产生89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,分别是89C51的19脚和18脚。如图2-7。,2-4时钟电路及89C51CPU时序,XTAL1,XTAL2,C1,C2,晶振,至内部时钟,89C51,图2-7振荡电路,34,晶体振荡器的振荡信号从XTAL2端输入到片内的时钟发生器上,如图2-8所示。,XTAL2,XTAL1,C1,C2,晶振,振荡器,2(时钟发生器),S1,P1,P2,S2,P2,P1,P1,P2,3,6,ALE,机器周期,图2-889C51内部振荡器及时钟发生器,fOSC,概念:节拍、状态周期,35,二、机器周期和指令周期,一个机器周期是指CPU访问存储器一次所需的时间。执行一条指令需要多长时间则以机器周期为单位。89C51的一个机器周期包括12个振荡周期,分为6个S状态(如下图):S1S6。每个状态又分为两拍,称为P1和P2。因此,一个机器周期中的12个振荡周期表示为S1P1,S1P2,S2P1S6P2。例如:若采用6MHz晶体振荡器,则每个机器周期为2s。每条指令都由一个或几个机器周期组成。在89C51系统中,有单周期指令、双周期指令和4周期指令。4周期指令只有两条:乘法、除法指令89C51单片机的基本时序单位有4个:振荡周期、状态周期、机器周期、指令周期,36,图2-9,37,三、CPU取指、执行周期时序,每一条指令的执行都可以包括取指和执指两个阶段。在取指阶段,CPU从内部或者外部ROM中取出操作码及操作数,然后再执行这条指令。89C51指令系统中,指令由单字节、双字节和3字节组成。从机器执行指令的速度看,单字节和双字节指令都可能是单周期和双周期的,而3字节指令都是双周期的,只有乘、除指令占4周期。图2-10列举了几种典型指令的取指和执指时序。,38,当ALE(ALE信号为振荡频率6分频)正跳变时,对应单片机进行一次读指令操作。一个机器周期二次出现,在S1P2和S2P1及S4P2和S5P1期间(如图)。有效宽度为一个状态。,(1)单字节单周期指令:INCA只需进行一次读指令操作(指令只有一个字节),当第二个ALE有效时,由于PC没有加1,读出的还是原指令。属于一次无效操作。,39,(2)双字节单周期指令:ADDA,#dataALE两次读操作都有效,第一次读操作码(指令第一字节),第二次读立即数(指令第二字节)(如图)。,(3)单字节双周期指令:INCDPTR两个机器周期共进行四次读指令操作,但其后三次的读操作都是无效的。,40,单字节单周期指令例:INCA,双字节单周期指令例:ADDA,#data,单字节双周期指令例:INCDPTR,41,2.589C51单片机的低功耗工作方式,89C51属于CHMOS的单片机,运行时耗电少,而且还提供两种节电工作方式,即空闲(等待、待机)方式和掉电(停机)方式,以进一步降低功耗。下图为实现这两种方式的内部电路,42,一、方式的设定,通过对SFR中的PCON(地址87H)相应位置1而启动的。如下图SMOD:波特率倍频位。若此位为1,则串行口方式1、方式2和方式3的波特率加倍。GF1和GF2:通用标志位PD:掉电方式。此位写1即启动掉电方式IDL:空闲方式,此位写1即启动空闲方式如果同时向PD和IDL写1,则PD优先,控制电路,43,二、空闲方式,当CPU执行IDL=1(PCON.0)的指令后,系统进入空闲工作方式。此时,内部时钟不向CPU提供,而只供给中断、串行口和定时器部分。CPU的内部状态维持,即SP、PC、PSW、ACC所有的内容保持不变,端口状态也保持不变。进入空闲方式后,有两种方法可以使系统退出空闲方式:1、任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0而中止空闲方式。2、硬件复位,控制电路,44,三、掉电工作方式,当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。此方式下,内部振荡器停止工作,所有的功能部件都停止工作。但是内部RAM区和特殊功能寄存器的内容被保留,端口的输出状态值都保存在对应的SFR中。退出掉电方式的唯一方法是由硬件复位,复位后将所有特殊功能寄存器的内容初始化,但不改变片内RAM区的数据。,控制电路,45,2-6输入/输出端口结构,89C51单片机有四个8位并行I/O端口,称为P0、P1、P2和P3。每个端口都是8位准双向口,共占32只引脚。每一条I/O线都能独立地用作输入或输出。每个端口包含一个锁存器(即特殊功能寄存器P0P3)、一个输出驱动器和二个输入缓冲器。作输出时数据可以锁存,作输出时数据可以缓冲。,一、P0口1、结构P0口电路图如下图,内部结构,46,锁存器,D,Q,CL,Q,读引脚,写入,内部总线,读锁存器,VCC,P0.X,1,2,3,4,地址/数据,控制C,T1,T2,MUX,图2-13P0口某位结构,10,47,2、通用I/O口1)P0口用作输出口当CPU执行输出指令时,写脉冲加在D锁存器的CL上(如图2-13)。内部数据总线D端取反后出现在/Q端MUXT2反相P0.x89C51有几条输出指令功能特别强,属于“读修改写”。2)P0口作输入口当执行一条由端口输入的指令时,“读引脚”脉冲把三态缓冲器2打开,端口上的数据经过缓冲器2读入到内部总线。作为通用I/O使用,是一个准双向口:在输入数据时应先把口置1,使两个FET都截止,引脚处于悬浮状态,可作高阻抗输入,48,3、P0口作为地址/数据总线使用控制MUX(如图2-13)(1)P0口用作输出地址/数据总线。(2)由P0口输入数据,4、负载能力可带8个TTL输入,驱动NMOS时,接上拉电阻。,49,总结特点:(1)P0口可作通用I/O口使用,又可作地址/数据总线口;(2)P0既可按字节寻址,又可按位寻址;(3)P0作为输入口使用时:是准双向口;(4)作通用I/O口输出时:是开漏输出;(5)作地址/数据总线口时,P0是一真正双向口,而作通用I/O口时,只是一个准双向口。,50,二、P1口,锁存器,D,Q,CL,Q,读引脚,写入,内部总线,读锁存器,VC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论