STC89C51系列单片机的结构和原理资料

上传人:206****923 文档编号:88627246 上传时间:2019-05-05 格式:PPT 页数:62 大小:2.40MB
返回 下载 相关 举报
STC89C51系列单片机的结构和原理资料_第1页
第1页 / 共62页
STC89C51系列单片机的结构和原理资料_第2页
第2页 / 共62页
STC89C51系列单片机的结构和原理资料_第3页
第3页 / 共62页
STC89C51系列单片机的结构和原理资料_第4页
第4页 / 共62页
STC89C51系列单片机的结构和原理资料_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《STC89C51系列单片机的结构和原理资料》由会员分享,可在线阅读,更多相关《STC89C51系列单片机的结构和原理资料(62页珍藏版)》请在金锄头文库上搜索。

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,从程序存储器

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

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

13、28个字节,其编址为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个字节;故一般需要扩展片外存储器。,其中20H2F

14、H为位寻址(重点),故可设位变量。 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和P3口输出的电流会造成单片机端口的损坏。 如端口引脚为低电平,能使电流从单片机外部流入内部,则将大大增加流过的电流值。 所以,当P1P3口驱动LED发光二极管时,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号