单元二MCS-51单片机内部结构.ppt

上传人:牧羊曲112 文档编号:6449501 上传时间:2023-11-01 格式:PPT 页数:39 大小:586.50KB
返回 下载 相关 举报
单元二MCS-51单片机内部结构.ppt_第1页
第1页 / 共39页
单元二MCS-51单片机内部结构.ppt_第2页
第2页 / 共39页
单元二MCS-51单片机内部结构.ppt_第3页
第3页 / 共39页
单元二MCS-51单片机内部结构.ppt_第4页
第4页 / 共39页
单元二MCS-51单片机内部结构.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《单元二MCS-51单片机内部结构.ppt》由会员分享,可在线阅读,更多相关《单元二MCS-51单片机内部结构.ppt(39页珍藏版)》请在三一办公上搜索。

1、单元二 MCS-51单片机内部结构,2.1 任务一 单灯受控闪烁,2.1.1 硬件电路与工作原理2.1.2 控制程序2.1.3 源程序编辑、编译、下载2.1.4 相关知识,返回主目录,2.1 单灯受控闪烁学习目标:过学习任务一的完成方法,熟悉mcs-51单片机的内部结构,掌握mcs-51单片机各组成部分的功能和特点。任务描述:单片机上电工作时,发光二极管按1HZ左右频率闪烁,按键S1后在原状态基础上停止5秒,再按原频率闪动。,2.1.1 硬件电路与工作原理,1.硬件电路,2.工作原理从图上可以看出,当P1.0P1.7中某个引脚输出低电平时,则发光二极管上有电流流过,发光二极管发光,否则,当对应

2、引脚为高电平时,发光二极管上无电流流过,发光二极管熄灭。S1S4由于按键一端接地,当按键按下时,对应的引脚被拉成低电平。单片机通过查询这几根口线的高低电平状态,就知道对应的按键是否按下。,1.主程序流程图,2.1.2 控制程序,2.控制程序,ORG 0000HLJMP MAINORG 0003HCLR 20H.0RETIORG 000BHLJMP DELAY MAIN:SETB 20H.0MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CHMOV B,#20 SETB IT0 SETB EA SETB EX0,ORG、END等伪指令将在核心模块的单元三、四中详细讲解,

3、SETB ET0SETB PX0MOV P1,#00H SETB TR0BEGIN:JB 20H.0,SHOWMOV B,#250 CJNE B,#00,$MOV A,P1 CPL A MOV P1,A;SJMP BEGINDELAY:MOV TL0,#00H MOVTH0,#4CHDJNZB,LOOPMOV B,#20LOOP:RETIEND,任务中假设单片机外接的石英晶体振荡器的频率为11.0592MHz,2.1.3 源程序的编辑、编译、下载,1.打开“伟福”模拟仿真软件进行程序的编辑、编译。1、正确选择单片机类型8751或8031 2、正确选择编译器伟福编译器 3、选择模拟仿真功能 4、

4、打开或新建文件进行编辑 5、编译2.打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51单片机芯片,观察程序运行结果。1、编译成功后打开下载软件 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的.BIN或.HEX文件 4、选择自动写完成擦除、写、读、校验过程 5、观看运行结果,2.1.4 相关知识,1.单片机程序运行的结果如何送给发光二极管?,从刚才的任务中,我们看到发光二极管随着程序的运行,有规律的闪动,那么,现在我们来看看单片机是怎样将程序中运行的结果送给发光二极管的。原来,89S51单片机上有4组8位I/O口:P0、P1、P2和P3口,P1、P2和

5、P3为准双向口,P0口则为双向三态输入输出口,他们在单片机中,主要承担了和单片机外部设备打交道的任务,下面我们分别介绍这几个I/O口:,(1)P0和P2口,P0口锁存器和缓冲器结构,P0口除了作普通的I/O口,直接和外部设备打交道外;还用作片外总线的地址总线AB0-AB7的低八位、数据总线。,P2口锁存器和缓冲器结构,P2口除了作普通的I/O口,直接和外部设备打交道外;还用作片外总线的地址总线的高八位地址线AB8-AB15,注意:P0口在作输出入口使用时,由于它无内部上拉电阻,为了在口线上输出高电平并具有一定的驱动能力,必须外接上拉电阻。作输入口使用时,为了防止口锁存器对输入口线的输入信号造成

6、影响,必须先往口锁存器写1。同理,P2口作输入时,也必须先往口锁存器写1。,(2)P1口,P1口锁存器和缓冲器结构,P1口只用作普通输入输出口,注意:和P0、P2口一样,为防止口锁存器对输入口线造成影响,P1口作输入时,也必须先往口锁存器写1。,(3)P3口,P3口锁存器和缓冲器结构,P3口除了作普通的I/O口(功能和P1口一样)直接和外部设备打交道外;还具有第二功能。,P3.0串行输入口(RXD)P3.1串行输出口(TXD)P3.2外中断0(INT0)P3.3外中断1(INT1)P3.5定时/计数器1的外部输入口(T1)P3.6外部数据存储器写选通(WR)P3.4定时/计数器0的外部输入口(

7、T0)P3.7外部数据存储器读选通(RD),2.单片机的软件及数据如何存放?,从前面的任务中,我们还看到要控制灯闪烁,必须编制程序,还必须将控制灯的相关数据预先存储,那么,在单片机中的程序和数据是怎样保存的?原来,在单片机内部有程序存储器和数据存储器,如果内部程序存储器和数据存储器的容量不够的话,还可以在单片机外部为它扩展,最大我们可以将程序存储器空间总容量扩大到64K,将数据存储器在片外再单独扩展64K,这样,以89S51为例,数据存储器的总容量可达64K(片外)128字节(片内)。,MCS-51单片机的存储器组织结构,采用典型的哈佛结构,即程序存储器和数据存储器完全独立,拥有各自的寻址系统

8、,包括片内数据存储器与片外数据存储器都拥有自己独立的寻址系统。,MCS-51单片机存储器组织结构,(1)程序存储器,用途:存放程序及程序运行时所需的常数。,寻址范围:0000H FFFFH 容量64KB,即地址长度:16位,,寻址内部ROM;,说明:当PC值超过片内ROM容量时会自动转向 外部存储器空间。,,寻址外部ROM。,程序存储器中6个具有特殊含义的单元,0000H 系统复位,PC指向此处;0003H 外部中断0入口 000BH T0溢出中断入口 0013H 外中断1入口 001BH T1溢出中断入口 0023H 串口中断入口,(2)数据存储器,用途:存放程序执行的中间结果和过程数据的。

9、,物理上分为两大区域:00H 7FH即128B用户RAM区。80H FFH即特殊功能寄存器区。,位寻址区,位寻址区(20H2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H7FH,位地址区也可作为一般的用户RAM使用。,(3)特殊功能寄存器,1)程序计数器PC(program Counter),程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。PC是一个16位的计数器,由两个八位寄存器PCH和PCL组成,用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。PC本身并没有地址,因而不可寻址,用户无法对

10、它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序的执行顺序。,2)累加器ACC(Accumulator),累加器A是一个最常用的专用寄存器,大部分单操作指令的一个操作数取自累加器,很多双操作数指令中的一个操作数也取自累加器。加、减、乘、除法运算的指令,运算结果都存放于累加器A或寄存器B中。大部分的数据操作都会通过累加器A进行,它形象于一个数据运输中转站,在数据传送过程中,任何两个不能直接实现数据的传送单元之间,通过累加器A中转,都能送达目的。,3)寄存器B,在乘除法指令中,乘法指令中的两个操作数分别取自累加器A和寄存器B,其结果存放于AB寄存器对中。除法指令中,被除数取自累

11、加器A,除数取自寄存器B,结果商存放于累加器A,余数存放于寄存器B中。,4)程序状态字(Program Status Word),CY 进位/借位标志;位累加器。AC 辅助进/借位标志;用于十进制调整。F0 用户定义标志位;软件置位/清零。OV 溢出标志;硬件置位/清零。P 奇偶标志;A中1的个数为奇数 P=1;否则 P=0。,5)数据指针(DPTR),数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。,DPTR主要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令

12、:MOVXA,DPTRMOVXDPTR,A,在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。MOVCA,A+DPTR,6)堆栈指针SP(Stack Pointer),指明栈顶元素的地址,8位,可软件设置初值,复位时SP=07H。,7)I/O口专用寄存器(P0、P1、P2、P3),I/O口寄存器P0、P1、P2和P3分别是MCS-51单片机的四组I/O口锁存器。,8)定时/计数器(TL0、TH0、TL1和TH1),MCS-51单片机中有两个16位的定时/计数器T0和T1,它们由四个8位寄存器组成的,两个16位定时/计

13、数器却是完全独立的。我们可以单独对这四个寄存器进行寻址,但不能把T0和T1当作16位寄存来使用。,9)定时/计数器方式选择寄存器(TMOD),TMOD寄存器是一个专用寄存器,用于控制两个定时计数器的工作方式,TMOD可以用字节传送指令设置其内容,但不能位寻址。,3.单片机如何运行程序?,知道了单片机通过I/O口与外设打交道,也知道了单片机的程序与数据如何保存,到底单片机是如何运行程序的?原来单片机和其他微机一样,也拥有一个中央处理器(CPU)。,它通过单片机的内部总线,将单片机内部的各个部分:程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等联系在一起。,

14、内部总线有三种,数据总线:专门用来传送数据信息。,地址总线:专门用来传送地址信息,选中各操作单元。,控制总线:专门用来传送CPU各种控制命令,以便CPU统一指挥协调工作。完成程序所要执行的各种功能。,CPU执行程序一般包括两个主要过程,第一,就是从程序存储器中取出指令,指令的地址由PC指针提供。,第二,就是执指过程,取出的指令代码首先被送到CPU中控制器中的指令寄存器,再通过指令译码器译码变成各种电信号,从而实现指令的各种功能。,执行,取指令,分析,4.怎样保证CPU工作?,现在我们知道了单片机怎样取指、执指,即怎样运行程序了。那么怎样才能保证CPU有序的工作?这就必须提到单片机的两个非常重要

15、的外围电路:单片机的时钟电路和复位电路。,Pin19:时钟XTAL1脚,片内振荡电路的输入端。Pin18:时钟XTAL2脚,片内振荡电路的输出端。,时钟电路如下,【振荡周期】:单片机外接石英晶体振荡器的周期。如外接石英晶体的频率若为12MHz,这其振荡周期就是1/12微秒。【状态周期】:单片机完成一个最基本的动作所需的时间周期。如扫描一次定时器T0引脚状态所需要的时间。一个状态周期2个振荡周期。【机器周期】:单片机完成一次完整的具有一定功能的动作所需的时间周期。如一次完整的读操作或写操作对应的时间。一个机器周期6个状态周期。【指令周期】:执行完某条指令所需要的时间周期,一般需要14个机器周期,

16、如MUL AB指令是四机器周期指令。一个指令周期14个机器周期。,单周期单字节指令时序,复位电路如下,单片机工作时,除了需要时钟支持外,还必须有一个初始状态,即单片机的复位状态。复位不改变RAM(包括工作寄存器R0-R7)的状态,89S51的初始态如下表:,Pin9:RESET复位信号脚,当89S51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。,5.按键为何能打断原来的工作?,在前面的任务中,我们还看到一个现象,只要按一下S1键,发光管的闪动就停止5秒,这就相当于打断了原来既定的工作,等到5秒延时一到,又恢复原来的工作。这就象我们平时通常所说的“中

17、断”。单片机中也有中断系统,它有5个中断源,它们能打断单片机原来的工作,直到中断结束才能继续原来的工作。我们将在单元五中详细阐述。,6.发光二极管为何按一定频率闪烁?,在前面的任务中,灯有规律的闪动和按键停5秒,都离不开时间。那么,这个时间我们在前面的程序中是怎样得到的?原来,在89S51单片机中有两个定时器T0、T1,我们在前面也已经提到了,它在单片机中能够实现定时或计数功能。详细的用法,在单元五进行讲解。,7.单片机的其他资源,通过本次任务的分析,我们基本上知道MCS-51单片机的结构,它由CPU、程序存储器、数据存储器、并行输入输出口、定时计数器、中断系统等构成,当然除了本次任务用到的以上资源外,51单片机还有一个串行通讯口。,单片机的引脚除了我们前面介绍的4个并I/O口,两根时钟引脚(18、19脚),一根复位引脚(9脚),两根电源脚(40、20脚)外,还有以下一些引脚。,外部程序存储器读选通信号,地址锁存信号输出端1/6fosc,小结:,1.P0、P1、P2、P3口的结构特点是什么?,2.MCS-51单片机各存储器的功能特点?,3.MCS-51单片机执行程序的过程?,4.MCS-51单片机时钟电路和复位电路有何作用?,思考与练习:2.2 2.8 2.12 2.14,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号