STC89C51系列单片机的结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
PC中内容变化轨迹决定程序流程。当顺序执行程序时自动 加1;执行转移程序或子程序、中断子程序调用时,自动
将其内容更改成所要转移的目的地址。
PC的计数宽度决定了程序存储器的地址范围。PC为16位, 故可对64KB(=216B)寻址。
19
2.3、存储器
程序存储器(FLASH,下载到4 KB ROM) 1.编址与访问 计算机的工作是按照事先编制好的程序命令序列一条 条顺序执行的,程序存储器就是用来存放这些已编好的程
P3 口( P3.0-P3.7 , 10-17 脚) :是带内部上拉的双向 I/O
口。向P3 口写入1时,P3 口被内部上拉为高电平, 可用作输入口。当作为输入脚时,被外部拉低的 P3 口会因为内部上拉而输出电流。 P3 口脚具有第二功 能,表2-2介绍了P3口的第二功能。
口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 第二功能 RxD TxD INT0 INT1 T0 T1 类型 I 0 I I I I 名 称 串行输入口 串行输出口 外部中断0 外部中断1 定时器0 外部输入 定时器1 外部输入
16
P=1,表示A中“1”的个数为奇数。 P=0,表示A中“1”的个数为偶数。 此标志位对串行通信有重要的意义,常用奇偶检验的 方法来检验数据串行传输的可靠性。
17
2.3.2
控制器
任务识别指令,并根据指令的性质控制单片机各功能部 件,从而保证单片机各部分能自动协调地工作。
控制器包括:程序计数器、指令寄存器、指令译码器、
13
A的进位标志Cy是特殊的,因为它同时又是位处理机的位累
加器 3.程序状态字寄存器PSW PSW(Program Status Word)位于片内特殊功能寄存器区, 字节地址为D0H。
包含了程序运行状态的信息,其中4位保存当前指令执行后
的状态,供程序查询和判断。格式如图2-3所示。
图2-3
PSW的格式
数据存储器
1.编址与访问
MCS-51 单片机片内、外数据存储器是两个独立的地址空
间,应分别单独编址。片内数据存储器除RAM 块外,还有特
殊功能寄存器 (SFR) 块。对于 51 子系列,前者有 128 个字节,
其编址为00H~7FH;后者有128个字节,其编址为80H~FFH; 二者连续而不重叠。由于访问它们所用的指令不同,并不会 引起混乱。片外数据存储器一般是16位编址。
2.程序的7个特殊入口地址 表1
操 复位
MCS-51单片机复位、中断入口地址
作 入口地址 0000H
外部中断0
定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
0003H
000BH 0013H 001BH 0023H 002BH
定时器 / 计数器 0 溢出或 T2EX 端负跳变 (52 子系 列)
思考:单片机如何使用?
2.2 STC89C51系列单片机的内部结构
增强的80C51 CPU 12时钟模式,6时钟模式
512B/1280B 数据RAM 端口3 可配置的I/O口 端口2 可配置的I/O口 端口1 可配置的I/O口 端口0 可配置的I/O口 晶体 或 谐振器
4K / 8 K/ ... 64KB 程序FLASH
序和表格常数,它由只读存储器ROM或EPROM组成。计算
机为了有序地工作,设置了一个专用寄存器 -- 程序计数器 PC,用以存放将要执行的指令地址。每取出指令的1个字
节后,其内容自动加1,指向下一字节地址,使计算机依
次从程序存储器取出指令予以执行,完成某种程序操作。 由于MCS-51单片机的程序计数器为16位,因此,可寻址的 地址空间为64 KB。
全双工增强型 UART
定时器0 定时器1
定时器2
振荡器
看门狗定时器
51系列单片机结构框图
1. 电源引脚
VSS(20脚):接地,0V参考点。 VCC(40脚):电源,提供掉电、空闲、正常工作
2.外接晶体引脚
XTAL1(19脚):接外部晶体的一端,振荡反向放大器 的输入端和内部时钟电路输入端。 XTAL2(18脚):接外部晶体的另一端,振荡反向放大 器的输出端。
2.利用 keil c软件编写程序 #include <reg51.h> #include <stdio.h> unsigned int temp1; void delay(unsigned int temp)//延时程序 { while(--temp); }
void main() { P2=0XFF;//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);
D5
F5H E5H D5H — B5H — A5H 9DH 95H
D4
F4H E4H D4H BCH B4H ACH A4H 9CH 94H
D3
F3H E3H D3H BBH B3H ABH A3H 9BH 93H
D2
F2H E2H D2H BAH B2H AAH A2H 9AH 92H
D1
F1H E1H D1H B9H B1H A9H A1H 99H 91H
第二章 STC89C51系列单片机的结构和原理
2.1 STC89C51如何控制流水灯 2.2 STC89C51系列单片机的内部结构 2.3 STC89C51系列单片机的主要组成部分 2.4 单片机的复位电路 2.5 单片机最小系统
2.1 STC89C51如何控制流水灯
任务:使用单片机控制发光管按一定顺序亮 1.利用Proteus7连接电路图
D0
F0H E0H D0H B8H B0H A8H A0H 98H 90H
字节 地址 F0H E0H D0H B8H B0H A8H A0H 98H 90H
TCON
P0
8FH
87H
8EH
零),还可算术运算(加、减、乘、除)
12
ALU还有位操作功能,对位变量进行位处理,如置“1”、 清“0”、求补、测试转移及逻辑“与”、“或”等。 2.累加器A
使用最频繁的寄存器,可写为Acc。“A”与“Acc”
作用如下: (1)ALU单元的输入数据源之一,又是ALU运算结果存放单 元。 (2)数据传送大多都通过累加器A,相当于数据的中转站。
表 2 寄存器与RAM 地址对照表
表 3 SFR特殊功能寄存器地址表
表4 SFR中的位地址分布
特殊功 能 寄存器 B Acc PSW IP P3 IE P2 SCON P1 位地址
D7
F7H E7H D7H — B7H AFH A7H 9FH 97H
D6
F6H E6H D6H — B6H — A6H 9EH 96H
输入/输出引脚
• 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口会因为内部上拉而输出 电流。 • P2口(P2.0-P2.7,21-28脚):是带内部上拉的双向I/O口。 向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。 当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出 电流。在访问外部程序存储器和外部数据时分别作为地址高 位字节和 16 位地址,此时通过内部强上拉传送 1。当使用 8 位寻址方式访问外部数据存储器时,P2口发送P2 特殊功能寄 存器的内容。
P3.6
P3.7
WR
RD
O
O
外部数据存储器写信号
外部数据存储器读信号
2.3
STC89C51的系列单片机的主要组成部分
该系列单片机由中央处理器(CPU)、存储器和I/O接口三 大部分组成。 其中CPU包括运算器和控制器两大部分。 2.3.1 运算器
对操作数进行算术、逻辑和位操作运算。主要包括算术
逻辑运算单元ALU、累加器A、位处理器、程序状态字寄存 器PSW及两个暂存器等。 1.算术逻辑运算单元ALU 可对8位变量逻辑运算(与、或、异或、循环、求补和清
15
(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择 选择片内RAM区中的4组工作寄存器区中的某一组为当前工
作寄存区。
(5)OV(PSW.2)溢出标志位 当执行算术指令时,用来指示运算结果是否产生溢出。如 果结果产生溢出,OV=1;否则,OV=0。 (6)PSW.1位 保留位 (7)P(PSW.0)奇偶标志位 指令执行完,累加器A中“1”的个数是奇数还是偶数。
3. 控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有 RST/VPD、 ALE / PROG.、PSEN 和 EA / VPP 等4种形式。
• RST ( 9 脚):复位端。当晶体在运行时,只要此引脚上出 现2个机器周期高电平即可复位,内部有扩散电阻连接到Vss, 仅需要外接一个电容到Vcc即可实现上电复位。 • ALE(30脚):地址锁存使能。在访问外部存储器时,输出 脉冲锁存地址的低字节,在正常情况下,ALE输出信号恒定 为1/6振荡频率。并可用作外部时钟或定时,注意每次访问外 部数据时,一个ALE脉冲将被忽略。 • PSEN ( 29 脚):程序存储使能。读外部程序存储。当从外 部读取程序时, PSEN 每个机器周期被激活两次,在访问外 部数据存储器时PSEN无效,访问内部程序存储器时 PSEN无 效。 • EA/Vpp(31脚):外部寻址使能 /编程电压。在访问整个外 部程序存储器时,EA必须外部置低。如果EA为高时,将执 行内部程序。当RST释放后EA脚的值被锁存,任何时序的改 变都将无效。该引脚在对 FLASH 编程时用于输入编程电压 (Vpp)。
定时及控制逻辑电路等。功能是控制指令的读入、译码和执 行,从而对各功能部件进行定时和逻辑控制。
程序计数器PC是一个独立的16位计数器,不可访问。单
片机复位时,PC中内容为0000H,从程序存储器0000H单元取 指令,开始执行程序。 PC工作过程是:CPU读指令时,PC的内容作为所取指令的 地址,程序存储器按此地址输出指令字节,同时PC自动加1。
2. 内部数据存储器 MCS-51 片内RAM为 256 字节, 地址范围为00H~FFH, 分 为两大部分: 低 128 字节(00H~7FH)为真正的RAM区; 高 128 字节(80H~FFH)为特殊功能寄存器区SFR。
在低 128 字节RAM中, 00H~1FH共 32 单元是 4 个通用
Leabharlann Baidu14
PSW中各个位的功能: (1)Cy(PSW.7)进位标志位
可写为C。在算术和逻辑运算时,若有进位/借位,Cy=1;
否则,Cy=0。在位处理器中,它是位累加器。 (2)Ac(PSW.6)辅助进位标志位 在BCD码运算时,用作十进位调整。即当D3位向D4位产生进 位或借位时,Ac=1;否则,Ac=0。 (3)F0(PSW.5)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置1或清0, 控制程序的流向。用户应充分利用。
P2=0XEF; temp1=35000; delay(temp1); P2=0XDF; temp1=35000; delay(temp1); P2=0XBF; temp1=35000; delay(temp1); P2=0X7F; temp1=35000; delay(temp1);
} }
3.利用 keil c软件将C语言转化成HEX文件 4.将HEX文件添加到Proteus7软件中,进行仿真
工作寄存器区。每一个区有 8 个通用寄存器R0~R7。
低 128 字节(00H~7FH) 其中真正用户能用到 得只有20H—7FH共96个 字节;故一般需要扩展片 外存储器。 其中20H—2FH为位寻 址(重点),故可设位变 量。 sbit p20=P2^0; sbit p21=P2^1; If p20==1 then p21=0
相关文档
最新文档