单片机_02(10)-第二章MCS-51单片机的结构和原理._第1页
单片机_02(10)-第二章MCS-51单片机的结构和原理._第2页
单片机_02(10)-第二章MCS-51单片机的结构和原理._第3页
单片机_02(10)-第二章MCS-51单片机的结构和原理._第4页
单片机_02(10)-第二章MCS-51单片机的结构和原理._第5页
已阅读5页,还剩65页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2-1 概述 MCS-51系列(8051、8751、8031)单片机特点: 内部包含一个高性能8位p(微处理器); 片内有128/256字节,RAM采用寄存器结构(共32个寄存器); 21个特殊寄存器SFR; 内部含有4K或8K程序存储器(EPROM/ROM); 2-1 概述 4个8位并行口; 有一个全双工的SIO(串行口); 2/3个16位CTC(定时器/计数器); 有5/6个中断源、中断优先级可程序控制; 片内振荡器; 片外可扩充64K程序空间、64K数据I/O空间,总寻址范围128K。 1、框图2-2 MCS-51系列单片机结构2、简化图 3、引脚图引脚介绍 电源线(2条) Vcc为十5

2、V电源线,Vss为接地线。 引脚介绍(1)端口线(4832条) 1)P0.0一P0.7:这组引脚共有8条,为P0口所专用,其中P07为最高位,P0.0为最低位。这8条引脚有两种不同的功能,分别使用于两种不同情况。 第一种情况是8051不带片外存储器,P0口可以作为通用口使用,P0.0一P07用于传送CPU的输入输出数据。这时,输出数据可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;引脚介绍 第二种情况是8051带片外存储器,P0.0P0.7在CPU访问片外存储器时用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。8751的P0口还有第三种功能

3、,它们可以用来给8751片内EPROM编程或进行编程后的读出校验。这时,P0.0一P0.7用于传送EPROM的编程机器码和读出校验码。引脚介绍2)P1.0一P1.7:这8条引脚和P0口的8条引脚类似,P17为最高位,P10为最低位。当P1口作为通用I0口使用时,P1.0一P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。8751的P1口还有第二功能,即它在8751编程校验时用于输入片内EPROM的高8位(实际是高4位)地址。引脚介绍3)P2.0一P27:这组引脚的第一功能和上述两组引脚的第一功能相同,即它可以作为通用口使用。它的第二功能和P0口引脚的第二功能相配合,用于输出

4、片外存储器的高8位地址,共同选中片外存储器单元,但并不能像P0口那样还可以传送存储器的读写数据。( 8751的P2.0P2.7引脚的第三功能,是可以配合P1.0一P1.3传送片内EPROM的12位地址中的低8位地址。)引脚介绍4)P3.0一P3.7:这组引脚的第一功能和其余三个端口的第一功能相同。第二功能作控制用,每个引脚并不完全相同,如表2.4所列。 引脚介绍(3)控制线(6条) ALE/PROG:地址锁存允许编程线,配合P0口引脚的第二功能使用。引脚介绍 在访问片外存储器时,8051CPU在P0.0一P0.7引脚线上输出片外存储器低8位地址的同时还在ALE/PROG线上输出一个高电位脉冲,

5、用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.0一P0.7引脚线去传送随后面来的片外存储器读写数据。引脚介绍 在不访问片外存储器时,8051自动在从ALE线上输出频率为16的脉冲序列。该脉冲序列可用作外部时钟源或作为定时脉冲源使用。 对于8751 ALE/PROG线还具有第二功能。它可以在对8751片内EPR0M编程校验时传送52ms宽的负脉冲。引脚介绍EAVpp:允许访问片外存储器编程电源线,可以控制8051使用片内ROM还是使用片外ROM。若EA1,则允许使用片内ROM:若EA=0,则允许使用片外ROM,如图24(a)所示。 对8751EAVpp用于在片内EPROM

6、编程校验时输入1V编程电源。引脚介绍 PSEN:片外ROM选通线,在执行访问片外ROM的指令MOVC时,8051自动在PSEN线上产生一个负脉冲,用于为片外ROM芯片的选通。其它情况下,PSEN线均为高电平封锁状态。引脚介绍RSTVPD:复位备用电源线,可以使8051处于复位(即初始化)工作状态。通常,8051的复位有自动上电复位和人工按钮复位两种。 RSTVPD的第二功能是作为备用电源输入端。当主电源Vcc发生故障而降低到规定低电平时,RSTVPD线上的备用电源自动投入,以保证片内RAM中信息不丢失。 引脚介绍XTAL1和XTAL2: 片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容

7、,即用来连接8051片内OSC的定时反馈回路。 石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,使MCS51片内的OSC电路按石英晶振相同频率自激振荡。通常,0SC的输出时钟频率为0516MHz,典型值为12MHz或110592MHz。电容C01和C02可以帮助起振,典型值为30PF,调节它们可以达到微调频率的目的。 二、MCS-51微处理器 运算器:ALU、布尔处理器、ACC、B、TMP1、TMP2、PSW、十进制调整电路。 控制器:指令寄存器、程序计数器PC、定时与控制电路。三、MCS-51相关的硬件电路(1)振荡电路的构成a)HMOS型MCS-51系列的振荡电路 (1)振荡电

8、路的构成b、CHMOS型MCS-51系列的振荡电路 时钟发生器就是上述的2分频触发器,它向芯片提供了一个2节拍的时钟信号。在每个时钟的前半个周期,节拍1信号有效;后半周期,节拍2信号有效。(2)时钟电路的构成:a、内部时钟 (2)时钟电路的构成:b、外部时钟 2、MCS-51系列单片机复位状态和复位电路(1)复位软件状态a、MCS-51系列的复位信号RST:高电平有效,在振荡器运行时,使RST脚至少保持2个机器周期(24个振荡周期)的高电平而实现的。b、复位操作不影响片内RAM的内容,但使/PSEN和ALE/PROG两个控制信号为高电平,处于准备工作状态,而PC及特殊寄存器则变成如下状态:2、

9、MCS-51系列单片机复位状态和复位电路(2)复位硬件状态 P0、P2口处于三态; ALE、/PSEN处于高电平。 2、MCS-51系列单片机复位状态和复位电路3)复位电路 上电复位电路 2、MCS-51系列单片机复位状态和复位电路 上电开关复位 2-3 MCS51单片机工作方式 1复位方式 单片机在开机时都需要复位,以便中央处理器CPU以及其它功能部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51的RST引脚是复位信号的输入端。复位信号是高电平有效,持续时间要有24个时钟周期以上。 例如:若MCS51单片机时钟频率为12MHz,则复位脉冲宽度至少应为2us。单片机复位后,其片内

10、各寄存器状态如表24所列。这时,堆栈指针SP为07H,ALE、/PSEN,P0,P1,P2和P3口各引脚均为高电平,片内RAM中内容不变。 执行方式 单步执行方式通常可以分为单步执行和连续执行两种工作方式。单步执行方式是指单片机在控制面板上某个按钮(即单步执行键)控制下一条条执行用户程序中指令的方式,即按一次单步执行键就执行一条用户指令的方式。 单步执行方式常常用于用户程序的调试 单步执行方式是利用单片机外部中断功能实现的。单步执行键相当于外部中断的中断源,当它被按下时相应电路就产生一个负脉冲(即中断请求信号)送到单片机的/INT0或/INT1引脚,MCS51单片机在/INT0上的负脉冲作用下

11、便能自动执行预先安排在中断服务程序中的如下两条指令: LOOP1: JNBP3.2 ,LOOP1; LOOP2: JB P3.2 ,LOOP2 ; RETI 连续执行方式 连续执行方式是所有单片机都需要的一种工作方式,被执行程序可以放在片内或片外ROM中。由于单片机复位后程序计数器PC=0000H,因此机器在加电或按钮复位后总是到0000H处执行程序,这就可以预先在0000H处放一条转移指令,以便跳转到0000HFFFFH中的任一地址执行程序。 3节电工作方式 节电方式是一种能减少单片机功耗的工作方式,通常可以分为空闭(等待)方式和掉电(停机)方式两种。只有CHMOS型器件才有这种工作方式,C

12、HMOS型单片机是一种低功耗器件,正常工作时消耗1120mA电流,闲状态时为1.75mA电流:掉电方式为550uA。因此CHMOS型单片机特别适用于低功耗应用场合。 CHMOS型单片机的节电方式是由特殊功能寄存器PCON控制的,PCON各位定义为: 其中,SMOD为串行口波特率倍率控制位,若SMOD1,则串行口波特率倍率;SMOD=0,则波特率不加倍。GF1和GF0,为通用标志位,用户可通过指令改变它们的状态;PD为掉电控制位:IDL为空闲控制位。PD和IDL的片内控制电路如图211所示。 (1) 掉电方式 80C51执行如下指令使可进入掉电方式 MOV PCON,#02H :PD-1 上述指

13、令执行后PD端变为高电平,振荡器因此停振,片内所有功能部件停止工作,但片内RAM和特殊功能寄存器(SFR)中内容保持不变,ALE和/PCON的输出为逻辑低电平。在掉电期间,Vcc电源可以降为2V(可以由于电他供电),但80C31退出掉电方式必须等待恢复十5V电压后经过一段时间才能允许。 80C51从掉电状态退出的唯一方法是硬件复位,即需要给RST引脚外加一个足够宽的复位正脉冲,80C51复位后SFR重新被初始化,但RAM中内容保持不变。因此若要使得80C51在掉电后继续执行掉电前的程序,那就必须在掉电前预先把SFR中内容保存到片内RAM,并在掉电方式退出后为SFR恢复掉电前的状态。 (2) 空

14、闲方式 80C51执行如下指令可以进入空闲方式 MOV PCON,#01H :IDL一1 上述指令执行后/IDL端变为低电平,与门无输出,CPU停止工作,但中断、串行口和定时器计数器可以继续工作。此时,CPU现场(即SP、PC、PSW和ACC等)、片内RAM和SFR中其它寄存器内容均维持不变,ALE和/PSEN变为高电平等等。 总之,CPU进入空闲状态后是不工作的,但各功能部件保持了进入空闲状态前的内容,且功耗很小。因此,在程序执行过程中,用户在CPU无事可做或不希望它执行有用程序时,应让它进入空闲状态,一旦需要继续工作就让它退出空闲状态。 4编程和校验方式 a)8751H编程和校验方式 编程

15、是指利用特殊手段对单片机片内部的EPROM进行写入的过程,校验则是对刚刚写入的程序代码进行读出校验的过程。因此,单片机的编程和校验方式只有EPROM器件(如8751H这样的器件)才有。 8751H和8051类似,不过8751H内部的4KB程序存储器是EPROM型,而8051是ROM型的。8751H片内EPROM有编程、校验和保密编程等工作方式。在每种工作方式下,8751H各引脚的输入电平是不相同的,如表26所列。表中,“1”表示逻辑高电平;“0”表示逻辑低电平;表示任意逻辑电乎;VPP为21V0.5V,/PROG的编程脉冲为50ms负脉冲。 应当注意:EAVPP上编程电源电压不能大于215V,

16、即使是一个小小的尖脉冲也会引起器件的永久性损坏。 (1) EPROM的编程方式 (2) EPROM的校验方式 875l的EPROM的校验方式要求它的引脚按表26中相应状态连接,如图215所示。和编程类似,EPROM校验也是在另一台主单片机控制下进行的。在校验时,主单片机把12位地址送入被校验的8751H的P2和P1口,以选中读出相应EPROM存储单元中内容,经P0口送给主单片机。主单片机把该读出代码和编程时写入的编程代码进行比较:若两者结果相同,则该单元编程正确:若结果不同,则应查明原因,重新进行编程,直到正确为止。 875lH的EPROM的校验方式要求它的引脚按表215中相应状态连接 (3)

17、 EPROM的保密方式 8751H的保密编程要求它的引脚按表26中相应状态连接,它和图214的唯一区别在于P27应接逻辑高电平“1” 。 8751H EPROM保密编程的过程和EPROM编程过程类似,在此不再多述。 b) Flash 89c51的编程和程序校验 AT89c51单片机内部有一个4K字节的Flash EPROM。这个Flash存储阵列通常是处于已擦除状态(即存储单元的内容为FFH),随时可对它进行编程。编程接口可接收高电压(12v)或低电压(Vcc)的允许编程信号。低电压编程方式可很方便地对AT89c51LV651内的用户系统进行编程而高电压编程方式则可与通用的EPROM编程器兼容

18、。 AT89C51单片机中,有些允许用高电压编程方式编程,有些允许用低电压编程方式编程。各自芯片面上的型号和片内特征字节的内容不同。 1Flash 存储器编程 编程前,必须建立好地址、数据和相应的控制信号。编程单元的地址加在P1端口和P2端口的P2.0P2.3(11位地址为0000H0FFFH),数据从P0端口输入。PSEN应保持低电平,而RST应保持高电平。/EA/Vpp是编程电源的输入端,按要求加入编程电压。ALE/PROG端输入编程脉冲(应为负脉冲信号)。编程时,采用420MHz的振荡器。对AT89c5lLV5l编程的步骤如下: (1) 在地址线上输入要编程单元的地址。 (2) 在数据线

19、上输入要写入的数据字节。 (3) 激活相应的控制信号。 (4) 在采用高电压编程方式时,将/EA/Vpp端的电压加到12V。 (5) 每对Flash存储阵列写入一个字节或每写入一个程序加密位,加一个ALE/PROG编程脉冲。 改变编程单元的地址和要写入的数据,重复步骤15,直到全部文件编程完毕。 每个字节写入周期是自动定时的,通常不大于1.5ms。 2数据查询方式 AT89C51单片机用数据查询方式来检测一个写周期是否结束。在一个写周期期间,如果想读出最后写入的那个字,则读出数据的最高位(P0.7)是原来写入字节最高位的反码。写周期一旦完成后,有效的数据就会出现在所有输出端上,这时可开始下一个

20、写周期。一个写周期开始后,可在任何时间开始进行数据查询。 3准备就绪忙信号 字节编程的过程也可通过RDY/BSY输出信号来监视。在编程期间当ALE变为高电平后,P34(RDY/BSY)端的电平被拉低,表示忙(正在编程)状态。编程完毕后,P3.4的电平变高表示准备就绪状态。 4程序的校验 如果加密位LB1和LB2没有被编程,那么就可以对AT89C51内部已编好的程序进行校验。这时采用图76所示的引脚接法。程序存储器的地址仍由P1端口和P2端口的P2.0、P2.3输入,数据由P0端口输出。P2.6、P2.7和P3.6、P3.7的电平见表74。/PSEN保持低电平,而ALE、/EA和RST保持高电平

21、。校验时,在P0端口上要求外接约10Kn左右的上拉电阻。 程序加密位不能直接校验。加密位的校验可通过观察它们的功能是否被允许来进行。 5片擦除操作 用一组适当的控制信号(见表74),并保持ALE/PROG脉冲宽度(低电平的时间)约10ms,整个Flash阵列的内容就会被擦除。擦除后,Flash存储阵列全为1状态。注意,在对程序存储器进行重新编程之前必须执行片擦除操作。 6读特征字节 AT89C51单片机内有3个特征字节(地址为030H、031H和032H),用来指出该器件的厂商、型号和编程电压。其中: (030H)1EH;表示ATMEL公司制造 (031H)5lH;表示型号为89C5l (03

22、1H)61H;表示型号为89LV51 (032H)=FFH;表示编程电压为12V (032H)=05H;表示编程电压为5v 7编程接口 采用合适的控制信号组合,可对Flash存储阵列写入每一个代码字节也可以擦除整个存储阵列的内容。写操作周期是自动定时的,一旦开始写操作后,就会自动确定其完成的时间。2-4 MCS51内部并行IO端口 8051单片机有4个8位双向并行IO端口:P0,P1,P2,P3。每个IO端口除可作为字节的输入输出外,其各条IO线也可单独地用作输入输出线。此外,8031片内还有一个全双工的串行IO端口,能用于IO端口扩展或者串行异步通讯。可见,8051单片机共有34条IO线。各端口编址于特殊功能寄存器中,一般既有字节地址,也有位地址,对相应地址单元的读写,就实现了从相应端口的输入输出操作。 1P0端口 总线IO端口,双向

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论