80C51存储器配置
- 格式:ppt
- 大小:1.02 MB
- 文档页数:29
第⼆章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位⼝,可按字节访问也可以按位访问。
寄存器是中央处理器内的组成部份。
寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
在中央处理器的控制部件中,包含的寄存器有指令寄存器(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单片机存储器物理结构、工作特点、地址范围大小并且图示说明?
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单片机由哪几部分组成?试画出它的基本结构图。
答:基本组成:中央处理器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的引脚封装时钟电路总线控制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单片机的复位复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。
复位有上电复位和上电复位和按键均有效的复位。
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空间分配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-。