80C51存储器配置
第3章80C51系列单片机的硬件基础知识
(3) P2口(21脚~28脚):P2口的8条引脚也有两种不同的 功能: 1) 准双向输入/输出接口,每一位也可独立控制。
2) 在接有片外存储器或扩展I/O接口时,P2口作为高8位地
址总线。
引脚
第二功能
说 明
P3.0
RXD
串行口输入
外部中断0输入,低电平
(4) P3口(10 脚~17脚): 8条引脚也有两种不同的功能: P3.1 TXD P3口的 串行口输出
STC
Winbond(华邦) W78C54,W78C58,W78E54,W78C58等 Intel(英特尔) i87C54,i87C58,i87L54,i87C51FB,i87C51FC
Siemens(西门子) C501-1R,C501-1E,C513A-H,C503-1R,C504-2R
3.1.3 80C51系列单片机的选择依据
3.1.1 MCS-51系列单片机
1980年美国INTEL公司推出了高性能的8位单片机: MCS-51系列单片机。 系列单片机是指同一厂家生产的具有相同系统结构 的多种型号的单片机。 MCS-51系列单片机又可分为51和52两个子系列。
各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。
MCS-51系列 型号 8031 片内ROM 无 4KB掩膜ROM 4KB EPROM 无 8KB掩膜ROM 片内 RAM 128B 128B 128B 256B 256B 定时器/计数 中断源数量 器 2×16位 2×16位 2×16位 3×16位 3×16位 5 5 5 6 6
PDIP (T2)P1.0 (T2EX)P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD)P3.0 (TXD)P3.1 1 40 39 38 37 36 35 VCC P0.0(AD0) P0.1(AD1) P0.2(AD2) P0.3(AD3) P0.4(AD4) P0.5(AD5) P0.6(AD6) P0.7(AD7) EA/VPP ALE/PROG PSEN P0.4(AD4) P0.5(AD5) P2.7 P0.6(AD6) P2.6 P0.7(AD7) EA/VPP P2.5 NC P2.4 ALE/PROG PSEN P2.3 P2.7 P2.6 P2.2 P2.5 P2.1 P2.0
第3章80C51系列单片机的硬件基础知识
21:52
9
图3-8 80C51单片机对外三总线构成
21:52 10
四个I/O端口P0、P1、P2、P3的作用总结: P2口负责输出高8位地址, P0口以分时方式承担输出低8位地址信息和数据输入/输出的 双重任务。 P3口则作为和外设沟通的控制线, P1口可随意用作I/O口。 51系列单片机的对外三总线总结: AB(地址总线): P2口负责高8位地址, P0口输出低8位地址。 DB(地址总线): P0口作为8位数据输入/输出口。 CB(地址总线): P3口作为和外设沟通的控制线。
各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。
片内 RAM 128B 128B 128B 256B 256B 定时器/计数 中断源数量 器 2×16位 2×16位 2×16位 3×16位 3×16位 5 5 5 6 6
MCS-51系列
型号 8031
片内ROM 无 4KB掩膜ROM 4KB EPROM 无 8KB掩膜ROM
51子序列 (基本型)
8051 8751 8032 8052
52子序列 (增强型)
在不同型号的MCS-51系列单片机中,除片内存储器(ROM、RAM) 容量与种类、定时器/计数器的个数、中断源的数量有所不同外, 指令系统和芯片引脚是完全兼容的。
21:52 1
80C51单片机引脚主要分为主电源引脚、外接晶体 引脚 、输入/输出引脚与控制引脚四类,以PDIP 封装的单片机为例,引脚介绍如下: 1. 主电源引脚(2条) 2. 外接晶体引脚(2条) 3. 输入/输出(I/O)引脚(32条) 4. 控制引脚(4条)
21:52
15
3. 并行输入/输出端口(I/O口)
80C51片内有4个8位的I/O接口:P0、P1、P2和P3,每个I/O接 口内部都有一个8位锁存器和一个8位驱动器,既可用作输出 口,也可用作输入口。 80C51单片机没有专门的I/O口操作指令,而是把I/O口当作寄 存器使用,通过传送指令实现数据的输入和输出操作。
80C51单片机的硬件结构之CPU与存储器
2.1 80C51系列单片机结构
2.1.1 内部结构框图
1.1个8位的CPU 2.1个片内振荡器和时钟电路 3.程序存储器 4 KB的掩膜ROM,用于存放程序、原始数 据或表格。 4.数据存储器 5.64KB总线扩展控制器 6.4个8位并行I/O口(P0、P1、P2、P3)
7.1个全双工串行接口
堆栈指针SP:存放栈顶的地址,内容可软件设置初值,单片机 复位时SP = 07H。CPU每往堆栈中存放一个数,SP都会先自动 加1,CPU每从堆栈中取走一个数,SP都会自动减1,SP始终指向 堆栈最顶部的数据的地址。
(5)数据指针DPTR
分成DPL(低8位)和DPH(高8位)两个寄存器,用来存放16 位地址值。
P0.4 84H
P0.3 83H
P0.2 82H
P0.1 81H
P0.0 80H
(1)累加器Acc
最常用的寄存器,所有的运算类指令都要使用它。累加器 在指令中的助记符为A,自身带有全零标志Z,若A=0则Z=1; 若A≠0则Z=0。该标志常用作程序分支转移的判断条件。
(2)B寄存器
80C51中,在做乘、除法时必须使用B寄存器,不做乘、除法 时,可作为一般的寄存器使用。
① 掩膜ROM。 ② 可编程的只读存储器(PROM)。 ③ 可改写的只读存储器EPROM。 ④ 可电改写只读存储器(EEPROM)。
随机存取存储器(RAM)
① 静态SRAM。 ② 动态DRAM。
可现场改写的非易失性存储器
① 快擦写存储器(FLASH)。 ② 铁电存储器FRAM。
2.存储单元和存储单元地址
1.80C51片内数据存储空间(低128B)
(1)工作寄存器区(00H~1FH) 作用:有专用于工作寄存器操作的指令,读写速度比一般内 RAM要快,指令字节比一般直接寻址指令要短,还具有间 址功能,能给编程和应用带来方便。 工作寄存器区分为4个区:0区、1区、2区、3区。每区有8 个寄存器:R0~R7,寄存器名称相同。但是,当前工作的 寄存器区只能有一个,由PSW中的D4、D3位决定。
80c51
ACC B
指令寄存器IR 指令译码器ID DPH
缓冲器 DPL ROM 4K字节
暂存器1
暂存器2
PC增量器 PSW ALU 振荡器 定时与控制 程序计数器PC 地址寄存器AR
XTAL2 VSS XTAL1 EA RST ALE PSEN
11
2.4.1 80C51的内部结构 一、80C51的微处理器(CPU) (1)运算器 累加器ACC ; 寄存器B ; 程序状态字寄存器PSW 。 (2)控制器 程序计数器PC ; 指令寄存器IR ; 定时与控制逻辑。
(3)在功能上,该系列单片机有基 本型和增强型两大类 基本型: 8051/8751/8031 80C51/87C51/80C31 增强型: 8052/8752/8032 80C52/87C52/80C32
1
(4)在片内程序存储器的配置上, 该系列单片机有三种形式,即掩膜ROM、 EPROM 和 ROMLess( 无 片 内 程 序 存 储 器)。如: ﹡80C51有4K字节的掩膜ROM; ﹡87C51有4K字节的EPROM ; ﹡80C31在芯片内无程序存储器。
23
2.5.1 80C51的程序存储器配置
PSEN 0000H EA=1 内部 0FFFH 1000H 外部 FFFFH FFFFH EA=0 外部
复位入口 INT0中断入口 T0中断入口 INT1中断入口 T1中断入口 串口中断入口
0000H 0003H 000BH 0013H 001BH 0023H ROM
80H
间接寻址 直接寻址 访问 访问 FFH
FFFFH RD WR
25
一、工作寄存器区
低端32个字节分成4个工作寄存器组,每组8个单 元。当前工作寄存器组的机制便于快速现场保护。
80C51单片机的硬件结构
作的执行部件。由加法器和其他逻辑电路(移位电
路和判断电路等)组成。完成算术加、减、乘、除
和逻辑“与”、“或”、“异或”等运算以及循环
移位操作、位操作等功能。
(3) 程序状态字寄存器PSW:是8位寄存器, 用来存放运算结果的一些特征。 (4) B寄存器:在进行乘法、除法运算时作 为ALU的输入之一,与ACC配合完成运算和并存 放运算结果。 (5) 暂存器:用以暂存进入运算器之前的数 据。
微机控制技术
主讲:
张 勤 工学博士 副教授
教材:单片机基础,航空航天大学出版
第2章 80C51单片机的硬件结构
2.1 单片机的概念及系列
2.2 80C51单片机内部结构 2.3 80C51系列单片机外引脚功能
2.4 80C51单片机的内部存储器
2.5 80C51单片机的并行I/O口
…
17H 18H 19H … 1FH
…
R7 R0 R1 … R7
工作寄存器3组
20H
21H 22H 23H 24H 25H 26H 27H 位 寻 28H
07H
0FH 17H 1FH 27H 2FH 37H 3FH 47H
06H
0E H 16H 1E H 26H 2E H 36H 3E H 46H
ቤተ መጻሕፍቲ ባይዱ
05H
1.封装:80C51系列单片机常用的两种封装为双 列直插式DIP40,方形封装LCC44
2.80C51系列单片机外部引脚
3.80C51单片机逻辑符号
4.80C51系列单片机外部引脚说明
重要性:引脚表现出单片机的外部特性或硬
件特性,通过引脚连接和组建系统。 共有40个引脚,分为端口线(32条),电源 线(2条)和控制线(6条) 端口:4个并行I/O端口,每个端口有8条端口 线,用于传送数据或地址。每个端口结构各 不相同,因此功能和用途上的差别也较大。
单片机基础_80C51
5. 串行I/O口 目前高档 8 位单片机均设置了全双工串行 I/O 口,用以 实现与某些终端设备进行串行通信,或者和一些特殊功能 的器件相连接的能力,甚至用多个单片机相连构成多机系 统。随着应用的拓宽,有些型号的单片机内部还包含有二 个串行I/O口。 6. 定时器/计数器
3. 控制线:共4根。
· RST(VPD:备用电源引入端,当电源发生故障,电源降到下限值时, 备用电源经此端向内部 RAM提供电压,以保护内部RAM中的数据不 丢失)——复位输入信号,高电平有效。在振荡器工作时,在RST上 作用两个机器周期以上的高电平,将器件复位。 ·/EA(Vpp:编程电压,具体电压值视芯片而定)——片外程序存储 器访问允许信号,低电平有效。/EA=1,选择片内程序存储器(80C51 为4KB,80C52为8KB) ;/EA=0,则程序存储器全部在片外而不管片 内是否有程序存储器。 使用80C31时,必须接地,使用8751编程时,施加 21V的编程电 压。 · ALE(PROG:编程脉冲)——地址锁存允许信号,输出。 在访问片外存储器或 I/O 时,用于锁存低八位地址,以实现低八 位地址与数据的隔离。即使不访问外部存储器,ALE端仍以固定的频 率输出脉冲信号(此频率是振荡器频率的1/6)。在访问外部数据存储器 时,出现一个ALE脉冲。
在单片机中,常把寄存器(如工作寄存器、特殊功能 寄存器、堆栈等)在逻辑上划分在片内 RAM 空间中,所 以可将单片机内部 RAM 看成是寄存器堆,有利于提高运 行速度。
当内部 RAM 容量不够时,还可通过串行总线或并行 总线外扩数据存储器。
4. 并行I/O口
单片机往往提供了许多功能强、使用灵活的并行输入 /输出引脚,用于检测与控制。有些I/O引脚还具有多种功 能,比如可以作为数据总线的数据线、地址总线的地址线、 控制总线的控制线等。单片机 I/O 引脚的驱动能力也逐渐 增大,甚至可以直接驱动外扩的LED显示器。
第二章 80c51硬件结构
•
• • •
(2) 寄存器B (8位):
2.1.2
80C51内部逻辑结构组成
2.内部数据存储器(RAM)
低128字节区:用户RAM区为128x8Byte,地址为00H~
7FH。用于存放运算的中间结果、数据暂存以及数据缓 冲等。 高128字节区:特殊寄存器RAM区128x8Byte,地址为 80H~FFH。有21个特殊功能寄存器(SFR),存放功能 部件的控制命令、状态或数据等。 特点:掉电数据丢失。
失,使得复位后能继续正常运行。
三、控制信号引脚:RST、ALE、PSEN和EA
ALE/PROG(30脚):
ALE:地址锁存允许信号端。正常工作时,该引脚以 振荡频率的1/6固定输出正脉冲,可作为外部定时 脉冲使用。 CPU访问片外存储器时,该引脚输出信号作为锁存 低8位地址的控制信号。它的负载能力为8个LS型 TTL负载。
字 节 地 址
位地址
2.2.3
内部数据存储器高128单元
1 特殊寄存器概述
用于存放单片机各个功能部件的控制命令、状态或数据的寄存 器叫特殊寄存器,其功能已经由单片机规定。
1. 有21个特殊功能功能寄存器,地址不连续分布在80H~FFH的 RAM空间,剩余空闲单元用户并不能使用,读出不确定,写入 被舍弃。
片内数据存储器 MOV,
片外数据存储器 MOVX, RD WR作选通信号操作 逻辑上3个存储器地址空间(软件角度) : 64KB 程序存储器: 统一编地址,0000H-FFFFH 256B 片内数据存储器:独立编地址 0000H-00FFH 64KB 片外数据存储器:独立编地址 0000H-FFFFH
(1)运算电路 构成: 运算部件以算术逻辑运算单元ALU为核心,包 含累加器ACC、B寄存器、暂存器、标志寄存器PSW等, 功能: 它能实现算术运算、逻辑运算 。
第二章80C51的结构和原理习题及答案
第⼆章80C51的结构和原理习题及答案第⼆章80C51的结构和原理习题及答案1、80C514单⽚机在功能上、⼯艺上、程序存储器的配置上有哪些种类?答:80C51单⽚机在功能上有两种⼤类:(1)、基本型;(2)、增强型;80C51单⽚机在⽣产⼯艺上有两种:(1)、HMOS⼯艺(即⾼密度短沟道MOS ⼯艺);(2)、CHMOS⼯艺(即互补⾦属氧化物的HMOS⼯艺);80C51单⽚机在程序存储器的配置上有三种形式:(1)、掩膜ROM;(2)、EPROM;(3)、ROMLess(⽆⽚内程序存储器)。
2、80C51单⽚机存储器的组织采⽤何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使⽤上有何特点?答:80C51单⽚机存储器的组织采⽤哈佛结构:存储器在物理上设计成程序存储器和数据存储器两个独⽴的空间。
基本型单⽚机⽚内程序存储器容量为4KB,地址范围是0000H~0FFFH。
增强型单⽚机⽚内程序存储器容量为8KB,地址范围是0000H~0FFFH。
基本型单⽚机⽚内数据存储器均为128字节,地址范围是00H~7FH,⽤于存放运算的中间结果、暂存数据和数据缓冲。
这128字节的低32个单元⽤作⼯作寄存器,在20H~2FH共16个单元是位寻址区,然后是80个单元的他通⽤数据缓冲区。
增强型单⽚机⽚内数据存储器为256字节,地址范围是00H~FFH。
低128字节的配置情况与基本型单⽚机相同,⾼128字节为⼀般RAM,仅能采⽤寄存器间接寻址⽅式访问(⽽与该地址范围重叠的SFR空间采⽤直接寻址⽅式访问)。
3、80C51单⽚机的P0~P3⼝在结构上有何不同?在使⽤上有何特点?答:80C51单⽚机各⼝均由接⼝锁存器、输出驱动器和输⼊缓冲器组成,但是结构存在差异:P0、P1⼝有转换开关MUX,P2、P3⼝没有;P1~P3⼝都有上来电阻,但是P0没有。
4个I/O⼝的使⽤特点:(1)、P0:P0⼝是⼀个多功能的8位⼝,可按字节访问也可以按位访问。
单片机 第二章 80C51系列单片机内部结构与工作原理
2.2 80C51单片机内部基本结构及引脚功能
③检查单片机芯片的好坏,可用示波器查看ALE端
是否有脉冲信号输出。
④ALE端的负载能力为8个LS型TTL。 :对EPROM型单片机,如对87C51BH编程时 的编程脉冲输入端。 ⑵、 (29脚):程序存储允许输出端。片外程
序存储器的读选通信号,低电平有效。
2.2 80C51单片机内部基本结构及引脚功能
3、基本功能单元
功能: 满足单片机测控功能要求的基本计算机外 围电路,用来完善和扩大计算机的功能.
组成: 包括定时/计数器、中断系统、串行通信 接口等。 说明: (1)80C51有两个16位定时/计数器 (T0和T1)。 作用: 可以作为内部定时器或外部脉冲计数器使 用。作内部定时器时,是靠对时钟振荡器的12分频脉
2.1 2.2 2.3
2.4
2.5 2.6
2.7
2.8 2.9
80C51系列单片机简介 80C51单片机内部基本结构及引脚功能 80C51单片机CPU结构 80C51存储器结构 输入/输出(I/O)端口 单片机的工作过程 80C51的低功耗方式 本章小结 练习思考题
第二章
80C51系列单片机内部结构与工作原理
①CPU从外部ROM取指令时,在每个机器周期中两 次有效。但在访问片外RAM时,要少产生两次负脉冲信
2.2 80C51单片机内部基本结构及引脚功能
号。有效时,将外部ROM中的指令读到数据总线上。
②检查单片机系统上电后,CPU能否正常到 EPROM/ROM中读取指令码,可用示波器查看该端有无负 脉冲信号输出。 ③可驱动8个LS型TTL门电路。
⑶、 (31脚):内部/外部ROM地址选择信号/ 固化编程电压输入端。 :①为高电平,CPU访问ROM有两种情况: 当PC中的值小于0FFFH时,执行片内ROM指令; 当PC中的值超过0FFFH时,将自动转向执行片外 ROM指令。
单片机存储器的扩展(part 1 80C51)
在软件中,可用数据查询方式检测写操作中”页存 储周期“是否完成。“页存储”期间,如果对2864执行 读操作,那么读出的是最后写入的字节,若芯片的转储 工作未完成,则读出数据的最高位是原来写入字节最高 位的反码。据此,CPU可判断芯片的编程是否结束。如 果CPU读出的数据与写入的数据相同,表示芯片已完成 编程,CPU可继续向芯片加载下一页数据。
/OE:数据输出允许信号
6116共有四种工作方式:未选中、禁止、读出、写入(见教材 P127表5-4/表6.2)。
5.4.4数据存储器扩展举例 在 80C51 的扩展系统中,片外数据存储器一般由随 机存取存储器组成,最大可扩展64KB。数据存储器扩展 与程序存储器扩展在数据线、地址线的连接上是完全相 同的。所不同的只在于控制信号,程序存储器使用 /PSEN作为读选通信号,而数据存储器则使用/RD和/WR 分别作为读、写选通信号 1、单片数据存储器扩展 例:见图所示(或见教材P127图5.11/图6.9)。这里使用 了一片 6116 实现了 2KB RAM 扩展。在扩展连接中,以 /RD 信号接芯片的 /OE 端,以 /WR 信号接 /WE 端,进行 RAM芯片的读写控制。由于假定系统只有一片 6116,因 此没有使用片选信号,而把/CE端直接接地。这种情况下, 6116的地址范围是0000~07FFH。 与程序存储器相比较,数据存储器的扩展连接在数 据线、地址线的连接方法上是一致的,所不同的只是在 控制信号线上的差别。
80386&80C51寄存器
寄存器是中央处理器内的组成部份。
寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。
在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。
更适当的是称他们为“架构寄存器”。
以下寄存器都是32-bits 宽;A、通用寄存器顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。
通用寄存器最多的用途是计算。
EAX:通用寄存器。
相对其他寄存器,在进行运算方面比较常用。
在保护模式中,也可以作为内存偏移指针(此时,DS 作为段寄存器或选择器)EBX:通用寄存器。
通常作为内存偏移指针使用(相对于EAX、ECX、EDX),DS 是默认的段寄存器或选择器。
在保护模式中,同样可以起这个作用。
ECX:通用寄存器。
通常用于特定指令的计数。
在保护模式中,也可以作为内存偏移指针(此时,DS 作为寄存器或段选择器)。
EDX:通用寄存器。
在某些运算中作为EAX 的溢出寄存器(例如乘、除)。
在保护模式中,也可以作为内存偏移指针(此时,DS 作为段寄存器或选择器)。
同AX 分为AH&AL 一样,上述寄存器包括对应的16-bit分组和8-bit 分组。
B、用作内存指针的特殊寄存器ESI:通常在内存操作指令中作为“源地址指针”使用。
当然,ESI 可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。
DS 是默认段寄存器或选择器。
EDI:通常在内存操作指令中作为“目的地址指针”使用。
当然,EDI 也可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。
DS 是默认段寄存器或选择器。
EBP:这也是一个作为指针的寄存器。
通常,它被高级语言编译器用以建造‘堆栈帧'来保存函数或过程的局部变量,不过,你可以在其中保存你希望的任何数据。
《单片机原理及应用》习题库
《单⽚机原理及应⽤》习题库⼀、填空题1.单⽚机与普通计算机的不同之处在于其将_CPU__、存储器和__I/O_3部分集成于⼀块芯⽚之上。
2.CPU主要由运算器和控制器组成。
CPU中的布尔处理器⽤来处理位操作。
3.MSC-51系列单⽚机中,⽚内⽆ROM的机型是8031 ,有4KB ROM的机型是_8051_,⽽有4KB EPROM 的机型是8751 。
-32的补码为11100000 B,补码11011010B代表的真值为_-38__D。
4.5.原码数BFH=_-63_D,原码数6EH=_110_D。
6.100的补码=_64_H,-100的补码= 9C H7.在8031单⽚机内部,其RAM⾼端128个字节的地址空间称为特殊功能寄存器或SFR 区,但其中仅有_21_个字节有实际意义。
8.通常单⽚机上电复位时PC=_0000_H,SP=_07_H,通⽤寄存器则采⽤第_0_组,这⼀组寄存器的地址范围是从_00H~_07_H。
9.若PSW为18H,则选取的是第_3__组通⽤寄存器。
10.8031单⽚机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。
11.若A中数据为63H,那么PSW的最低位(即奇偶位P)为_0_。
12.在微机系统中,CPU是按照程序计数器PC 来确定程序的执⾏顺序的。
13.在8031单⽚机中,使⽤P2、P0⼝传送地址信号,且使⽤了P0⼝来传送数据信号,这⾥采⽤的是总线复⽤技术。
14.堆栈遵循先进后出(或后进先出)的数据存储原则,针对堆栈的两种操作为_PUSH_和_POP_。
15.当8051地RST端上保持两个机器周期以上低电平时,8051即发⽣复位。
16.使⽤8031单⽚机时需将EA引脚接_低__电平,因为其⽚内⽆程序存储器。
17.8位机中的补码数80H和7F H的真值分别为_-128__和_127 。
18.配合实现“程序存储⾃动执⾏”的寄存器是_PC_,对其操作的⼀个特别之处是每取完⼀字节指令后PC内容会⾃动加1 。
80C51单片机存储器物理结构参考
详述80C51单片机存储器物理结构、工作特点、地址范围大小并且图示说明?
1、80C51单片机的存储器在物理结构上可分为4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。
在逻辑上可分为3个空间,64KB程序存储器(片内、外统一编址)、256B片内数据存储器和64KB片外数据存储器。
其容量大小和地址如下图。
2、80C51片内256B数据存储器分两部分,特殊功能寄存器区(80H-FFH)和低128BRAM (00H-7FH)区。
特殊功能寄存器区有21个特殊功能寄存器(SFR),字节地址能被8整除的特殊功能寄存器可位寻址。
3、低128BRAM可分为用户RAM区(30H-7FH)可作数据缓冲和堆栈区、位寻址区(20H-2FH )共128位(位地址00H-7FH)和4组通用工作寄存器区(00H-1FH)。
在4组通用工作寄存器区(00H-1FH)中,每组有8个工作寄存器(R0-R7)。
CPU当前使用的工作寄存器组,是由程序状态寄存器PSW中的RS1、RS0的设置来选择的。
复习思考题1、80C51 单片机由哪几部分组成试画出它的基本结构图
复习思考题1、80C51单片机由哪几部分组成?试画出它的基本结构图。
答:基本组成:中央处理器CPU、内部数据存储器RAM、内部程序存储器ROM、4个8位的并行I/O接口、内部中断系统、一个串行接口电路、内部时钟电路。
基本结构图如下所示:2、80C51单片机有几个存储器地址空间?试画出它的存储器结构图。
答:在物理上有4个存储空间:片内程序存储器和片外程序存储器;片内数据存储器和片外数据存储器。
存储器结构图如下所示:3、80C51单片机的引脚中有几条I/O线?它对外的地址总线和数据总线有何特点?8051单片机有四个并行I/O口,称为P0、P1、P2、P3,每个口都有8根引脚,共有32根I/O引脚,它们都是双向通道,每一条I/O引脚都能独立地用作输入或输出,作输出时数据可以锁存,作输入时数据可以缓冲。
80C51单片机没有独立的对外地址、数据和控制“三总线”,当需要进行外部扩展时需要采用I/O口的复用功能,将P0、P2口用作地址/数据总线,P3口用其第二功能,形成外部地址、数据和控制总线。
其中,P0口分时复用作低八位地址线和数据线,P2口做高8位地址线。
4、试画出单片机与外部存储器,I/O端口的连接图,并说明为什么外扩存储器时P0口要加接地锁存器,而p2口却不用加接。
答:P0口在进行外部扩展时分时复用,在读写片外存储器时,P0口先送出低8位地址信号,该信号只能维持很短的时间,然后P0口又送出8位数据信号。
为了使在整个读写片外存储器期间,都存在有效的低8位地址信号,必须在P0口上外接一个地址锁存器,在ALE信号有效期间将低8位地址锁存于锁存器内, 再从这个锁存器对外输出低8位地址。
P2口在进行外部扩展时只用作高8位地址线,在整个读写期间P2口输出信号维持不变,因此P2口不需外接锁存器。
一般在片外接有存储器时,P0和P2口不能再用作通用I/O口,此时只有P1口可作通用I/O口用,P3口没有使用第二功能的引脚还可以用作I/O口线。
80C51的基本结构
80C51的基本结构80C51的引脚封装时钟电路总线控制CPUROM/EPROM/FLASH4K 字节RAM 128字节 SFR 21个定时/计数器2个中断系统5中断源、2优先级串行口 全双工 2个并行口 4个RST EAALE PSENXTAL2XTAL1P0 P1 P2 P3V CCV SS一、80C51的内部结构:1.80C51的微处理器(CPU)(1)运算器:累加器ACC ;寄存器B ;程序状态字寄存器PSW 。
(2)控制器:程序计数器PC ;指令寄存器IR ;定时与控制逻辑2.80C51的片内存储器在物理上设计成程序存储器和数据存储器两个独立的空间:(1)内部ROM容量4K字节,范围是:000H~0FFFH(2)内部RAM容量128字节,范围是:00H~7FH3.80C51的I/O口及功能单元(1)四个8位的并行口,即P0~P3。
它们均为双向口,既可作为输入,又可作为输出。
每个口各有8条I/O线。
(2)有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);(3)有2个16位的定时/计数器;(4)有1套完善的中断系统。
4.80C51的特殊功能寄存器(SFR)内部有SP,DPTR(可分成DPH、DPL两个8位寄存器),PCON,…,IE,IP等21个特殊功能寄存器单元,它们同内部RAM的128个字节统一编址,地址范围是80H~FFH。
增强型单片机的SFR有26个字节单元,所增加的5个单元均与定时/计数器2相关。
二、80C51的时钟与时序1.80C51的时钟产生方式可分为内部时钟和外部时钟2.80C51的时钟信号一个机器周期包含12个晶荡周期或6个时钟周期,指令的执行时间称作指令周期(单、双周期)。
各指令的微操作在时间上有严格的次序,这种微操作的时间次序我们称作时序。
三、80C51单片机的复位复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。
复位有上电复位和上电复位和按键均有效的复位。
80C51单片机的存储器在结构上有何特点?在物理上和逻辑上
1、80C51单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别?2、80C51单片机的EA信号有什么功能?在使用80C51时,EA信号引脚应如何处理?在使用80C31时,EA信号引脚应如何处理?3、80C51单片机内RAM低128个存储单元划分为哪3个主要部分?各部分主要功能是什么?4、程序存储器的哪些单元被保留用于特定场合?5、什么是堆栈?堆栈有哪些功能?堆栈指针SP的作用是什么?在程序设计时,为什么还要对SP重新赋值?6、80C51单片机的布尔处理机包括哪些部分?它们具有哪些功能?共有多少个单元可以位寻址?7、80C51单片机的节拍、状态、机器周期、指令周期是如何设置的?当主频为12MHz时,各种周期等于多少微秒?8、说明80C51单片机的程序状态字PSW的主要功能。
9、谈谈MCS-51是怎么避免存储空间重叠而产生数据冲突的?10、80C51单片机的4个I/O口在使用上有哪些分工和特点?在用作通用I/O口时,需注意什么?1、51单片机采用哈佛结构,特点是程序存储器和数据存储器分开寻址。
在屋里上有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
在逻辑上有3个存储空间:片内外统一编址的64KB程序存储器、片内数据存储器、片外数据存储器。
2、CPU访问存储器时,由EA引脚的电平确定访问片内还是片外。
即通过EA引脚的电平来解决空间编址的重叠问题。
EA=1时,程序从片内程序存储器0000H开始执行,即访问片内存储器;当PC值超出片内ROM容量(4K)时,会自动转向片外程序存储器空间执行。
EA=0,迫使系统全部执行片外程序存储器000H开始存放的程序。
在使用80C51时,当EA接高电平时,000H~0FFFH范围从片内取指,1000H~FFFFH范围从片外取指。
当EA接低电平时,从片外取指。
在使用80C31时,EA固定接成低电平,以迫使系统全部执行片外程序存储器中的程序。
80c51内部RAM空间分配
80c51内部RAM空间分配keil编译的时候,在开始时候会清零所有内存.在main之前,所以,只要复位, 内存肯定是0MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:数据存储器空间(低128单元),用户可用的;特殊功能寄存器空间(高128单元);这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。
下面我们就来详细的与大家讲解一下:低128单元:片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。
也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。
1、通用寄存器区(00H-1FH)在00H1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0R7来命名,我们常称这些寄存器为通用寄存器。
这四块中的寄存器都称为R0R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。
程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器。
2、位寻址区(20H-2FH)片内RAM的20H2FH单元为位寻址区,既可作单元用字节寻址,也可对它们的位进行寻址。
位寻址区共有16 个字节,128个位,位地址为00H7FH。
CPU能直接寻址这些位,执行例如置1、清0、求反、转移,传送和逻辑等操作。
我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。
3、用户RAM区(30H-。
80C51存储器配置
工作寄存器区
位寻址区
字节
位地址
地址
D7
D6
D5
D4
D3
D2
D1
D0
2FH
7FH
7EH
7DH
7CH
7BH
7AH
79H
78H
2EH
77H
76H
75H
74H
73H
72H
71H
70H
2DH
6FH
6EH
6DH
6CH
6BH
6AH
69H
68H
2CH
67H
66H
65H
64H
63H
62H
61H
60H
2BH
5FH
5EH
堆栈
由SP组织的内部 RAM区域,按“先进后出”工作原则。
由堆栈指针SP定义位置,SP存放栈顶地址
作用:保护CPU现场和断点地址
中断时 转子时
工作方式:“先进后出”或“后进先出”
数据压入堆栈时,SP自动加1,栈区“向上生长”
数据弹出堆栈时,SP自动减1,栈区“向下减小”
SP始终指向栈顶地址
系统复位时,SP为07H,应重新初始化
堆栈操作
MOV SP, #60H
’建立堆栈
PUSH ACC
’压入操
作PUSH B
POP direct
’弹出操作
dirSePct
SSPP
SP
64H
63H
62H B的内容 61H A的内容
60H 栈 底
SUCCESS
THANK YOU
2019/10/12
四、80C51单片机的存储器配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内部数据存储器(内RAM)
MCS-51单片机的内部数据存储器空间共 计256字节,在功能上有具体分为片内数据存 储器与特殊功能寄存器区,它们统一编址, 其中片内数据存储器共有128个字节,占用 00H~7FH地址范围,特殊功能寄存器区占用 80H~0FFH这段空间。 片内数据存储器分成: 1、工作寄存器区 2、位寻址区 3、通用RAM区三部分 4、特殊功能寄存器区
内部程序
存储器 8XX51
存储空间
80C51存储空间配置图
51系列程序存储器配置图
FFFFH
8051/ 外部 8031
1000H 0FFFH
4KB 内部 EA=1 0FFFH 外部 EA=0 0000H
接地
0000H
程序存储器分配
0000H 0003H
000BH 0013H 001BH 0023H 0030H
R0~R7
R0~R7
00H
01
确定工作 寄存器组
工作寄存寄存器操作的指令,读写速 度比一般内RAM要快,指令字节比一般直接寻址 指令要短,还具有间址功能,能给编程和应用 带来方便。 工作寄存器区分为4个区:0区、1区、2区、 3区。每区有8个寄存器:R0~R7,寄存器名称 相同。但是,当前工作的寄存器区只能有一个, 由PSW中的D4、D3位决定。
读ROM是以程序计数器PC作为16位地址指针,依次读相 应地址ROM中的指令和数据,每读一个字节,PC+1→PC,这 是CPU自动形成的。 但是有些指令有修改PC的功能,例如转移类指令和MOVC 指令,CPU将按修改后PC的16位地址读ROM。
程序存储器(ROM)
读外ROM的过程:
CPU从PC(程序计数器)中取出当前ROM的16位 地址,分别由P0口(低8位)和P2口(高8位)同 时输出,ALE信号有效时由地址锁存器锁存低8位 地址信号,地址锁存器输出的低8位地址信号和P2 口输出的高8位地址信号同时加到外ROM 16位地址 输入端,当PSEN信号有效时,外ROM将相应地址存 储单元中的数据送至数据总线(P0口),CPU读入 后存入指定单元。
外部数据存储器
共64KB 地址范围:0000H~FFFFH 读写外RAM用MOVX指令, 控制信号是P3口中的RD和WR。 一般情况下,只有在内RAM不能满足应用 要求时,才外接RAM。
读外RAM的过程
外RAM 16位地址分别由P0口(低8位)和P2口(高
8位)同时输出;
ALE信号有效时由地址锁存器锁存低8位地址信号,
地址锁存器输出的低8位地址信号和P2口输出的高8 位地址信号同时加到外RAM 16位地址输入端;
RD信号有效时,外RAM将相应地址存储单元中的数
据送至数据总线(P0口),CPU读入后存入指定单元。
写外RAM的过程
写外RAM的过程与读外RAM的过程相同。只是控制 信号不同,信号换成WR信号。当WR信号有效时, 外RAM将数据总线(P0口分时传送)上的数据写入相 应地址存储单元中。
注:带括号的字节地址表示每位有位地址可位操作。
特殊功能寄存器(SFR)
(1)端口P0~P3 (2)串行数据缓冲器SBUF 串行数据缓冲器SBUF用于存放欲发送或接收的数据。 它实际上由两个独立的寄存器组成,一个是发送寄存器,另 一个是接收寄存器。当要发送的数据传送到SBUF时,进入 的是发送缓冲器;当要从SBUF取数据时,则取自接收缓冲 器,取走的是刚接收到的数据。 (3)定时器/ 计数器 80C51单片机有两个16位的定时器/计数器T0和T1。它 们分别由两个独立的8位寄存器组成,共有4个独立的寄存 器:TH0、TL0、TH1、TL1。可对这4个寄存器寻址,但不 能把T0和T1当成16位寄存器来访问。 (4)其它控制寄存器 IP、IE、TMOD、TCON、SCON和PCON寄存器分别 包含有中断系统、定时器/计数器、串行口和供电方式的控 制和状态位。
复位入口:单片机从此处开始执行程序
外部中断0中断入口地址 定时/计数器0中断入口地址 外部中断1中断入口地址 定时/计数器1中断入口地址 串行中断入口地址 实际编程区0030H~FFFFH
注意:0000H~0002H单元被保留用于初始化
外部程序存储区扩展
程序存储器(ROM)
地址范围:0000H~FFFFH,共64KB(65536B)。其中: 低段4KB:0000H~0FFFH 80C51和87C51在片内,80C31在片外。 高段60KB:1000H~FFFFH。在片外。 读写ROM用MOVC指令,控制信号是PSEN和EA。
数据缓冲区
内部RAM中30H~7FH为数据缓冲区, 用于存放各种数据和中间结果,起到数据缓 冲的作用。 一般应用中常把堆栈开辟在此区中。
特殊功能寄存器(SFR)
特殊功能寄存器地址映象表(一)
特殊功能寄存器(SFR)
特殊功能寄存器地址映象表(二)
特殊功能寄存器(SFR)
特殊功能寄存器地址映象表(三)
工作寄存器区
位寻址区
字节 地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H 位 D7 7FH 77H 6FH 67H 5FH 57H 4FH 47H 3FH 37H 2FH 27H 1FH 17H 0FH 07H D6 7EH 76H 6EH 66H 5EH 56H 4EH 46H 3EH 36H 2EH 26H 1EH 16H 0EH 06H D5 7DH 75H 6DH 65H 5DH 55H 4DH 45H 3DH 35H 2DH 25H 1DH 15H 0DH 05H D4 7CH 74H 6CH 64H 5CH 54H 4CH 44H 3CH 34H 2CH 24H 1CH 14H 0CH 04H 地 址 D3 7BH 73H 6BH 63H 5BH 53H 4BH 43H 3BH 33H 2BH 23H 1BH 13H 0BH 03H D2 7AH 72H 6AH 62H 5AH 52H 4AH 42H 3AH 32H 2AH 22H 1AH 12H 0AH 02H D1 79H 71H 69H 61H 59H 51H 49H 41H 39H 31H 29H 21H 19H 11H 09H 01H D0 78H 70H 68H 60H 58H 50H 48H 40H 38H 30H 28H 20H 18H 10H 08H 00H
外部数据存储器
外部数据存储器一般用来存放相对来讲是用不太频 繁的数据,其中的数据不能直接进行处理,要进行 处理前必须提前从外部数据存储器送到单片机内部。
外部数据存储器地址空间寻址范围为64K字节,采 用R0、R1或DPTR寄存器间址方式访问。当采用R0、 R1间址时只能访问00H~0FFH的低256字节,采用 DPTR间址可访问整个64K字节空间。
位寻址区
1、地址: 从20H~2FH共16字节(Byte,缩写为英文大写 字母B)。每字节有8位(bit,缩写为小写b),共 128位,每一位均有一个位地址,可位寻址、位操 作。即按位地址对该位进行置1、清0、求反或判转。 2、用途: 存放各种标志位信息和位数据。 3、注意事项: 位地址与字节地址编址相同,容易混淆。 区分方法:位操作指令中的地址是位地址; 字节操作指令中的地址是字节地址。
堆 栈
由SP组织的内部 RAM区域,按“先进后出”工作原则。 由堆栈指针SP定义位置,SP存放栈顶地址
中断时 作用: 保护CPU现场和断点地址 转子时
工作方式:“先进后出”或“后进先出” 数据压入堆栈时,SP自动加1,栈区“向上生长” 数据弹出堆栈时,SP自动减1,栈区“向下减小” SP始终指向栈顶地址
内部数据存储器(内RAM)
0FFH
特殊功能 寄存器区
80H 7FH 30H 2FH 20H 1FH 00H 工作寄存器区 普通RAM区 位寻址区
图 MCS-51单片机的内部数据存储器空间
内部数据存储器(低128RAM)
7FH
数据缓冲区
30H 2FH 低128字节
位寻址区
20H 1FH 工作寄存器区 00H
RAM
内部数据存储器(内RAM)
FFH 高128字节 128B SFR 特殊功能
RAM
仅8052系列有 80H 7FH
寄存器区
128B
低128字节 RAM
00H
工作寄存器区
1FH 工作寄存器3组 18H 17H 工作寄存器2组 10H 0FH 工作寄存器1组 08H 07H
R0~R7
R0~R7
11 程序状态字 10 PSW中的 RS1、RS0
系统复位时,SP为07H,应重新初始化
堆栈操作
MOV SP, #60H
’建立堆栈
64H 63H
PUSH ACC
’压入操作
SP direct SP SP SP
62H B的内容
61H A的内容 60H
PUSH B POP direct
’弹出操作
栈 底
四、80C51单片机的存储器配置
哈佛结构
80C51的存储器配置方式与其他常用的微机系统 不同,属哈佛结构,它把程序存储器和数据存储器分 开,各有自己的寻址系统、控制信号和功能。 程序存储器用于存放程序和表格常数。 数据存储器用于存放程序运行数据和结果。
存储空间
从功能上分,MCS-51分为5个地址空间 程序存储器 ROM
片内数据存储器 RAM
特殊功能寄存器区 SFR 位寻址区 外部扩展的数据存储器 RAM(I/O)区
存储空间
从物理空间上分,MCS-51有4个存储器地址空间
片内数据存储器 片外数据存储器
片内程序存储器
片外程序存储器 内部数据 存储器 外部程序 外部数据
存储器
(ROM)
存储器
(RAM)