第2章 MCS-51单片机硬件结构和原理.ppt_第1页
第2章 MCS-51单片机硬件结构和原理.ppt_第2页
第2章 MCS-51单片机硬件结构和原理.ppt_第3页
第2章 MCS-51单片机硬件结构和原理.ppt_第4页
第2章 MCS-51单片机硬件结构和原理.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1、1,01:09,单片机原理与接口技术,第2章 MCS-51单片机硬件结构和原理,2,01:09,熟悉MCS-51单片机CPU内部组成结构、各功能部件的作用; 掌握MCS-51单片机引脚功能; 掌握存储器的组织结构; 掌握P0P3并行I/O口结构; 掌握时钟电路、CPU时序和复位电路。,本章教学要求,3,01:09,本 章 目 录,2.1 MCS-51系列单片机分类 2.2 单片机硬件结构 2.2.1 单片机的引脚功能 2.2.2 单片机的内部结构 2.3 中央处理器(CPU) 2.3.1 运算器,2.3.2 控制器 2.3.3 布尔(位)处理器 2.4 存储器 2.4.1 程序存储器 2.4.

2、2 数据存储器,4,01:09,本 章 目 录,2.7 单片机的工作方式 2.7.1 复位方式 2.7.2 程序执行方式 2.7.3 低功耗运行方式 习题与思考题,2.5 并行输入/输出端口 2.5.1 P1口 2.5.2 P2口 2.5.3 P3口 2.5.4 P0口 2.5.5 并行口的应用 2.6 时钟电路和时序 2.6.1 时钟电路 2.6.2 时序,5,01:09,2.1 MCS-51系列单片机的分类,自从Intel公司于20世纪80年代初推出MCS-51系列单片机以后,所有的51系列单片机都是以Intel公司最早的典型产品8051为核心,增加一定的功能部件后构成的。本章以8051为

3、主阐述MCS-51系列单片机的系统结构、工作原理和应用中的一些技术问题。 MCS-51系列可分为两大系列:51子系列和52子系列。51子系列主要有8031、8051和8751三种机型。52子系列主要有8032、8052和8752三种机型。,6,01:09,表2-1 MCS-51系列单片机的性能一览表,2.1 MCS-51系列单片机的分类,7,01:09,2.2 单片机硬件结构,芯片引脚按功能分成3类,即:,2.2.1 单片机的引脚功能,51单片机的引脚功能,数据总线 地址总线 控制总线,8,01:09,1. 主电源引脚Vcc和Vss,Vcc(+5V) 电源输入端 Vss(GND) 共用接地端,

4、2.2.1 单片机的引脚功能*,51单片机电源引脚,9,01:09,2. 时钟振荡电路引脚XTAL1和XTAL2,XTAL1和XTAL2分别用做晶体振荡电路的反相器输入端和输出端。在使用内部振荡电路时,这两个端子用来外接石英晶体,振荡频率为晶体振荡频率,振荡信号送至内部时钟电路产生时钟脉冲信号。,2.2.1 单片机的引脚功能,51单片机时钟引脚,10,01:09,3. 控制信号引脚,RST为复位信号输入端 VPD为内部RAM的备用电源输入端 PSEN 外部程序存储器的读选通信号 ALE地址锁存允许信号,2.2.1 单片机的引脚功能,复位/外部存储器/地址锁存引脚,11,01:09,复位信号输入

5、端RST,当RST(RESET)端保持两个机器周期(24个时钟周期)以上的高电平时,单片机完成复位操作。VPD为内部RAM的备用电源输入端。当主电源Vcc一旦发生断电或电压降到一定值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使Vcc上电后能继续正常运行。,2.2.1 单片机的引脚功能,复位引脚,12,01:09,外部程序存储器的读选通信号。当访问外部ROM时,产生负脉冲作为外部ROM的选通信号。,2.2.1 单片机的引脚功能,ALE 与PSEN引脚,地址锁存允许信号ALE,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。PROG是对8751内部EP

6、ROM编程时的编程脉冲输入端。,读选通信号PSEN,13,01:09,外部程序存储器控制信号EA,EA=0: 访问外部程序存储器。 EA=1: 访问片内与片外程序存储器。 VPP为8751 EPROM的21V编程电源输入端。,2.2.1 单片机的引脚功能,内外程序存储器控制引脚,14,01:09,P0端口,P0端口(P0.0P0.7) 第一功能:是一个8位漏极开路型的双向I/O口,这时P0口可看成用户数据总线; 第二功能:是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。,4. P0、P1、P2、P3端口,2.2.1 单片机的引脚功能,15,01:0

7、9,P1口(P1.0P1.7) 内部带上拉电阻的8位准双向I/O口。 P2口(P2.0P2.7) 第一功能:一个内部带上拉电阻的8位准双向I/O口。 第二功能:在访问外部存储器时,输出高8位地址。 P3口(P3.0P3.7) 第一功能:内部带上拉电阻的8位准双向I/O口。在系统中,这8个引脚都有各自的第二功能。,2.2.1 单片机的引脚功能,P1、P2和P3 端口,16,01:09,2.2.2 单片机的内部结构*,一个8位CPU; 4 KB程序存储器,采用ROM或EPROM(8031无ROM); 128 B通用数据存储器; 21个特殊功能寄存器(SFR); 4个8位并行口,其中P0、P2、P3

8、是复用口(P0和P2为地址/数据线,可寻址64 KB ROM和64 KB RAM); 一个可编程全双工串行口; 具有5个中断源,两个优先级嵌套结构; 两个16位定时/计数器; 一个片内振荡器与时钟电路。,51单片机内部主要器件,17,01:09,2.2.2 单片机的内部结构,51单片机内部主要部件,18,01:09,2.3 中央处理器(CPU),单片机的核心部分是CPU,由运算器、控制器和布尔(位)处理器组成。,19,01:09,2.3.1 运算器,运算器算术逻辑单元(ALU) 包括: 累加器(ACC) 程序状态字(PSW) 暂存器 B寄存器等部件,运算器的组成,20,01:09,1. 累加器

9、,累加器是一个8位寄存器。在指令系统中,累加器在直接寻址时的助记符为ACC。除此之外全部用助记符A表示。,2.3.1 运算器,累加器,21,01:09,算术/逻辑部件,算术/逻辑部件ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。 在控制信号的作用下,完成算术加、减、乘、除和逻辑与、或、异或等运算,以及循环移位操作、位操作等功能。,2.3.1 运算器,2. 算术/逻辑部件,22,01:09,程序状态字寄存器,程序状态字寄存器PSW是一个8位寄存器,用来存放运算结果的一些特征。,进位标志位,半进位标志位,用户自定义 标志位,工作寄存器 组选

10、择位,溢出标志位,奇偶校验标志位,2.3.1 运算器,3. 程序状态字寄存器 *,23,01:09,RS1、RS0与片内工作寄存器组的对应关系,2.3.1 运算器,片内四组工作寄存器的选择,24,01:09,4. B寄存器,在进行乘法、除法运算时,B寄存器作为ALU的输入之一,与ACC配合完成运算,并存放运算结果。在无乘除运算时,它可作为内部RAM的一个单元。,2.3.1 运算器,寄存器,25,01:09,2.3.2 控制器,定时控制逻辑 指令寄存器 数据指针(DPTR) 程序计数器(PC) 堆栈指针(SP) 地址寄存器 地址缓冲器,控制器的组成,控制器是CPU的大脑中枢,它包括:,26,01

11、:09,1. 程序计数器,程序计数器(Program Counter,PC)用来存放下一条要执行的指令的地址。当按照PC所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。 ?,2.3.2 控制器,程序计数器,27,01:09,2. 堆栈指针,堆栈指针(Stack Pointer,SP)是指在片内RAM的l28B(52子系列为256B)空间中开辟的堆栈区的栈顶地址,并随时跟踪栈顶地址变化。 堆栈是按先进后出的原则存取数据的,开机复位后,单片机栈底地址为07H。,2.3.2 控制器,堆栈指针,28,01:09,3. 指令寄存器和指令译码器,指令寄存器和指令译码器(Instruc

12、tion Register,IR)的功能是对将要执行的指令进行存储和译码。当指令送入指令寄存器后,对该指令进行译码,即把指令转变成所需的电平信号,CPU根据译码输出的电平信号,使定时控制电路产生执行该指令所需的各种控制信号,以便计算机能正确地执行指令所要求的操作。,2.3.2 控制器,指令寄存与译码,29,01:09,4. 数据指针,由于8051系列单片机可以外接64KB的数据存储器和I/O接口电路,故在单片机内设置了l6位的数据指针寄存器(Data Pointer,DPTR)。它可以对64KB的外部数据存储器和I/O进行寻址,DPTR可分为高8位数据指针寄存器(DPH)和低8位数据指针寄存器

13、(DPL),地址分别为83H和82H。,2.3.2 控制器,数据指针,30,01:09,5. 布尔(位)处理器,在8051单片机系统中,与字节处理器相对应,还特别设置布尔(位)处理器。,Cy:进位标志位 位寻址寄存器 位寻址的并行I/O口 位操作指令系统,2.3.2 控制器,位处理器,31,01:09,2.4 存储器*,8051在物理结构上有4个存储空间: 片内程序存储器 片外程序存储器(ROM) 片内数据存储器 片外数据存储器(RAM) 从用户使用的角度上,MSC-51有3个存储空间: 片内外统一编址的64 KB程序存储器空间(用16位地址) 256 B片内数据存储器空间(用8位地址) 64

14、KB片外数据存储器地址空间,51单片机存储器布局,32,01:09,存储器结构,2.4 存储器,33,01:09,2.4.1 程序存储器,程序存储器用于存放编好的程序或表格常数。51子系列片内有4KB ROM,52子系列片内有8KB ROM,二者片外地址线均为16位,最多可扩展64KB ROM,片内片外统一编址。 若EA端保持低电平,则所有取指令操作均在片外程序存储器中进行,0000H地址在片外。 若EA端保持高电平,0000H地址在片内,所有取指令操作均在片内程序存储器中进行。,程序存储器的用途,34,01:09,程序存储器,在程序存储器的开始部分,定义了一段具有特殊功能的地址段,用作程序起

15、始和各种中断的入口。,2.4.1 程序存储器,程序入口地址,35,01:09,2.4.2 数据存储器,数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 MCS-51系列单片机的片内数据存储器除RAM块外,还有特殊功能寄存器(SFR)块。 片内数据存储器的容量很小,常需要扩展片外数据存储器。MCS-51系列单片机有一个数据指针寄存器,可用于寻址程序存储器或数据存储器单元,它有16位,寻址范围可达64KB。 数据存储器分为片外数据存储器、片内数据存储器、特殊功能存储器,以下分别加以介绍。,数据存储器的用途,36,01:09,2.4.2 数据存储器,片内通用数据存储器有: 工作寄存器区 位

16、寻址区 数据缓冲区,片内数据存储器,3个区域,1. 片内通用数据存储器,37,01:09,片内数据存储器,2.4.2 数据存储器,工作寄 存器区,位寻址区,数据缓 冲器区,38,01:09,(1)工作寄存器区,工作寄存器也称为通用寄存器,供用户编程时使用,用于临时存储8位数据信息。 工作寄存器地址为00H1FH的32个单元,并分成4个工作寄存器组,每个组有8个工作寄存器,名称为R0R7。工作寄存器和RAM地址的对应关系如表所示。,2.4.2 数据存储器,工作寄存器区,每个工作寄存器组都可被选为CPU的当前工作寄存器,通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来实现。,39,01:

17、09,(2)位寻址区,内部RAM中地址为20H2FH的16个单元,CPU不仅具有字节寻址功能,而且还具有位寻址功能。这16个单元共128,2.4.2 数据存储器,位寻址区,位,每一位都赋予1个位地址,位地址范围是00H7FH。,40,01:09,(3)数据缓冲区,30H7FH是数据缓冲区,即用户RAM区,共80个单元。52子系列片内RAM有256个单元,工作寄存器区和位寻址区的单元数与地址都和51子系列的一致,而数据缓冲区有208个单元,地址范围是30HFFH。,2.4.2 数据存储器,数据缓冲区,41,01:09,(4)堆栈与堆栈指针,堆栈是一种执行“后进先出”算法的数据结构。是在内存中的一

18、个存储区域,数据一个一个顺序地存入(也就是“压入push”)这个区域之中。 有一个地址指针(堆栈指针)总指向最后一个压入堆栈的数据所在的存储单元,存放这个地址指针的寄存器就叫做堆栈指示器。 开始放入数据的单元叫做“栈底”。数据一个一个地存入,这个过程叫做“压栈”。读取这些数据时,按照堆栈指示器中的地址读取数据,堆栈指示器中的地址数自动减 1。这个过程叫做“弹出pop”。如此就实现了后进先出的原则。,2.4.2 数据存储器,堆栈指针,42,01:09,2. 特殊功能寄存器,概念 特殊功能寄存器(Special Function Register,SFR)也称为专用寄存器,用于控制、管理单片机内部

19、算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。 使用 系统初始化时针对使用的功能部件编程设定。,2.4.2 数据存储器,特殊功能寄存器,43,01:09,表2-6 特殊功能寄存器地址对照表,2.4.2 数据存储器,特殊功能寄存器,44,01:09,PSW与ACC,(1)程序状态字寄存器(PSW) PSW是8位寄存器,存放程序运行状态的标志,字节地址为D0H。可以进行位寻址。 (2)累加器(ACC) ACC是8位寄存器,用于算术或逻辑操作的输入和运算结果的输出。在指令系统中累加器的助记符为A,作为直接地址时助记符为ACC。,2.4.2 数据存储器,PSW与A

20、CC,45,01:09,(3)数据指针寄存器(DPTR),16位的专用地址指针寄存器。可对外部存储器和I/O口进行寻址,也可拆成高字节DPH和低字节DPL两个独立的8位寄存器,在CPU内分别占据83H和82H两个地址。 当对64KB外部数据存储器寻址时,DPTR可作为间接寻址寄存器使用: 从外部数据存储器取数 MOVX A, DPTR 送数到外部数据存储器 MOVX DPTR, A,2.4.2 数据存储器,DPTR,46,01:09,(4)B寄存器,X*Y X/Y 在乘、除法运算中用B寄存器暂存数据。乘法指令的两个操作数分别取自A和B,结果再存于B和A中,即A存低字节,B存高字节。除法指令中被

21、除数取自A,除数取自B,结果商存于A中,余数存放在B中。在其他指令中,B寄存器可作为RAM中的一个单元使用。B寄存器的地址为B0H。,2.4.2 数据存储器,B寄存器,47,01:09,(5)堆栈指针(SP),堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。,2.4.2 数据存储器,堆栈指针(SP)与P0 P3锁存器,(6)端口P0P3,特殊功能寄存器P0P3分别是I/O端口P0P3的锁存器。,48,01:09,(7)定时器/计数器TL0、TH0、TL1、TH1,MSC-51单片机中有两个16位的

22、定时器/计数器T0和T1,它们由4个8位寄存器(TH0、TL0、TH1和TL1)组成。 两个16位定时器/计数器是完全独立的,可以单独对这4个寄存器寻址。,2.4.2 数据存储器,定时器/计数器,49,01:09,(8)串行数据缓冲器(SBUF),功能:存放需要发送和接收的数据。 组成:由两个独立的寄存器构成,一个是发送缓冲器,一个是接收缓冲器,但寄存器名称统一为SUBF。 使用:发送指令 MOV SUBF, A ;使用发送缓冲器。 接收指令 MOV A, SUBF ;使用接收缓冲器。,2.4.2 数据存储器,串行数据缓冲器,50,01:09,(9)控制寄存器,控制寄存器有5种。 中断优先级控

23、制寄存器(IP) 中断允许控制寄存器(IE) 定时器/计数器控制寄存器(TCON) 串行口控制寄存器(SCON) 电源控制寄存器(PCON) 它们将在后续章节中详细介绍。,2.4.2 数据存储器,控制寄存器,51,01:09,可位寻址的位地址分布,MCS-51可直接位寻址的空间有216位。其中内部RAM的20H2FH这16个单元具有128个位地址空间,位地址为00H7FH; 另一部分位地址在特殊功能寄存器中,这些特殊功能寄存器是一些能被8整除的字节单元,地址在80HFFH区间,只用了11个字节,它们都可进行位寻址,共计88位。如表2-8所示。,2.4.2 数据存储器,可位寻址的位地址分布,52

24、,01:09,可位寻址的位地址分布,2.4.2 数据存储器,可位寻址的位地址分布,53,01:09,位操作与字节操作,尽管位地址和字节地址有重叠,读/写位寻址空间时也采用MOV指令形式,但所有的位操作指令都是以位地址为一个操作数,以进位位(Cy)为另一个操作数。 例如,读位地址90H,用指令: MOV C, 90H 或 MOV C, P1.0 写位地址90H,用指令: MOV 90H, C 或 MOV P1.0, C,2.4.2 数据存储器,位操作与字节操作,54,01:09,2.5 并行输入/输出(I/O)端口,接口的主要功能包括: 缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态

25、)和发布命令等。 I/O接口有: 并行接口、串行接口、定时/计数器、A/D、D/A等。根据外设的不同情况和要求选择不同的接口。 本节介绍MCS-51单片机的并行输入/输出接口。,55,01:09,并行输入/输出接口,MCS-51单片机有P0、P1、P2、P3四个8位双向并行I/O口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,4个并行口共有32根端口线,用做位控制十分方便。并行I/O口具有如下特点。,2.5 并行输入/输出(I/O)端口,56,01:09,并行I/O口特点,(1)4个并行I/O口都是双向的。P0口为漏极开路驱动;P1、P2、P3口均具有内部上拉电阻驱动,它们有时称为

26、准双向口。 (2)32根端口线都可用做输入或输出,还可进行位操作。 (3)当并行I/O口作为输入时,该口的锁存器必须先写入“1”,这是一个重要条件。否则,该口不能读入正确数据。,2.5 并行输入/输出(I/O)端口,57,01:09,2.5.1 P1口,MCS-51单片机的Pl口只有一种功能,即通用输入/输出接口。P1口每位的内部结构如图2-5所示。,图2-5 P1口每位的内部结构示意图,58,01:09,1. 输出方式,当CPU执行写P1口的指令(如MOV Pl, #data)时,P1口工作于输出方式,此时数据data经内部总线送入锁存器锁存。,如果某位的数据为1,则该位锁存器输出端Q =

27、1,而使T截止,从而在引脚P1.x上出现高电平,即输出数据“1”。反之,如果数据为0,则Q = 0,而使T导通,P1.x上出现低电平,即输出数据“0”。,2.5.1 P1口,P1口工作原理,59,01:09,2. 输入方式,当CPU执行读P1口的指令(如MOV A, P1)时,P1口工作于输入方式。,2.5.1 P1口,P1口工作原理,60,01:09,2.5.2 P2口,P2口有两种用途:通用I/O口或高8位地址总线。,P2口内部结构,图2-6 P2口每位的内部结构示意图,通用I/O与地址线的选择可根据指令由控制信号完成。,61,01:09,MOVX A, Ri 或 MOVX Ri, A 此

28、时,Ri寄存器提供的是8位地址,由P0口送出,不需要P2口,P2口引脚原有的数据在访问片外RAM期间不受影响,故P2口仍可用做通用I/O口。 当片外RAM容量较大需要由P2口和P0口送出16位地址时,P2口不再用做通用I/O口。,P2口用作地址线/通用I/O口,2.5.2 P2口,P2口用作地址线,当P2口作为准双向通用I/O口使用时,其功能与P1口相同,工作方式、负载能力也相同。,P2口用作通用I/O口,62,01:09,2.5.3 P3口,P3口是双功能口,默认为第一功能(通用I/O),通过编程可设定为第二功能。,通用I/O口状态,图2-7 P3口每位的内部结构示意图,1. 通用I/O口状

29、态 P3口用做准双向通用I/O口时,其功能与P1口相同。,63,01:09,2. 第二功能状态,2.5.3 P3口,第二功能状态,P3口作为第二功能操作时,其锁存器Q端必须为高电平(可用输出指令向端口写1,以使Q = 1。单片机复位时,锁存器输出端为高电平),否则无法输入或输出第二功能信号。P3口第二功能中的输入信号经三态门2输入,可直接进入内部总线。P3口第二功能定义如表2-8所示。,64,01:09,2.5.3 P3口,第二功能状态,表2-8 P3口第二功能,65,01:09,P3口使用,P3口的每一位都可独立地定义为第一功能I/O或第二功能使用。P3的第二功能涉及到串行口、外部中断、定时

30、器,与特殊功能寄存器有关,它们的结构、功能等在后面章节中再作进一步介绍。,2.5.3 P3口,P3口使用,P3口的地址为B0H,对应P3.0P3.7的位地址为B0HB7H。,66,01:09,2.5.4 P0口*,地址/数据分时复用总线 通用I/O口,P0口的功能,图2-8 P0口每位的内部结构示意图,P0口有两种功能,P0口内部无上拉电阻,作为I/O口时,必须外接上拉电阻。,67,01:09,地址/数据总线状态,2.5.4 P0口,P0口作为地址/数据总线的工作原理(输出) P0口作为输入端口的工作原理(输入) P0口作为通用I/O口时的工作原理,图2-8 P0口每位的内部结构示意图,68,

31、01:09,当CPU向端口输出数据时,写脉冲加在锁存器的时钟端CL上。由于输出驱动级是漏极开路电路(因VT0截止),在作为I/O口使用时应外接10K的上拉电阻。 当CPU从端口读数据时,端口中两个三态门用于读操作。,P0口读/写数据,2.5.4 P0口,图2-8 P0口每位的内部结构示意图,69,01:09,P0口读-修改-写,当执行“读-修改-写”指令(即读端口信息,在片内加以运算修改后,再输出到该端口的某些指令如:ANL P0, A指令),即是读锁存器Q的数据。究竟是读引脚还是读锁存器,CPU内部会自行判断是发读引脚脉冲还是读锁存器脉冲,读者不必在意。,2.5.4 P0口,P0口的读-修改

32、-写操作,70,01:09,当作输入端口使用时,应先对该口写入“1”以使场效应管VT1截止,再进行读入操作,以防场效应管处于导通状态而使引脚箝位到零,引起误读。,读引脚时注意,2.5.4 P0口,P0口用作输入端时应注意,71,01:09,4个并行口使用注意事项,(1)如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的4个口均可作为I/O口使用; (2)4个口在作为输入口使用时,均应先对其写“1”,以避免误读; (3)P0口作为I/O口使用时应外接10K的上拉电阻,其它口则可不必; (4)P2口某几根口线作地址使用时,剩下的口线不能作为I/O口线使用; (5)P3口的某些口

33、线作第二功能时,剩下的口线可以单独作为I/O口线使用。,2.5.4 P0口,P0、P1、P2、P3并行端口使用注意事项,72,01:09,2.5.5 并行口的应用,并行接口是单片机用得最多的部分,可直接连接外部设备(需要注意电平的匹配)。现以最简单的外部设备开关和发光二极管为例说明并行口的应用设计。,73,01:09,I/O端口应用设计,例2-1 设计一电路,监视某开关(K),用发光二极管(LED)显示开关状态。如果K闭合,则LED亮;如果K断开,则LED熄灭。,分析:通过程序监视P1.1端口的状态。 若: P1.1=1, P1.0=0 若: P1.1=0, P1.0=1,2.5.5 并行口的

34、应用,74,01:09,汇编语言程序代码如下: CLR P1.0;使LED灭 AGA: SETB P1.1;先对P1.1口写入“1”, ;以便能正确读入P1.1口数据 JBP1.1, LIG;判断P1.1口状态(0或1), ;“1”为K断开,转LIG SETB P1.0;K闭合时,置位P1.0,LED亮 SJMP AGA;循环执行,方便反复调整开关 ;状态,观察执行结果 LIG: CLR P1.0;K断开时,P1.0清0,LED灭 SJMP AGA;循环执行,,2.5.5 并行口的应用,I/O端口应用设计,75,01:09,例2-2在图2-10所示电路中,P1.4P1.7接4个LED管,P1.

35、0P1.3接4个开关,编程序将开关的状态反映到LED上。,2.5.5 并行口的应用,I/O端口应用设计,76,01:09,ORG0000H MOVP1, #0FFH;高四位的LED全灭,低四位输入线送“1” ABC: MOVA, P1;读P1口引脚开关状态,并送入A SWAPA;低四位开关状态换到高四位 ANLA, #0F0H;保留高四位 MOVP1, A;从P1口输出,驱动四位LED ORLP1, #0FH;保持高四位不变,低四位送“1”, ;准备再读开关 SJMPABC;循环执行,方便反复调整开关状态, ;观察执行结果 上述程序中每次读取开关状态之前,输入位都先置“1”,保证了开关状态的正

36、确读入。,2.5.5 并行口的应用,I/O端口应用设计,汇编语言程序代码如下:,77,01:09,sfr P1=0 x90; main() P1=0 xff; /*P1低4位置“1”,高4位灯全灭*/ while(1) P1=P14;/*读入P1引脚状态,左移四位, 将低四位的开关状态移至高四位后 从P1口输出,以驱动LED*/ P1=P1|0 x0f;/*P1高4位不变,低4位置“1”, 准备下再读开关状态*/ ,2.5.5 并行口的应用,C语言程序代码如下:,I/O端口应用设计,78,01:09,2.5.5 并行口的应用,I/O端口应用设计,例2-3,用P1.0输出1kHz和500Hz的音

37、频信号驱动扬声器,作为报警信号,要求1kHz信号响100ms,500Hz信号响200ms,交替进行。P1.7接一开关进行控制,当开关合上(高电平)时发出报警信号,当开关断开(低电平)时报警信号停止。设单片机晶振频率为12MHz。编程实现上述功能。,79,01:09,500Hz信号周期为2ms,信号电平为每1ms改变1次。1kHz的信号周期为1ms,信号电平每500s改变1次。编写一个延时500s的子程序,延时1ms只需调用2次。用R2控制音响时间长短,A作为音响频率交换控制的标志。A=0FFH时产生500Hz信号,A=00H时产生1kHz信号。,2.5.5 并行口的应用,I/O端口应用设计,分

38、析:,80,01:09,汇编语言程序代码如下: ORG 0000H CLR A ;A作为1kHz,500Hz转换控制标志 BEG:JNB P1.7, ;检测P1.7的开关状态,等待开关闭合 MOV R2, #200 ;R2置音响控制时间初值 DV:CPL P1.0 ;改变P1.0状态 CJNE A, #0FFH, N1 ;A0FFH,延时500s ACALL D500 ;A=0FFH,延时1ms N1:ACALL D500 DJNZ R2, DV CPL A SJMP BEG D500:MOV R7, #250 ;延时500s子程序 DJNZ R7, ;l执行该指令用2s RET END,2.

39、5.5 并行口的应用,汇编程序实现,81,01:09,2.6 时钟电路及时序,单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控制器中的时序电路发出的。MCS-51系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。MCS-51的时钟产生方法有以下两种。,2.6.1 时钟电路,82,01:09,内部时钟方式,利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。,外接晶振时,Cl和C2的值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶

40、瓷谐振器的频率范围可在1.212MHz之间选择。,2.6.1 时钟电路,1. 内部时钟方式,83,01:09,外部时钟方式,此方式是利用外部振荡脉冲接入XTALl或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同,如表所示。单片机(HMOS型)外部时钟电路如图所示。,2.6.1 时钟电路,2. 外部时钟方式,84,01:09,2.6.2 时序,CPU执行指令的一系列动作都是在时序电路控制下进行的,由于指令的字节数不同,取这些指令所需要的时间就不同,既使是字节数相同的指令,由于执行操作有较大差别,不同的指令执行时间也不一定相同,即所需要的节拍数不同。为了便于对CPU时序进行分析,人们

41、按指令的执行过程规定了几种周期,即时钟周期、状态周期、机器周期和指令周期,也称为时序定时单位。,85,01:09,时钟周期,时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的倒数,它是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。为方便描述,振荡周期用P表示。,2.6.2 时序,1. 时钟周期,86,01:09,状态周期,时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S表示。这样,一个状态周期就有两个时钟周期,前半状态周期相应的时钟周期定义为P1,后半状态周期相应的时钟周期定义为P2。,2.6.2

42、 时序,2. 状态周期,87,01:09,机器周期,完成一个基本操作所需要的时间称为机器周期。MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1S6,而一个状态包含两个时钟周期,那么一个机器周期就有12个时钟周期,可以表示为S1P1, S1P2, , S6P1, S6P2。 一个机器周期共包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频。 显然,如果使用6MHz的时钟频率,一个机器周期就是2s,而如果使用12MHz的时钟频率,一个机器周期就是1s。,2.6.2 时序,3. 机器周期,88,01:09,指令周期,指令周期是执行一条指令所需要的时间,一般由若干个机器周期组

43、成,指令不同,所需要的机器周期数也不同。,2.6.2 时序,4. 指令周期,单周期指令 双周期指令 4周期指令,89,01:09,5. MCS-51指令的取指/执行时序,ALE信号是用于锁存地址的选通信号,由时钟频率6分频得到的,多数指令在整个指令执行过程中ALE信号是周期信号。通常,在每个机器周期内ALE信号出现两次,时刻为S1P2和S4P2,信号的有效宽度为一个S状态。每出现一次ALE信号,CPU进行一次读指令操作,但并不是每条指令在ALE信号生效时都能有效地读取指令。如果是单周期指令,则在S4P2期间仍有操作,但读出的字节被丢弃,且读后的PC值不加1。如果是双周期指令,则在S4P2期间读

44、二字节,在S6P2时结束指令。,2.6.2 时序,90,01:09,2.6.2 时序,51单片机时序图,91,01:09,2.7 单片机的工作方式,复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。,2.7.1 复位方式,复位的作用,92,01:09,复位电路,2.7.1 复位方式*,(1)上电复位 上电复位利用电容器的充电实现。在时钟电路工作后,在RST端连续给出2个机器周期的高电平就可完成复位操作。,1. 复位电路,单片机的外部复位电路有上电自动复位和按键手动复位两种。,93,01:09,上电

45、加按键复位,当复位按键按下后,复位端通过51的小电阻与+5V电源接通,迅速放电,使RST引脚为高电平;,当复位按键弹起后,+5V电源通过2K电阻对22F电容重新充电,RST引脚端出现复位正脉冲。其持续时间取决于RC电路的时间常数。,2.7.1 复位方式,(2)上电加按键复位,94,01:09,复位状态,复位后MCS-51片内各特殊功能寄存器的状态如表所示,表中“x”为不定数。,2.7.1 复位方式,2. 复位状态,95,01:09,2.7.2 程序执行方式,MCS-51单片机的基本工作方式是程序执行方式,它分为连续执行工作方式和单步执行工作方式。,单片机在复位后,其PC值为0000H。一般在0

46、000H地址放一条无条件转移指令(LJMP),以便跳转到用户程序的入口地址处连续执行用户程序。,1. 连续执行工作方式,连续执行方式,96,01:09,单步执行方式,单步执行工作方式是用户调试程序的一种工作方式,一次执行一条指令。单步执行工作方式是利用单片机的外部中断功能实现的。在单片机开发系统上有单步执行键,该键相当于单片机的外部中断源。当它被按下时产生一个负脉冲,即中断请求信号INT0或INT1。MCS-51单片机在外部中断信号的作用下,自动执行预先安排在中断服务程序中的单步执行指令,执行完后中断返回。,2.7.2 程序执行方式,2. 单步执行工作方式,97,01:09,2.7.3 低功耗运行方式,MCS-51单片机除具有一般的程序执行方式外,还具有两种低功耗运行方式: 待机(或称为空闲)方式 掉电(或称为停机)方式 备用电源直接由VCC端输入。第1种方式可使功耗减小,电流一般为1.75mA;第2种方式可使功耗减到最小,电流一般为550A。,待机与掉电,98,01:09,电源控制寄存器PCON,待机方式和掉电方式由专用寄存器PCON(电源控制寄存器)中的有关位

温馨提示

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

评论

0/150

提交评论