资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,项目2 单片机硬件系统,教学目标,通过学习单片机硬件系统的学习,要求学生从应用的角度熟练掌握MCS-51系列单片机的硬件结构,为后面的设计打下基础。主要包括 MCS-51单片机的的基本结构、存储器的结构、4 个并行 I/O 端口、时钟电路、复位电路以及最小系统等。,项目2 单片机硬件系统,2.1 单片机的基本结构,2.1.1 8051单片机的基本结构,MCS-51单片机的内部包括:CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。其基本结构框图如图2-3所示。MCS-51系列单片机内部各个部件都是通过内部总线连接,其基本结构采用CPU加外围芯片的结构模式,但在功能单元控制上采用特殊功能寄存器集中控制的算法,便于用户编程。,项目2 单片机硬件系统,图2-3 8051单片机的内部结构,项目2 单片机硬件系统,2.2 单片机的内部结构,2.2.1 单片机的内部结构,项目2 单片机硬件系统,1.指令的执行过程,1)取指令,2)指令译码,3)指令执行,项目2 单片机硬件系统,2.8051的微处理器,作为8051单片机核心部分是微处理器,是一个8位的高性能中央处理器(CPU),它的性能好坏直接影响到单片机的整体性能。在单片机中,CPU的作用就相当于人的大脑,主要由运算器、控制器(时序控制逻辑电路)、布尔处理器等组成。,1)运算器,运算器用于进行算术运算和逻辑运算。它包括一个8位算术逻辑运算单元ALU、一个8位累加器A、一个8位寄存器B、一个程序状态字寄存器PSW、一个布尔处理器、两个8位暂存寄存器TMP1和TMP2等。,累加器ACC(Accumulator)又记作A,是一个8位的寄存器,程序状态字PSW(Program Status Word)是一个8位的寄存器,用于存放程序运行的状态信息以及运算结果的标志,所以又称标志寄存器。,项目2 单片机硬件系统,堆栈指针SP(Stack Pointer)是一个8位的寄存器,能都自动加1减1,用来存放堆栈的栈顶地址。它指示堆栈顶部在内部RAM中的位置。系统复位后,SP的初始值为07H,使得堆栈实际上是从08H开始的。当执行子程序调用或中断服务程序时,需要将下一条要执行的指令地址即PC值压入堆栈保存起来,当子程序或中断返回时,再将SP指向单元的内容回送到程序计数器PC中。,指令寄存器IR(Instruction Register)的功能是存放指令代码,CPU执行指令时,由程序存储器中读取指令代码送入指令寄存器,经译码器译码后,由定时与控制部分发出相应的控制信号,以完成指令功能。,中断控制电路主要包括用于中断控制的四个寄存器:定时器控制寄存器(TCON),串行口控制寄存器(SCON),中断允许控制器(IE),中断优先级控制寄存器(IP)等。,中断是指CPU暂停执行原来的程序,转而为外部设备服务(即执行中断服务程序),并在完成中断服务程序后回到原来程序处继续执行的过程,是单片机应用系统的一个重要功能。,串行口控制电路主要包括串行控制寄存器SCON、串行缓冲寄存器SBUF等,,定时器在8051单片机中有着非常重要的作用,在定时器控制寄存器TCON和定时器方式选择寄存器TMOD等的控制下,即可以作为定时器用于对被控系统进行定时控制,也可以作为计数器用于产生各种不同频率的方波及用于事故记录、测量脉宽等。,项目2 单片机硬件系统,2.2.2 单片机时钟与时序,单片机的工作过程是:取一条指令、译码、进行微操作,再取一条指令、译码、进行微操作,这样自动地、一步一步地由微操作依序完成相应指令规定的功能。各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序。单片机的时钟信号用来为单片机芯片内部的各种微操作提供时间基准。,1.时钟产生方式,时钟信号的产生有两种方式:,一个内部时钟方式,二是外部时钟方式。,项目2 单片机硬件系统,2)外部时钟方式,外部时钟方式是把外部已有的时钟信号引入到单片机内,常用于多单片机组成的系统中,以便于各个单片机时钟信号之间的同步。这种方式对外部振荡信号无特殊要求:外部脉冲信号高低电平的持续时间大于20ns,频率低于12MHz的方波信号。,对于8051单片机,使用时需将XTAL1接地,XTAL2接外部振荡器即可。因为XTAL2的逻辑电平与TTL电平不兼容,所以应接一个上拉电阻(5.1K),见图2-8(a)。,对于采用的CHMOS工艺的单片机,如80C51等,外部引脚必须从XTAL1端引入,而XTAL2端应悬空,见图2-8(b)。,(a)8051外时钟接法 (b)80C51外时钟接法,项目2 单片机硬件系统,晶振信号12分频后形成机器周期,也是单片机完成一个最基本操作所用的时间。一个机器周期包含12个晶振周期或6个时钟周期,即有6个状态,分别表示为S1S6。因此,一个机器周期的12个振荡脉冲可以依次表示为S1P1,S1P2,S6P1,S6P2。通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。,执行一条指令所需要的时间称为指令周期。它是时序中的最大单位。一个指令周期通常含有14个机器周期。指令所包含的机器周期数决定了指令的运算速度,机器周期数越少的指令,其执行速度越快。以机器周期为单位,指令可分为单周期、双周期和四周期指令,只有乘、除运算为四周期指令。,综上,晶振周期、时钟周期、机器周期和指令周期均是单片机时序单位,一个机器周期=6个时钟周期=12晶振周期。晶振周期和机器周期是单片机内计算波特率及定时器定时时间的基本时序单位,若晶振为6MHz,则一个机器周期为2s,若晶振为12MHz,则一个机器周期为1s。,项目2 单片机硬件系统,3.指令执行时序,CPU在执行指令时,都是按照一定顺序进行的,由于指令的字节数不同,取指所需时间也就不同,即使是字节数相同的指令,执行操作也会有很大差别,任何一条指令的执行都可以分为取指和执行两个阶段。在取指阶段,CPU从程序存储器ROM中取出指令操作码,送指令寄存器,再经指令译码器进行译码,产生一系列控制信号来执行本条指令规定的操作。从指令的字长来分类,可分为单字节指令、双字节指令和三字节指令。从指令执行所需机器周期来分类,可分为单周期指令、双周期指令、四周期指令。,项目2 单片机硬件系统,1)上电复位电路。最简单的上电复位电路由电容和电阻串联构成,如图2-11所示。上电瞬间,由于电容两端电压不能突变,RST引脚电压端为VR1为VCC,随着对电容的充电,RST引脚的电压呈指数规律下降,到t1时刻,VR1降为3.6V,随着对电容充电的进行,VR1最后将接近0V。RST引脚的电压变化如图2-12所示。为了确保单片机复位,t1必须大于两个机器周期的时间,机器周期取决于单片机系统采用的晶振频率,图2-11中,R1不能取得太小,t1与RC 电路的时间常数有关,由晶振频率和R1可以算出C3的取值。一般情况下,在晶振为6MHz时,R1取值 1k,C3取值22F;晶振为12MHz时,R1取值 8.2k,C3取值10F。,图2-11 上电复位电路 图2-12 复位端电压-时间关系 图2-13 按键复位电路,项目2 单片机硬件系统,2.复位后的状态,单片机的复位操作使单片机进入初始化状态。初始化后,PC=0000H,CPU从程序存储器的0000H开始取指执行。并且单片机启动后,RAM为随机值,并且运行中的复位操作也不改变编内RAM的内容。复位后,单片机特殊功能寄存器的状态是确定的,内部各特殊功能寄存器(SFR)的值如表2-4所示。,表2-4 复位后特殊功能寄存器SFR的初始状态,SFR名称,初始状态,SFR名称,初始状态,ACC,00H,TMOD,00H,B,00H,TCON,00H,PSW,00H,TH0,00H,SP,07H,TL0,00H,DPL,00H,TH1,00H,DPH,00H,TL1,00H,P0P3,FFH,SBUF,不确定,IP,*00000B,SCON,00H,IE,0*00000B,PCON,0*0000B,项目2 单片机硬件系统,2.2.4 单片机的最小系统,如果仅仅给单片机的VCC和GND之间供+5V的工作电源它是不会工作的,因为它还需要几个元器件共同构成一个最小系统。单片机的最小系统让单片机具备运行的条件,在这个基础上单片机才能控制各种外部设备,实现各种各样的功能。所以单片机最小系统就是指用最少的元件组成的单片机可以工作的系统。下面简单介绍两种类型芯片构成的最小系统。,1.8051/8751最小系统,对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。8051/8751是片内有ROM/EPROM的单片机,因此,用这种芯片构成的最小应用系统结构简单,工作可靠,如图2-14所示。,图2-14 8051单片机最小系统,项目2 单片机硬件系统,2.3 存储器结构,计算机的存储器结构有两种:一种称为哈佛结构,即程序存储器和数据存储器分开,相互独立;另一种结构称为普林斯顿结构,即程序存储器和数据存储器是统一的,地址空间统一编址。在单片机系统中,存放程序的存储器称为程序存储器,类似与通用计算机系统中的ROM,只能进行读操作;而存放数据的存储器称为数据存储器,相当于通用计算机系统中的RAM。与通用计算机系统不同,单片机中的程序存储器和数据存储器都有各自的读信号。,所以8051单片机属于哈佛结构,程序存储器和数据存储器分开配置。8051的存储器在物理结构上分为程序存储空间和数据存储空间,共有4个存储空间:片内程序存储器和片内数据存储器以及片外程序存储器和片外数据存储器。,项目2 单片机硬件系统,2.3.1 存储器的组成,1.程序存储器(ROM)空间:,1)片内4KB 的程序存储器,其地址为0000H0FFFH;,2)片外64KB的程序存储器,其地址为0000HFFFFH;,2.数据存储器(RAM)空间:,1)片内256B的数据存储器,00H7FH为通用的数据存储区,80HFFH为专用的特殊功能寄存器区;,2)片外64KB的数据存储器,其地址为0000HFFFFH;,程序存储器和数据存储器的结构配置见图2-16。,项目2 单片机硬件系统,从用户使用的角度看,8051存储器地址空间分为3类:,1.片内片外统一编址0000HFFFFH的64KB的程序存储器地址空间(用16位地址);,2.64KB片外数据存储器地址空间,地址0000HFFFFH(用16位地址);,3.256B片内数据存储器地址空间(用8位地址)。,上述3个存储空间地址是重叠的,如何区别这3个不同的逻辑空间呢?,8051的指令系统设计了不同的数据传送指令符号:,当访问片内ROM、片外ROM时,用MOVC指令;,当访问片外RAM时,用MOVX指令;,当访问片内RAM时,用MOV指令;,项目2 单片机硬件系统,2.3.2 程序存储器ROM,一般将只读存储器(ROM)用做程序存储器。MCS-51可寻址空间为64KB,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64KB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则端需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。,8051片内有4KB的程序存储器,其地址为0000H0FFFH,这就是我们所说的内部程序存储器(或简称“内部ROM”)。0000H0002H是系统的启动单元,单片机启动复位后,程序计数器PC的内容为0000H,所以系统将从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。,项目2 单片机硬件系统,地址为0003H002AH共40个单元被均匀地分为5段,每段8个单元,分别作为5个中断源的中断入口地址区。它们的定义如表2-5所示:,表格中的中断入口地址是专门用于存放中断处理程序的地址单元的。当中断源发出中断请求后,若CPU响应该中断,则程序将暂停正在执行的部分,而转入执行中断服务程序,因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,每段只有8个地址单元是不能存下完整的中断服务程序的,因而一般也在中断程序的入口地址处放一条无条件转移指令,指向程序存储器的其它地址单元(中断服务程序的真正地址)。,保留单元地址,使用目的,0000H0002H,复位后初始化引导程序,0003H000AH,外部中断0中断程序入口地址,000BH00l2H,定时器/计数器0中断程序入口地址,0013H00lAH,外部中断1中断程序入口地址,00lBH0022H,定时器/计数器1中断程序入口地址,0023H002AH,串行口中断程序入口地址,002BH,定时器2中断入口地址(8052才有),项目2 单片机硬件系统,图2-17 8051内部RAM配置图,项目2 单片机硬件系统,2.4 并行I/O端口,8051单片机有四个8位双向I/O端口(P0、P1、P2、P3),共32条并行I/O口线,每一条I/O线都能独立地用作输入或输出。其中P1、P2和P3为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),能带8个LSTTL负载。P0口则为双向三态输入输出口,能带8个LSTTL负载。对I/O的读写不需要专门的指令,而是把它当做可编址且能进行读写操作的寄存器,使用和RAM一样的读写指令。此外,这4个I/O口即可以按字节寻址,也可以按位寻址,也就是说每个端口的8个口线即可以一起使用,也可以单个使用。下面我们分别介绍这几个口线。,项目2 单片机硬件系统,2.4.5 I/O端口小结,P0、P1、P2和P3口均可作一般I/O口,但是在实际应用中,P0口用来构建8位的数据总线和低8位的地址总线,P2口用来构建高8位的地址总线,P3口通常用于第二功能,P1口作为一般的I/O口。,在这4个口中,P0口是一个真正的双向口,P1、P2和P3口是准双向口。因为只有P0口可用作系统数据总线,为保证正确的数据传送,要求在数据传送时,单片机内外才接通,不进行数据传送时,单片机内外处于隔离状态,因此要求P0口的输出电路是有两个场效应管组成的一个三态门,即高电平、低电平和高阻隔离三个状态,因此P0口是一个真正的双向口。P1、P2和P3口的输出电路由上拉电阻和场效应管组成,没有高阻隔离状态,所以称他们为准双向口。,此外,P0口的每一位可以以吸收电流的方式驱动8个LS型(L表示低功耗,S表示肖特基技术)TTL负载,P1口P3口的每一位可以以吸收或提供电流的方式驱动4个LS型TTL负载。对于80C51单片机(CHMOS型),当它驱动普通晶体管的基极时,应在端口和晶体管之间串入一个电阻,来限制高电平的输出电流。,单片机输出低电平的时候,驱动能力尚可,每个单个的引脚,输出低电平的时候,可以吸收的最大电流为10mA,每个 8 位的接口(P1、P2 以及 P3),吸收的总电流最大为15 mA,而 P0 的能力强一些,吸收的最大总电流为26mA;全部的四个接口所吸收的电流之和,最大为71mA。输出高电平的时候,51单片机的拉电流能力也就是输出电流的能力很差,只有几毫安。,项目2 单片机硬件系统,【特别提示】,在用作输出口时,P0口需要外接上拉电阻,以产生高电平;在用作输入口时,4个口均要先向其端口锁存器写1。P3口在用作第二功能信号时,也应先把对应的端口写1。,练习:,实训2:灯的闪烁,项目2 单片机硬件系统,
展开阅读全文