入门51单片机内部结构.ppt
第二章 单片机内部结构,硅谷芯微 技术贡献网址:,本章重点:,单片机内部有哪些硬件资源 处理器 管脚定义-复位原理-脉冲时序 存储结构-ROM区地址编址-RAM区存储结构,2.1 单片机硬件资源,单片机的内部结构如图所示,主要包括CPU,存储器和I/O口,时钟,定时器,中断以及串口。,2.2.1.运算器,2.2 微处理器的组成,1 算术逻辑单元ALU 对8位二进制数据进行算术/逻辑运算.算术运算、加1和减1运算、十进制调整、逻辑操作。2 暂存器TEMP1、TEMP2 用于存放参与运算的数据,用户不可以直接使用。3 累加器ACC/A 8位寄存器,是CPU中使用最频繁的寄存器 进入ALU作算术和逻辑运算的操作数多来自于A,运算结果也常送回A保存。4 寄存器B(8位)寄存器B是为ALU进行乘除法运算而设置的。若不作乘除运算时,则可作为通用寄存器使用。在乘、除运算中,与累加器A配合使用,存放操作数。5 程序状态字PSW(8位专用寄存器)寄存/存贮当前机器指令/程序执行后操作结果的特征状态,以供程序查询和判别。,2.2.2.控制器 主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、时钟发生器及定时控制逻辑等组成。控制器用以控制计算机各部分协调工作的部件,控制指令的读取、译码/分析和执行。程序计数器(Program Counter简称PC),是一个16位的有自动加1功能的计数器。PC没有地址,是不可寻址的,因此用户不能对它进行读写。16位PC中的内容总是CPU将要执行的那条指令所存放的存储单元的首地址。在单片机复位时,PC中的内容为0000H,指向第1条要执行的指令的首地址,在CPU从存储单元取指令的过程中,每取1个字节的内容,程序计数器PC就自动加1,在取完这条指令后,PC中的内容就是下一条要执行的指令所存放的存储单元的首地址。在实际应用中,有时CPU还要执行程序的转移、子程序的调用和中断响应等操作,那时PC中的内容不再是上述情况中简单的加1,而是根据不同的情况自动地被置入或修改成新的目的地址,从而改变程序的执行顺序。PC不属于特殊功能寄存器。,2.3 单片机管脚说明,51单片机有40个管脚,其中32根IO、2根时钟信号线、2根电源线、4根控制线,管脚定义如图所示:,P0P3:4个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个端口都可以做输入输出口使用,其中,P0和P2通常用于对外部存储器的访问。在这种方式下,把P0口作为地址/数据总线使用,分时输出外部存储器的地址和传送8位数据。当扩充外部存储器的地址为16位时,P2口作为地址总线的高8位地址使用。P3口是一个多功能的端口,P3口第二功能如表所示:,2.3.1 输入输出端口,2.3.2 控制管脚,第29号引脚:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址将出现在P0和P2口,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。第30号引脚:ALE,地址锁存引脚,当访问外部程序存储器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。第31号引脚:程序存储器的内外部选通线,80C51内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。,振荡周期:晶振的振荡周期,为最小的时序单位(我们的实验板上有11.0592MHz、12MHz、24MHz三种晶振,可以通过跳线冒进行选择)。机器周期:一个机器周期由12个振荡周期组成,是计算机执行一个基本操作的时间单位。指令周期:执行一条指令所需要的时间,一条指令由14个机器周期组成,依据指令的不同而不同。振荡周期、机器周期、指令周期之间的换算如下(假设所使用的晶振为12MHz):振荡周期=0.0833 机器周期=1 指令周期=(1-4)个机器周期,机器周期和指令周期第18、19号引脚:为外部时钟输入引脚,为单片机的工作提供时钟周期。51单片机的时钟是为单片机提供工作时序,单片机从内部Flash ROM中取指令和各种操作都是按时序走的,所以时序是单片机正常工作的一个必要的条件。,8051单片机内部有一个高增益的反相放大器,用于构成振荡器,反相输入端为XTAL1(第19号引脚),输出端为XTAL2(第18号引脚),只需要在两端跨接一个无源的石英晶体以及两个电容就可以构成一个稳定的振荡电路,但石英晶体和微调电容需要外接。最高允许振荡频率为37MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。另一种接法就是直接由外部的电路提供标准的振荡时序直接输入单片机的XTAL2引脚,将XTAL1引脚直接接地,这样,在外部时钟与XTAL2引脚之间连接了一个反相器,用于波形的放大和缓冲。,单片机时钟电路,用单片机内部振荡电路 由外部电路提供时钟源,第9号引脚:复位引脚,复位信号是高电平有效,其有效时间应持续连续24个时钟周期(两个机器周期)。复位电路大致可以分为上电复位和手动复位两种。,上电自动复位 手动复位,第20号管脚:VCC,电源,+5V。,第40号管脚:GND,接地。,复位后PC及SFR的初始值,存储器分为程序存储器(ROM)和随机存储器(RAM),程序存储器用于存放我们编写的程序代码,随机存储器用于保存程序运行时的中间变量,他们之间最大的区别就是,程序存储器为只读存储器,其中的数据在单片机掉电后数据依然保持,而数据存储器(随机存储器)在单片机掉电后数据丢失。,2.4 单片机存储结构,2.4.1.程序存储器(只读存储器ROM)MCS-51单片机可以寻址64KB的程序存储空间,其地址为0000H0FFFH(如图所示),他的主要功能是存放用户的程序数据和表格等信息。单片机启动复位后,程序计数器PC的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,所以在编程时需要注意。,ROM分布图,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。,只读存储器的存储介质的发展如图所示。掩膜ROM,这种ROM是芯片生产厂根据ROM要存储的信息,设计固定的半导体掩模板进行生产的,一旦制作成为成品,其内部的信息只能读取不能进行修改写入,由于这种ROM的成本低廉,所以这种ROM现在也大量使用,主要用在产品的量产中。一次性编程ROM(PROM),容许用户对其进行一次性编程,即写入数据或者程序,一旦编程信息就永久性的保存,用户只能读出和使用,但不能改变其中的内容。紫外线可擦除可改写EPROM,可改写ROM芯片的内容也由用户写入,但容许用户反复擦除重新写入,EPROM用电信号编程而用紫外线擦除的只读存储器芯片,在芯片外壳上方的中央有一个圆形窗口,通过此窗口照射紫外线可以擦除原有的信息。电可擦除EEPROM,这是一种由电信号编程也由电信号擦除的ROM芯片,它可以通过读写操作进行逐个存储单元的读出和写入。Flash是在EEPROM的基础上发展起来的一种只读存储器,读写速度都很快,写EEPROM虽然具有即可读又可写的特点但其速度较慢。,2.4.2 数据存储器(RAM)存储器也称为随机存取数据存储器,作数据缓冲器用。单片机的内部RAM结构如图所示:,1.通用寄存器区(00H1FH)在00H1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0R7来命名,我们常称这些寄存器为通用寄存器。我们在编程的时候会经常使用到这些寄存器,这就产生一个问题,在程序中所使用的到底是哪一组呢?这里就引出了前边所讲到的程序状态寄存器PSW,PSW中的第3、4位(RS0,RS1)决定了我们程序中所使用的到底是哪一组工作寄存器(如表所示)。,C:进位标志位,当无符号数据在运算过程中出现进位或者借位时,C置1。AC:辅助进位标志位,当第三位向第四位进位时置1。F1/F2:用户标志位。OV:溢出标志位,当有符号数据在运算过程中发生溢出则置1。P:奇偶校验位,若累加器A中1的个数为基数个,则P为1,为偶数则置0。,2.可位寻址区(20H2FH)单片机RAM的20H2FH为位可寻址区,在这段空间中,每个字节的每一位都有一个位地址(共128个位,如图所示),每一位都可以进行位操作。可见本章16页。,3.通用RAM区(30H7FH)30H-7FH的80个单元只能以存储单元的形式来使用,没有其它规定或限制,存储程序的中间结果或者变量。,4.特殊功能寄存器(SFR)单片机片内RAM的高128字节为单片机的21个特殊功能寄存器,他们离散的分布在80H-FFH的地址中,如表所示,其中有一部分特殊功能寄存器是可以位寻址的。,单片机的最小系统,就是指单片机可以工作的最小系统,没有任何外设。那么51单片机工作的最小必要条件是什么?当然首先要有电源,为单片机提供能量,有振荡电路为单片机提供时序,要有复位电路,还有一个很重要的条件,那就是我们单片机的第31号引脚,由于我们所使用的是单片机的内部的存储器,所以第31号引脚必须接高电平如图所示:,2.5 单片机最小系统,2.6 课后练习 2.6.1 在单片机4组I/O口中,哪一组有第二功能,试简单描述。2.6.2 12MHZ的晶振,它所产生的机器周期是1us,对于24兆晶振,它产生的机器周期是多少?2.6.3 对于复位电路,上电时会产生复位,那么请分析下图按键复位的原理及复位过程过程。按键复位电路图 2.6.4 画出RAM的空间分布图,在存储器配置中RAM区中有两个30H的地址,分析两个30H地址的区别。,谢谢大家,硅谷芯微 技术贡献,