STC89C51系列单片机的结构和原理资料.ppt_第1页
STC89C51系列单片机的结构和原理资料.ppt_第2页
STC89C51系列单片机的结构和原理资料.ppt_第3页
STC89C51系列单片机的结构和原理资料.ppt_第4页
STC89C51系列单片机的结构和原理资料.ppt_第5页
免费预览已结束,剩余57页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 STC89C51系列单片机的结构和原理,2.2 STC89C51系列单片机的内部结构,2.3 STC89C51系列单片机的主要组成部分,2.1 STC89C51如何控制流水灯,2.4 单片机的复位电路,2.5 单片机最小系统,2.1 STC89C51如何控制流水灯,任务:使用单片机控制发光管按一定顺序亮,1.利用Proteus7连接电路图,2.利用 keil c软件编写程序,#include #include unsigned int temp1; void delay(unsigned int temp)/延时程序 while(-temp); ,void main() P2=0XFF

2、;/led is off while(1) P2=0XFE; temp1=35000; delay(temp1); P2=0XFD; temp1=35000; delay(temp1); P2=0XFB; temp1=35000; delay(temp1); P2=0XF7; temp1=35000; delay(temp1);,P2=0XEF; temp1=35000; delay(temp1); P2=0XDF; temp1=35000; delay(temp1); P2=0XBF; temp1=35000; delay(temp1); P2=0X7F; temp1=35000; dela

3、y(temp1); ,3.利用 keil c软件将C语言转化成HEX文件,4.将HEX文件添加到Proteus7软件中,进行仿真,思考:单片机如何使用?,2.2 STC89C51系列单片机的内部结构,51系列单片机结构框图,1. 电源引脚 VSS(20脚):接地,0V参考点。 VCC(40脚):电源,提供掉电、空闲、正常工作2外接晶体引脚 XTAL1(19脚):接外部晶体的一端,振荡反向放大器的输入端和内部时钟电路输入端。 XTAL2(18脚):接外部晶体的另一端,振荡反向放大器的输出端。,3. 控制信号或与其它电源复用引脚 控制信号或与其它电源复用引脚有RST/VPD、 、 和 等4种形式。

4、,RST(9脚):复位端。当晶体在运行时,只要此引脚上出现2个机器周期高电平即可复位,内部有扩散电阻连接到Vss,仅需要外接一个电容到Vcc即可实现上电复位。 ALE(30脚):地址锁存使能。在访问外部存储器时,输出脉冲锁存地址的低字节,在正常情况下,ALE输出信号恒定为1/6振荡频率。并可用作外部时钟或定时,注意每次访问外部数据时,一个ALE脉冲将被忽略。 PSEN(29脚):程序存储使能。读外部程序存储。当从外部读取程序时,PSEN每个机器周期被激活两次,在访问外部数据存储器时PSEN无效,访问内部程序存储器时PSEN无效。 EA/Vpp(31脚):外部寻址使能/编程电压。在访问整个外部程

5、序存储器时,EA必须外部置低。如果EA为高时,将执行内部程序。当RST释放后EA脚的值被锁存,任何时序的改变都将无效。该引脚在对FLASH编程时用于输入编程电压(Vpp)。,输入/输出引脚,P0口(P0.0-P0.7,32-39脚):是双向8位三态I/O口。可向其写入1 使其状态为悬浮,用作高阻输入。P0口也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉传送1。 P1口(P1.0-P1.7,1-8脚):是带内部上拉的双向I/O口。向P1口写入1时,P1口被内部上拉为高电平,可用作输入口;当作为输入脚时,被外部拉低的P1口会因为内部上拉而输出电流。

6、 P2口(P2.0-P2.7,21-28脚):是带内部上拉的双向I/O口。向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时分别作为地址高位字节和16 位地址,此时通过内部强上拉传送1。当使用8位寻址方式访问外部数据存储器时,P2口发送P2 特殊功能寄存器的内容。,P3口(P3.0-P3.7,10-17脚):是带内部上拉的双向I/O 口。向P3 口写入1时,P3 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P3 口会因为内部上拉而输出电流。P3口脚具有第二功能,表2-2介绍了

7、P3口的第二功能。,2.3 STC89C51的系列单片机的主要组成部分 该系列单片机由中央处理器(CPU)、存储器和I/O接口三大部分组成。 其中CPU包括运算器和控制器两大部分。 2.3.1 运算器 对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元ALU、累加器A、位处理器、程序状态字寄存器PSW及两个暂存器等。 1算术逻辑运算单元ALU 可对8位变量逻辑运算(与、或、异或、循环、求补和清零),还可算术运算(加、减、乘、除),12,ALU还有位操作功能,对位变量进行位处理,如置“1”、清“0”、求补、测试转移及逻辑“与”、“或”等。 2累加器A 使用最频繁的寄存器,可写为Acc。

8、“A”与“Acc” 作用如下: (1)ALU单元的输入数据源之一,又是ALU运算结果存放单元。 (2)数据传送大多都通过累加器A,相当于数据的中转站。,13,A的进位标志Cy是特殊的,因为它同时又是位处理机的位累加器 3程序状态字寄存器PSW PSW(Program Status Word)位于片内特殊功能寄存器区,字节地址为D0H。 包含了程序运行状态的信息,其中4位保存当前指令执行后的状态,供程序查询和判断。格式如图2-3所示。 图2-3 PSW的格式,14,PSW中各个位的功能: (1)Cy(PSW.7)进位标志位 可写为C。在算术和逻辑运算时,若有进位/借位,Cy1;否则,Cy0。在位

9、处理器中,它是位累加器。 (2)Ac(PSW.6)辅助进位标志位 在BCD码运算时,用作十进位调整。即当D3位向D4位产生进位或借位时,Ac1;否则,Ac0。 (3)F0(PSW.5)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置1或清0,控制程序的流向。用户应充分利用。,15,(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择 选择片内RAM区中的4组工作寄存器区中的某一组为当前工作寄存区。 (5)OV(PSW.2)溢出标志位 当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,OV=1;否则,OV=0。 (6)PSW.1位 保留位 (7)P(PS

10、W.0)奇偶标志位指令执行完,累加器A中“1”的个数是奇数还是偶数。,16,P=1,表示A中“1”的个数为奇数。P=0,表示A中“1”的个数为偶数。此标志位对串行通信有重要的意义,常用奇偶检验的方法来检验数据串行传输的可靠性。,17,18,2.3.2 控制器 任务识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。 控制器包括:程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。 程序计数器PC是一个独立的16位计数器,不可访问。单片机复位时,PC中内容为0000H,从程序存储器000

11、0H单元取指令,开始执行程序。 PC工作过程是:CPU读指令时,PC的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时PC自动加1。,PC中内容变化轨迹决定程序流程。当顺序执行程序时自动加1;执行转移程序或子程序、中断子程序调用时,自动将其内容更改成所要转移的目的地址。 PC的计数宽度决定了程序存储器的地址范围。PC为16位,故可对64KB(=216B)寻址。,19,程序存储器(FLASH,下载到4 KB ROM),2.3、存储器,1编址与访问 计算机的工作是按照事先编制好的程序命令序列一条条顺序执行的,程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器ROM或EPR

12、OM组成。计算机为了有序地工作,设置了一个专用寄存器 - 程序计数器PC,用以存放将要执行的指令地址。每取出指令的个字节后,其内容自动加,指向下一字节地址,使计算机依次从程序存储器取出指令予以执行,完成某种程序操作。由于MCS-51单片机的程序计数器为16位,因此,可寻址的地址空间为64 KB。,2程序的7个特殊入口地址,表1 MCS-51单片机复位、中断入口地址,数据存储器 1编址与访问 MCS-51单片机片内、外数据存储器是两个独立的地址空间,应分别单独编址。片内数据存储器除RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128个字节,其编址为00H7FH;后者有128个

13、字节,其编址为80HFFH;二者连续而不重叠。由于访问它们所用的指令不同,并不会引起混乱。片外数据存储器一般是16位编址。,2. 内部数据存储器 MCS-51 片内RAM为 256 字节, 地址范围为00HFFH, 分为两大部分: 低 128 字节(00H7FH)为真正的RAM区; 高 128 字节(80HFFH)为特殊功能寄存器区SFR。 在低 128 字节RAM中, 00H1FH共 32 单元是 4 个通用工作寄存器区。每一个区有 8 个通用寄存器R0R7。,低 128 字节(00H7FH),其中真正用户能用到得只有20H7FH共96个字节;故一般需要扩展片外存储器。,其中20H2FH为位

14、寻址(重点),故可设位变量。 sbit p20=P20; sbit p21=P21; If p20=1 then p21=0,表 2 寄存器与RAM 地址对照表,表 3 SFR特殊功能寄存器地址表,28,表4 SFR中的位地址分布,特殊功能寄存器(SFR ),特殊功能寄存器(SFR)也称专用寄存器,专门用于控制、管理片内算术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工作,用户在编程时可以给其设定值,但不能移作它用。SFR离散地分布在片内RAM的80HFFH地址空间,与片内数据存储器统一编址。 51子系列有18个特殊功能寄存器,其中3个为双字节(DPTR、T0、T1),共

15、占用21个字节;其中11个可位寻址(仅83位有效)。凡是可位寻址的SFR,字节地址末位只能是0H或8H。 52子系列有21个特殊寄存器,其中5个为双字节,共占用26个字节,注意: (1)21个可字节寻址的专用寄存器是不连续地分散在内部RAM高128单元之中,共83个可寻址位。尽管还剩余许多空闲单元,但用户并不能使用。 (2)在22个专用寄存器中,唯一一个不可寻址的PC。PC不占据RAM单元,它在物理上是独立的(在控制器中),因此是不可寻址的寄存器。 (3)对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址。(因为寄存器名和地址单元的地址已经一一对应),位地址空间

16、,211个寻址位的位地址,其中:00H7FH这128位处于片内RAM字节地址20H2FH 单元中。其余的83个可寻址位分布在特殊功能寄存器SFR中,。 可被位寻址的特殊寄存器有11个,共有位地址88个,5个位未用,其余83个位的位地址离散地分布于片内数据存储器区字节地址为80HFFH的范围内,其最低的位地址等于其字节地址,且其字节地址的末位都为0H或8H。,AT89C51片内RAM的可寻址位及其位地址,SFR中的位地址分布,P1P3口驱动LED发光二极管,例如:使用单片机的并行口P1P3直接驱动发光二极管,电路如下图。由于P1P3内部有30k左右的上拉电阻。 如高电平输出,则强行从P1、P2和

17、P3口输出的电流会造成单片机端口的损坏。 如端口引脚为低电平,能使电流从单片机外部流入内部,则将大大增加流过的电流值。 所以,当P1P3口驱动LED发光二极管时,应该采用低电平驱动。,(a)不恰当的连接:高电平驱动 (b)恰当的连接:低电平驱动发光二极管与AT89C51并行口的直接连接,有关时序的概念,计算机在执行指令时,一条指令经译码后产生若干个基本微操作,这些基本微操作在时间上有严格的先后次序,这种次序称为计算机的时序。 几个CPU时序的基本概念 1振荡周期: 指为单片机提供定时信号的振荡源的周期,是时序中最小的时间单位。若为内部产生方式,则为石英晶体的振荡周期。(常用12MHz、6MHz

18、等)。 振荡脉冲并不直接使用,由XTAL2或XTAL1端送往内部时钟电路(fosc): 经过2分频,向CPU提供2相时钟信号P1和P2( f拍节= 1/2 osc) 再经3分频,(6分频)产生ALE时序( fALE = 1/6 fosc); 经过12分频,成为机器周期信号( MC = 12/ fosc),如下图所示。 需要指出的是,CPU的运算操作在P1期间,数据传送在P2期间。,2时钟周期:是振荡源信号经2分频后形成的时钟脉冲信号,也就是一个时钟周期是振荡周期的2倍。时钟信号向单片机提供一个二节拍时钟信号,在每个时钟的前半周期,节拍1信号P1有效,后半周期节拍P2有效,每个节拍持续1个振荡周

19、期。 3机器周期:CPU完成一个基本操作所需的时间为机器周期。一个机器周期包含6个时钟周期,也就是等于12个振荡周期。 当石英晶体的振荡为12MHz和6MHz时,时钟周期分别为1/12s和1/6s,机器周期分别为1s和2s。,4指令周期:是指CPU执行一条指令所需的时间,是时序中最大时间单位。由于单片机执行不同的指令,所需要的时间不同,因此,不同指令所包含的机器周期数也不同,机器周期越少的指令执行速度快。 单片机中大多数指令的指令周期由一个机器周期或两个机器周期组成,只有乘法、除法指令需要四个机器周期。,CPU时序机器周期:每个机器周期包含S1、S2、S3、S4、S5、S6个状态,每个状态包含

20、2拍P1和P2,每一个节拍持续1个振荡周期。因此,每12个振荡周期为一个机器周期。依次可表示为S1P1、S1P2、S2P1、S2P2、S6P1、S6P2。,时钟电路(什么作用?) 单片机时钟内接法;图1 -自己产生时钟信号作为单片机 单片机的时钟外接方式;图2-使用其他电路产生,图1 时钟振荡电路 图2 外部时钟接法,三、I/O接口,1.P0口的某位P0.n(n=07)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。,当系统不进行片外的ROM扩展,也不进行片外RAM扩展时,单片机硬件自动使C=0,M

21、UX开关接向锁存器的反相输出端,将输出上拉场效应管T1截止;当有外部扩展时,P0口必须做输出地址、数据时, C=1,地址通过T1送到P0口,当输入数据时,通过下边缓冲器进入内存,1、P0口作为普通I/O口,输出时:CPU发出控制电平“0”封锁“与”门,多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。,内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。, 输入时-分读引脚或读锁存器,此刻如果T2导通,则P0将被锁定为0,输入数据不能正确读入,故必须使P0=1,T1和T2截止,才能读入数据,因此称为准双口。,因为T2截止,故P0口数据,通过

22、下边三态门进入内存总线。,2. P2 用作通用I/O口,当不在单片机芯片外部扩展程序存储器,只扩展256B的片外RAM时,仅用到了地址线的低8位,P2口仍可以作为通用I/O口使用。,P0、P1、P2、P3口的电平与CMOS和TTL电平兼容,P0口的每一位口线可以驱动8个LSTTL负载。在作为通用 I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。,P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。 P1口是用户专用 8 位准双向I/O口, 具有通用输入/

23、输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为地址总线使用, 而不作为I/O线直接与外部设备相连。,P3 口的第二功能,2.4 单片机的复位,复位是使单片机的CPU或系统中的其它部件处于某一确定的初始状态,并从这一状态开始工作。单片机的工作就是从复位开始的。 复位电路 在振荡器工作时,将RST脚保持至少两个机器周期高电平(6 时钟模式

24、时为12个振荡器周期,12时钟模式时为24个振荡器周期)可实现复位。为了保证上电复位的可靠,RST 必须保持足够长时间的高电平,该时间至少为振荡器的稳定时间(通常为几个毫秒)加上两个机器周期。上电时VCC 和RST 必须同时上升以实现正确的启动。如果RST引脚持续保持高电平,单片机就处于循环复位状态,初始化后,程序计数器PC=0000H。 P0-P3=FFH,各端口锁存器已写入1,此时不但可用于输出,也可以于输入。 SP=07H,表明堆栈指针指向片内RAM的07单元(即第一个被压入的内容将写入到08H单元)。 IP、IE和PCON的有效位为0,分别表明各中断源处于低优先级、各中断均被关断、串行

25、通信的波特率不加倍。 PSW=00H,表明当前工作寄存器选为0组。,(a)上电复位 (b)上电与按键均有效的复位,上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位在加电的瞬间,RST引脚为高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。该电路典型的电阻值为:晶体振荡器为12MHz时,C1为10F,R1为8.2k。 复位时,PC初始化为0000H,程序从0000H单元开始执行。 除系统的正常初始化外,当程序出错(如程序跑飞)或操作错误使系统处于死锁状态时,需按复位键使RST脚为高电平,使AT89C51摆脱“跑飞”或“死锁”状态而重新启动程序。,复位操作还对其他一些寄存器有影响,这些寄存器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论