at89c51单片机.doc

上传人:豆**** 文档编号:33464875 上传时间:2022-08-11 格式:DOC 页数:26 大小:155KB
返回 下载 相关 举报
at89c51单片机.doc_第1页
第1页 / 共26页
at89c51单片机.doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《at89c51单片机.doc》由会员分享,可在线阅读,更多相关《at89c51单片机.doc(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-作者xxxx-日期xxxxat89c51单片机【精品文档】 本文由段公子哥贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第2章 AT89C51单片机的结构 章 单片机的结构 2011-3-8 1 第2章 AT89C51单片机的结构 章 单片机的结构 2.1 2.2 2.3 2.4 2.5 AT89C51单片机的基本结构 AT89C51单片机的存储器配置 AT89C51的时钟电路与CPU时序 AT89C51复位与复位电路 AT89C51单片机的最小系统 2011-3-8 2 2. 1 AT89C51单片机的基本结构 单片机的基本结构 AT89C51

2、是具有MCS-51内核、片内带有4KB的flash ROM的单片机,图2-1为AT89C51基本结构示意图。 从图中可以看出,单片机有一条内部总线,各个功 能模块都挂在这条总线上,通过内部总线传送数据 信息和控制信息。AT89C51主要由以下部件组成。 2011-3-8 3 AT89C51单片机基本结构示意图 AT89C51单片机基本结构示意图 2011-3-8 4 2011-3-8 5 AT89C51主要组成部件 AT89C51主要组成部件 1CPU CPU是单片机的核心部分,CPU包括两个基本部分:运算器 和控制器。 (1)运算器 运算器即算术逻辑运算单元ALU(Arithmetic Lo

3、gic Uint), 是进行算术或逻辑运算的部件。可实现算术运算和逻辑运算。 操作的结果一般送回累加器 ACC (Accumulator),而其状 态信息送至程序状态寄存器PSW(Program Status Word)。 (2)控制器 控制器是用来控制计算机工作的部件。控制器接收来自存储 器的指令,使各部分协调工作,完成指令所规定的操作。 2011-3-8 6 2内部数据存储器 AT89C51芯片内共有256B(地址为:00HFFH)的数据存 储器,其中高128B(地址为:80HFFH)被专用寄存器占 用,能作为寄存器供用户使用的只是低128B(地址为: 00H7FH),用于存放可读写的数据

4、,如程序执行过程中 的变量。 2011-3-8 7 3内部程序存储器 AT89C51共有4KB(地址为:0000H0FFFH)的flash程序 存储器,用于存放程序、原始数据或表格常数。 4定时/计数器 定时 计数器 AT89C51共有两个16位的定时/计数器,每个定时/计数器都 AT89C51 16 / / 可以设置成计数方式,用于对外部事件进行计数;也可以设 置成定时方式,并可以根据计数或定时的结果实现对单片机 运行的控制。 2011-3-8 8 5并行I/O口 并行 口 AT89C51共有4个8位的I/O口(P0、Pl、P2、P3)。每个8 位的口,既可用作输入口,也可用作输出口,每个口

5、即可 以8位同步读写,又可对每一位进行单独的操作,十分的 方便。 6串行口 AT89C51单片机有一个全双工的串行接口,以实现单片机 和其他设备之间的串行数据传送。该串行口功能较强,既 可作为全双工异步通信收发器使用,也可作为同步移位器 使用。 2011-3-8 9 7中断控制系统 AT89C51单片机有较强的中断系统,可以满足控制应用的 需要。AT89C51的中断系统有5个中断源,包括两个外中断、 两个定时/计数中断和一个串行口中断。 8 8时钟电路 AT89C51芯片的内部有时钟电路,但石英晶体和微调电容 需外接。时钟电路为单片机产生时钟脉冲序列。 2011-3-8 10 2.1.2 AT

6、89C51单片机的引脚功能 单片机的引脚功能 AT89C51单片机采用40脚双列直插式的DIP40封装,还 提供较小尺寸表面封装形式的PQFP/TQFP44,其引脚排 列如图2-2所示。为使结构更加紧凑,单片机的许多引 脚具有双重功能。 2011-3-8 11 AT89C51采用 采用DIP40封装 采用 封装 2011-3-8 12 AT89C51采用 采用PQFP/TQFP44封装 采用 封装 2011-3-8 13 引脚功能 40个引脚大致可分为4 40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 个引脚大致可分为 电源、时钟、控制和I/O引脚。 I/O引脚 2011-3-8 1

7、4 芯片电源, +5V; VCC - 芯片电源,接+5V; 接地端; VSS - 接地端; 时钟:XTAL1、 晶体振荡电路反相输入端和输出端。 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM EPROM编程脉冲 ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能 用来锁存P0口送出的低8 功能: P0口送出的低 ALE功能:用来锁存P0口送出的低8位地址 PROG功能 片内有EPROM的芯片, EPROM编程期间 功能: EPROM的芯片 编程期间, PROG功

8、能:片内有EPROM的芯片,在EPROM编程期间,此引脚 输入编程脉冲。 输入编程脉冲。 PSEN:外ROM读选通信号 读选通信号。 PSEN:外ROM读选通信号。 RST/ 复位/备用电源。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 RST(Reset)功能:复位信号输入端。 功能: Vcc掉电情况下 接备用电源。 掉电情况下, VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 ROM选择 EPROM编程电源 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能 内外ROM选择端。 功能: R

9、OM选择端 EA功能:内外ROM选择端。 Vpp功能 片内有EPROM的芯片, EPROM编程期间 功能: EPROM的芯片 编程期间, Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程 电源Vpp Vpp。 电源Vpp。 2011-3-8 15 电源: 电源: I/O线 2011-3-8 RXD:串行口输入端; RXD:串行口输入端; TXD:串行口输出端; TXD:串行口输出端; INT0 外部中断0请求输入端; INT0:外部中断0请求输入端; INT1 外部中断1请求输入端; INT1:外部中断1请求输入端; 定时/计数器0外部信号输入端; T0:定时/计数器0外部信

10、号输入端; 定时/计数器1外部信号输入端; T1:定时/计数器1外部信号输入端; WR: RAM写选通信号输出端 写选通信号输出端; WR:外RAM写选通信号输出端; RD: RAM读选通信号输出端 读选通信号输出端。 RD:外RAM读选通信号输出端。 16 P3口的第二功能表 P3口的第二功能表 表2-1 P3口的第二功能表 2011-3-8 引脚( 封装) 引脚(DIP40封装) 封装 10 11 12 13 14 15 16 17 第二功能 RXD(串行输入口) (串行输入口) TXD(串行输出口) (串行输出口) INT0(外部中断0输入) (外部中断 输入 输入) INT1(外部中断

11、1输入) (外部中断 输入 输入) T0(定时/计数器 的外部计数输入) (定时 计数器 的外部计数输入) 计数器0的外部计数输入 T1(定时/计数器 的外部计数输入) (定时 计数器 的外部计数输入) 计数器1的外部计数输入 WR(外部数据存储器写脉冲输出) (外部数据存储器写脉冲输出) RD(外部数据存储器读脉冲输出) (外部数据存储器读脉冲输出) 17 2.2 AT89C51单片机的存储器配置 单片机的存储器配置 一般微机通常是程序和数据共用一个存储空间,属 于“冯诺依曼”(Von Neumann)结构。而单片 机的存储器组织结构则把程序存储空间和数据存储 空间严格区分开来,属于“哈佛”

12、(Harvard)结 构。 2011-3-8 18 2.2 AT89C51单片机的存储器配置 AT89C51单片机的存储器配置 AT89C51单片机存储器在物理结构上分成四个存储空间: 片内程序存储器、片外程序存储器、 片内程序存储器、片外程序存储器、片内数据存储器和片 外数据存储器。从用户使用的角度,即从逻辑上考虑,则有 外数据存储器 三个存储空间:片内外统一编址的64KB程序存储器地址空 间(0000H FFFFH)、256B的片内数据存储器地址空间 (00H FFH)及片外数据存储器地址空间(0000H FFFFH)。 CPU在访问三个不同的逻辑空间时,通过采用不同形式的 指令,来产生相

13、应的存储器选通信号,访问程序存储器使用 MOVC指令、访问片内数据存储器使用MOV指令、访问片 外数据存储器使用MOVX指令 2011-3-8 19 程序存储器 89C51单片机内部有4K的程序存储器, 0000H0FFFH; 程序从0000H开始; 有一些特殊功能的区域,如中断入口地 址。 2011-3-8 20 FFFFH 外部 ROM (60KB) ) FFFFH EA=0/1 1000H FFH 0FFFH 特殊功能 寄存器 (21个SFR) 个 ) 外部 RAM (64KB) ) 内部 ROM (4KB) ) 外部 ROM (4KB) ) 80H 7FH 内部RAM 内部 128B

14、0000H 00H WE RD 0000H EA=1 EA=0 PSEN 2011-3-8 21 AT89C51程序存储器配置 程序存储器配置 2011-3-8 22 中断入口地址表: 中断源 外部中断0 定时器0 外部中断1 定时器1 串行口 入口地址 0003H 000BH 0013H 001BH 0023H 2011-3-8 23 数据存储器 内部数据存储器在物理上分为两个不同的存储 空间: 数据存储器空间(低128单元) 特殊功能寄存器空间(高128单元)。 这两个空间是相连的。从用户角度而言,低128 单元才是真正的数据存储器。 2011-3-8 24 MCS51数据存储器配置 数据

15、存储器配置 2011-3-8 25 AT89C51低128B的片内数据存储器 AT89C51低128B的片内数据存储器 数据存储器由RAM构成,一旦掉电,其数据将丢失。 低128B的数据存储器(地址范围:00H7FH)用于存放 程序运算的中间结果的暂存,用作缓存、堆栈等。 低128B的数据存储器的存储器配置如图2-4。 数据存储器空间(低128单元)按功能划分为: 通用寄存器区 位寻址区 用户区 2011-3-8 26 AT89C51低128B的片内数据存储器 AT89C51低128B的片内数据存储器 7FH 用户RAM区 工作寄存器 3区 工作寄存器 2区 1FH 18H 17H 10H 3

16、0H 2FH 20H 1FH 位寻址区 工作寄存器 1区 工作寄存器 0区 0FH 08H 工作寄存器区 07H 00H 27 00H 2011-3-8 1)片内 片内RAM 片内 工作寄存器区: 工作寄存器区: 字节地址: 字节地址:00H1FH 位寻址区: 位寻址区: 字节地址: 字节地址:20H2FH 位地址为: 位地址为:00H7FH 数据缓冲区/堆栈区 堆栈区: 数据缓冲区 堆栈区: 字节地址: 字节地址:00H7FH 一般使用30H7FH 一般使用 2011-3-8 28 工作寄存器区 将地址00H1FH共32个单元设为工作寄存器区,分为4组, 每组由8个单元按序组成通用寄存器R0

17、R7。 任一时刻CPU只能选用一组工作寄存器为当前工作寄存 器。CPU复位后,自动选中第0组工作寄存器。 通过程序对程序状态字PSW中的RS1、RS0位进行设置, 以实现工作寄存器组的切换,对应关系如表2-2。 2-2 表2-2 工作寄存器选择 RS1 0 0 1 1 2011-3-8 RS0 0 1 0 1 寄存器组 第0组 第1组 第2组 第3组 片内RAM地址 00H07H 08H0FH 10H17H 18H1FH 29 位寻址区 地址为20H2FH的16个RAM(字节)单元,既可以作 为一般的数据存储器按字节读写,又可以按位存取。 16个RAM单元,每个单元8位,共有128位,将每一位

18、 分配一个地址,称为位地址,地址编码007FH。表2-3是位 地址的分布表。 字节地址和位地址都是用8位的二进制表示,理解上容 8 易产生混淆。字节地址单元的数据(内容)是8位二进制数, 而位地址的数据(内容)是1位二进制数。例如,字节地址 2AH单元的数为0,表示位地址50H57H中8个单元的数均为 0,又例如位地址28H的数为0表示字节地址25H的D0位(最 低位)为0。也可以用“”表示位地址,例如 25H.1(字节地址25H的第1位D1)等于位地址29H。 2011-3-8 30 位寻址区 位寻址区(20H2FH)16个字节。 16*8=128位,每一位都有一个位地址,范围为:00H7F

19、H, 位地址区也可作为一般RAM使用。 单元地址 2FH 2EH 位地址 7FH 7EH 7 DH 7CH 77 H 76H 75H 74H 7BH 7 AH 79H 73H 72H 71H 78H 70H 21H 20H 0FH 0EH 0DH 0CH 07 H 06H 05H 04H 0BH 0 AH 09H 03H 02H 01H 08H 00H 2011-3-8 31 用户RAM区 区 用户 在30H7FH区的80个RAM单元为用户RAM区,只能按 字节存取。30H7FH区是真正的数据缓冲区。由于工 作寄存器区、位寻址区、数据缓冲区统一编址,使用同 样的指令访问,这三个区的单元既有自己

20、独特的功能, 又可统一调度使用。因此,前两区未使用的单元也可用 为一般的用户RAM单元,使容量较小的片内RAM得以 充分利用。程序设计时,将中间的计算结果,作为变量 存放在该区域。 对这部分区域的使用不作任何规定和限制,但应当说明 的是,堆栈一般开辟在此区。 2011-3-8 32 *关于堆栈 堆栈:是一个特殊的存储区域; 特点:“后进先出”。 单片机的堆栈是地址增加型,即压 入数据时地址指针增加。 堆站的操作有 压入:PUSH 弹出:POP 2011-3-8 33 堆栈操作示意图 RAM 89H SP 6BH 6BH 栈顶 61H 60H 1EH F5H栈底 图 2-5 堆栈和堆栈指针示意图

21、 2011-3-8 34 RAM SP 62H 61H 60H SP PUSH 31H (31H) PUSH 30H (30H) 60H XX 30H 31H POP 30H POP 31H 62H 61H 60H 图 2-6 例 2-1 堆栈操作示意图 2011-3-8 35 AT89C51的特殊功能寄存器 SFR( 128单元 AT89C51的特殊功能寄存器 SFR(高128单元) 单元) 内部RAM的高128单元是给特殊寄存器使用的, 因此称之为专用寄存器区,其单元地址为 80HFFH。因为这些寄存器的功能已作专门规定, 所以称其为专用寄存器或特殊功能寄存器 (Special Funct

22、ion Registers)。特殊功能寄存器 的总数为21个,仅占用了80HFFH中的很小一部 分。表中给出了这些特殊功能寄存器的符号、名 称和地址等。 2011-3-8 36 特殊功能寄存器SFR 特殊功能寄存器 占用字节地址: 占用字节地址:80HFFH 位寻址寄存器: 位寻址寄存器: 其字节地址可被8整除 整除。 其字节地址可被 整除。 专用寄存器: 专用寄存器: A、B、PSW、DPTR、SP 、 、 、 、 I/O接口寄存器: 接口寄存器: 接口寄存器 P0、P1、P2、P3、SBUF、TMOD、TCON、 、 、 、 、 、 、 、 SCON 2011-3-8 37 特殊功能寄存器

23、符号极其分布表 表2-4 特殊功能寄存器SFR地址表 位地址及位名称 寄存器 D7 D6 D5 F7H F6H F5H B ACC PSW IP P3 IE E7H D7H Cy BFH B7H P3.7 AFH EA E6H D6H AC BEH B6H P3.6 AEH E5H D5H F0 BDH B5H P3.5 ADH D4 F4H E4H D4H RS1 BCH B4H P3.4 ACH ES D3 F3H E3H D3H RS0 BBH B3H P3.3 ABH ET1 D2 F2H E2H D2H OV BAH B2H P3.2 AAH EX1 D1 F1H E1H D1H F

24、1 B9H B1H P3.1 A9H ET0 D0 F0H E0H D0H P B8H B0H P3.0 A8H EX0 字节地 址 F0H E0H D0H B8H B0H A8H 2011-3-8 38 P2 SBUF SCON P1 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0 A3H P2.3 9BH TB8 A0H 99H 98H 90H 8DH 8CH 8BH 8AH 89H 88H 87H 83H 82H 81H 80H GATE 8FH TF1 SMOD C/T 8EH TR1 M1 8DH TF0 M0 8CH TR0 GATE 8B

25、H IE1 GF1 C/T 8AH IT1 GF0 M1 89H IE0 PD M0 88H IT0 IDL 2011-3-8 39 21个特殊功能寄存器是不连读地分散在内部RAM的高 128单元之中,尽管其中还有许多空闲地址,但用户不能 使用。 程序计数器PC是独立于SFR之外的唯一的一个不可寻址 的专用寄存器。PC不占RAM单元,在物理上是独立存在 的。它不包括在21个特殊功能寄存器中。 在21个特殊功能寄存器中,有11个寄存器不仅可以字节 寻址,也可以进行位寻址。凡是能进行位寻址的SFR, 其特征是字节地址都能被8整除(字节地址的末位是0或 8)。 IP中有3位、IE中有2位、PSW中有

26、一位对用户无实际意 义,所以直接寻址位为82位;再加上数据存储器中的128 位,89C51共计有210位可寻址位。 2011-3-8 40 (1)程序计数器PC PC是一个16位的计数器。其内容为将要执行的指 令地址,寻址范围达64KB。PC有自动加1功能, 从而实现程序的顺序执行。PC没有地址,是不可 寻址的(但在物理上是存在的),因此用户无法 对它进行读写;但可以通过转移、调用返回等指 令改变其内容,以实现程序的转移。 2011-3-8 41 (2) 累加器A 累加器A为8位寄存器,是最常用的专用寄存器, 功能较多。它既可用于存放操作数,也可用来 存放中间结果。89C51单片机中大部分单操

27、作数 指令的操作数就取自累加器,许多双操作数指 令中的一个操作数也取自累加器。加、减、乘、 除运算指令的运算结果都存放在累加器A或AB 寄存器对中。 2011-3-8 42 (3) B寄存器 B寄存器是一个8位寄存器,主要用于乘 除运算。乘法运算时,B是乘数。乘法操 作后,乘积的高8位存于B中。除法运算 时,B存放除数。除法操作后,余数存于 B中。此外,B寄存器也可作为一般数据 寄存器使用。 2011-3-8 43 (4) 程 序 状 态 字 PSW ( PROGRAM WORD) ) STATUS 程序状态字PSW是一个8位寄存器,用于存放程 序运行的状态信息。其中,有些位的状态是程序 执行

28、的结果,是由硬件自动置位的;而有些位的 状态则采用软件的方法来设定。PSW的位状态可 以用专门指令进行测试,也可以用指令读出。一 些条件转移指令会根据PSW有关位的状态进行程 序转移。PSW的各位含义如图所示。其中PSW.1 为保留位,未用。 2011-3-8 44 程序状态字PSW 表2-5 程序状态字寄存器PSW各位名称及地址 位 位地址 名称 D7 D7H CY D6 D6H AC D5 D5H F0 D4 D4H RS1 D3 D3H RS0 D2 D2H OV D1 D1H F1 D0 D0H P 2011-3-8 45 CY(PSW.7):进位标志位 : CY是PSW中最常用的标志

29、位,其功能有二:一是 存放算术运算的进位标志;二是在位操作中作累 加位使用。位传送、位与、位或操作,操作数之 一为进位标志位。 AC(PSW.6):辅助进位位 : 当进行加法或减法操作而产生由低4位向高4位的 进位或借位时,由硬件将AC置1;否则就被清除。 AC还用于十进制调整,同DA A 指令结合起来使 用。 2011-3-8 46 F0(PSW.5):用户标志位 : 它是用户定义的一个状态标记,可以用软件来使 它置位或清除,也可用软件测试F0以控制程序的 流向。 RS1、RS0(PSW.4,PSW.3):当前寄存器区选 、 ( , ) 择位 用软件来置位或清除,以选择和确定当前工作寄 存器

30、区。 2011-3-8 47 OV(PSW.2)溢出标志位 溢出标志位 在带符号数运算中,OV1,表示加减运算结果超 出了累加器所能表示的符号数的有效范围( 128127),即产生了溢出,因此运算结果是错 误的;否则OV0,运算结果正确,无溢出。 在乘法运行中,OV1,表示乘积超过255,即乘 积分别放在B与A中;否则OV0,表示乘积只放 在中。 在除法运行中,OV1,表示除数为0,除法不能 进行;否则,OV0,除数不为0,除法可正常进 行。 2011-3-8 48 (PSW.0):奇偶位 ) 每个指令周期都由硬件来置位或清除,以表示 累加器中1的个数的奇偶性。P1,则累加器 中1的个数为奇数

31、;若P=0,则累加器中1的 个数为偶数。在串行通讯中用于校验数据的正 确性。 2011-3-8 49 (5) 栈指针SP 栈指针 栈指针SP是一个8位专用寄存器。它指示出堆栈顶部 在内部数据存储器中的位置。系统复位后,SP初始 化为07H,使得堆栈向上由08H单元开始。考虑到 08H1FH单元属于工作寄存器区,若程序设计中要 用到这些区,最好把SP的值置为1FH或更大一些, 一般将堆栈开辟在30H7FH区域中。SP的值越小, 堆栈深度就越深,但最大为128字节。 2011-3-8 50 SP的值除了可以用软件直接改变外(MOV SP, #DATA),在执行堆栈操作,程序调 用、子程序返回及中断

32、返回等指令时,SP 的值自动增量或减量。堆栈操作指令为: PUSH ACC (压入堆栈) POP ACC (弹出堆栈) 2011-3-8 51 (6) 数据指针DPTR 数据指针DPTR是唯一1个16位的可寻址的专用寄存器; 由两个8位寄存器DPH和DPL拼装而成,其中DPH为DPTR的 高8位,DPL为DPTR的低8位。它既可作为一个16位寄存器来 使用,也可作为2个独立的8位寄存器(DPH和DPL)来使用。 DPTR通常用来存放16位地址。既可访问外部RAM,也可访 问ROM。例如: MOV DPTR, #2000H MOVX A, PPTR ;将外RAM2000H单元内容A MOVC A

33、, A+DPTR ;访问ROM指令 2011-3-8 52 (7) 端口P0P3 专用寄存器P0、P1、P2和P3分别是I/O 口P0P3的锁存器。 在80C51中,I/O 和RAM统一编址,既 可以字节寻址,也可以位寻址,使用起 来较方便。 有关P0P3的详细情况,在后续内容中 介绍。 2011-3-8 53 (8) 串行数据缓冲器SBUF 串行数据缓冲器SBUF用于存放欲发送或接 收的数据,它实际上由两个独立的寄存器 组成,一个是发送缓冲器,另一个是接收 缓冲器。当要发送的数据传送到SBUF时, 进入的是发送缓冲器,当要从SBUF取数据 时,则取自接收缓冲器,取走的是刚接收 到的数据。 2

34、011-3-8 54 (9) 定时器/计数器 80C51单片机有两个16位定时器/计数器 T0和T1,它们分别由两个独立的8位寄存 器组成,共有4个独立的寄存器:TH0, TL0,TH1,TL1,可对这4个寄存器寻址, 但不能把T0和T1当成16位寄存器来访问。 2011-3-8 55 (10) 其它控制寄存器 IP、IE、TMOD、TCON、SCON和PCON 寄存器分别包含有中断系统、定时器/计数 器、串行口和供电方式的控制和状态位, 这些寄存器将在以后内容中介绍。 2011-3-8 56 AT89C51的片外数据存储器 AT89C51的片外数据存储器 外部数据存储器又称外部RAM,当片内

35、RAM的容量 不能满足要求时,可通过总线端口和其他I/O口扩展 外部数据RAM,其最大容量可达64K字节。外部数 据存储器和内部数据存储器的功能基本相同,但外 部数据存储器不能用于堆栈操作,对外部外部数据 存储器的访问只能使用间接寻址方式。 2011-3-8 57 FFFFH 外部 ROM (60KB) FFFF H EA=0/1 1000H FFH 0FFFH 特殊功能 寄存器 (21个SFR) 外部 RAM (64KB) 内部 ROM (4KB) EA=1 外部 ROM (4KB) EA=0 80H 7FH 内部RAM 128B 0000H 00H WE RD 58 0000H PSEN

36、2011-3-8 AT89C52的存储器配置 AT89C52的存储器配置 AT89C52相当于MCS-51单片机 中的52子系列,与51子系列的 AT89C51相比,片内的程序存储 器flash ROM增加到了8KB,片 内的数据存储器增加了128B。 AT89C52的存储器结构如图2-7 所示。 FFH 特殊功能 寄存器 (27个SFR) 内部RAM 低128B 内部RAM 高128B FFFFH 外部 ROM (56KB) ) EA=0/1 2000H 1FFFH 80H 7FH 内部 ROM (8KB) ) EA=1 外部 ROM (8KB) ) EA=0 PSEN 0000H 00H

37、内部数据存储器 2011-3-8 内、外程序存储器 59 89C51的存储器配置小结 89C51的存储器配置小结 AT89C51的片内集成有一定容量的程序存储器(4K)和数据 存储器(128B)。当然,还可以根据需要对存储器进行外 部扩展。 从物理上分,89C51的存储器有4个存储空间:片内程序存 储器、片外程序存储器、片内数据存储器和片外数据存储 器。 从逻辑上分,89C51有3个存储器地址空间:片内外统一的 64KB的程序存储器地址空间、256B的内部数据存储器地址 空间(其中128B的专用寄存器地址空间,仅有部分字节有 实际意义)和64KB的外部数据存储器地址空间。 为了区分不同的存储器

38、空间,在用指令访问这三个不同的 逻辑空间时采用了不同形式的指令。 2011-3-8 60 2.3 AT89C51的时钟电路与CPU时序 AT89C51的时钟电路与 的时钟电路与CPU时序 晶体振荡器时钟方式 利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器 (简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部 时钟电路。外接晶振通常为石英晶体振荡器或振荡器。使用石英晶体振 荡器时,Cl和C2的值为30pF左右;使用陶瓷振荡器时,Cl和C2的值为 40pF左右;选用晶振的频率也就是单片机的时钟频率,AT89C51最高时 钟频率可达到24MHz。晶振和电容要尽可能

39、安装得与单片机引脚XTALl和 24MHz XTALl XTAL2靠近。 C1 XTAL1 AT89C51 XTAL2 C2 2011-3-8 61 2.3 AT89C51的时钟电路与CPU时序 AT89C51的时钟电路与 的时钟电路与CPU时序 外部时钟方式 从单片机外部直接引入振荡时钟脉冲。振荡时钟脉冲从AT89C51的XTALl 输入,XTAL2应悬空。 悬空 XTAL1 AT89C51 外部时钟 XTAL2 2011-3-8 62 CPU时序 时序 单片机的时序是指CPU在执行指令时所需控制信号的时间顺 序。时序信号是以时钟脉冲为基准产生的。CPU发出的时序 信号有两类:一类用于片内各

40、功能部件的控制,由于这类信 号在CPU内部使用,用户无须了解;另一类信号通过单片机 的引脚送到外部,用于片外存储器或I/O端口的控制,这类时 序信号对单片机系统的硬件设计非常重要。 为了便于对CPU时序进行分析,人们按指令的执行过程规定 了几种周期,即时钟周期、机器周期和指令周期,也称为时 序定时单位。 2011-3-8 63 CPU时序 时序 时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的 倒数,是计算机中最基本的、最小的时间单位。 机器周期 完成一个基本操作所需要的时间称为机器周期。AT89C51有 固定的机器周期,规定一个机器周期就有12个时钟周期,也 就是说一个机器

41、周期共包含12个振荡脉冲,即机器周期就是 振荡脉冲的12分频。 如果使用6MHz的时钟频率,一个机器周期就是2s,而 如果使用12MHz的时钟频率,一个机器周期就是1s。 2011-3-8 64 指令周期 指令周期是执行一条指令所需要的时间 一般由若干个机器周期组成,指令不同,所需要的机器周 期数也不同。对于一些简单的单字节指令,在取指令周期 中,指令取出到指令寄存器后,立即译码执行,不再需要 其他的机器周期。对于一些比较复杂的指令,例如,转移 指令、乘除运算则需要两个或两个以上的机器周期。 2011-3-8 65 读外部RAM或I/O的时序图 MOVX A, DPTR 2011-3-8 66

42、 2.4 AT89C51复位与复位电路 AT89C51复位与复位电路 复位是单片机的初始化操作,其主要功能是把PC初始化 为0000H,使单片机从0000H 单元开始执行程序。除了 进入系统的正常初始化之外,当由于程序运行出错或操作 错误使系 统出现死机时,也必须对单片机进行复位,使其 重新从头开始工作。 2011-3-8 67 复位电路 当AT89C51通电,时钟电路开始工作,在AT89C51单片机 的RST(DlP40封装第9脚)引脚加上大于24个时钟周期以 上的高电平脉冲,AT89C51单片机系统即初始复位。初始 化后,程序计数器PC指向0000H,P0P3输出口全部为高 电平,堆栈指针

43、写入07H。系统即从0000H地址开始执行程 序。 单片机的外部复位电路有上电自动复位、按键手动复位、以 及外部复位信号输入等方式。 2011-3-8 68 上电复位 上电复位利用电容器的充电实现。如图2-10(a)是 AT89C51单片机的上电复位电路。图中给出了复位电路参 数。上电瞬间,由于电容两端电压不能突变,RST引脚端 为高电平,出现正脉冲,其持续时间取决于RC电路的时间 常数。RST引脚要有足够长的时间才能保证单片机有效地 复位。 2011-3-8 69 按键复位 图2-10(b)是AT89C51单片机的上电+按键复位电路。上电 复位过程同上。当单片机工作过程中需要复位时,按下复位 按键K1,复位端RST通过100 的电阻与VCC电源接通,使 RST引脚为高电平。复位按键弹起后,RST端经1K 的电阻 接地,完成复位过程。图中VCC是单片机的供电电压,一般 为+5V。 2011-3-8 70 2011-3-8 71 外接复位芯片 为了保证单片机可靠

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com