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

下载本文档

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

文档简介

单片机原理与接口技术太原理工大学电子工业出版社第2章MCS-51单片机

硬件结构和原理制作张兴忠修审牛昱光12/25/20221精选2021版课件熟悉MCS-51单片机CPU内部组成结构、各功能部件的作用;掌握MCS-51单片机引脚功能;掌握存储器的组织结构;掌握P0~P3并行I/O口结构;掌握时钟电路、CPU时序和复位电路。本章教学要求

12/25/20222精选2021版课件本章目录2.1MCS-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数据存储器12/25/20223精选2021版课件本章目录2.7单片机的工作方式

2.7.1复位方式

2.7.2程序执行方式

2.7.3低功耗运行方式习题与思考题2.5并行输入/输出端口

2.5.1P1口

2.5.2P2口

2.5.3P3口

2.5.4P0口

2.5.5并行口的应用2.6时钟电路和时序

2.6.1时钟电路

2.6.2时序12/25/20224精选2021版课件2.1MCS-51系列单片机的分类

自从Intel公司于20世纪80年代初推出MCS-51系列单片机以后,所有的51系列单片机都是以Intel公司最早的典型产品8051为核心,增加一定的功能部件后构成的。本章以8051为主阐述MCS-51系列单片机的系统结构、工作原理和应用中的一些技术问题。MCS-51系列可分为两大系列:51子系列和52子系列。51子系列主要有8031、8051和8751三种机型。52子系列主要有8032、8052和8752三种机型。12/25/20225精选2021版课件表2-1MCS-51系列单片机的性能一览表

2.1MCS-51系列单片机的分类

12/25/20226精选2021版课件2.2单片机硬件结构

芯片引脚按功能分成3类,即:2.2.1单片机的引脚功能51单片机的引脚功能数据总线地址总线控制总线12/25/20227精选2021版课件1.主电源引脚Vcc和VssVcc(+5V)电源输入端Vss(GND)共用接地端2.2.1单片机的引脚功能51单片机电源引脚12/25/20228精选2021版课件2.时钟振荡电路引脚XTAL1和XTAL2

XTAL1和XTAL2分别用做晶体振荡电路的反相器输入端和输出端。在使用内部振荡电路时,这两个端子用来外接石英晶体,振荡频率为晶体振荡频率,振荡信号送至内部时钟电路产生时钟脉冲信号。2.2.1单片机的引脚功能51单片机时钟引脚12/25/20229精选2021版课件3.控制信号引脚RST为复位信号输入端VPD为内部RAM的备用电源输入端PSEN外部程序存储器的读选通信号ALE地址锁存允许信号2.2.1单片机的引脚功能复位/外部存储器/地址锁存引脚12/25/202210精选2021版课件复位信号输入端RST当RST(RESET)端保持两个机器周期(24个时钟周期)以上的高电平时,单片机完成复位操作。VPD为内部RAM的备用电源输入端。当主电源Vcc一旦发生断电或电压降到一定值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使Vcc上电后能继续正常运行。2.2.1单片机的引脚功能复位引脚12/25/202211精选2021版课件外部程序存储器的读选通信号。当访问外部ROM时,产生负脉冲作为外部ROM的选通信号。2.2.1单片机的引脚功能ALE与PSEN引脚

地址锁存允许信号ALE在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。PROG是对8751内部EPROM编程时的编程脉冲输入端。

读选通信号PSEN12/25/202212精选2021版课件外部程序存储器控制信号EAEA=0:访问外部程序存储器。EA=1:访问片内与片外程序存储器。VPP为8751EPROM的21V编程电源输入端。2.2.1单片机的引脚功能内外程序存储器控制引脚12/25/202213精选2021版课件P0端口P0端口(P0.0~P0.7)第一功能:是一个8位漏极开路型的双向I/O口,这时P0口可看成用户数据总线;第二功能:是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。4.P0、P1、P2、P3端口2.2.1单片机的引脚功能12/25/202214精选2021版课件P1口(P1.0~P1.7)内部带上拉电阻的8位准双向I/O口。P2口(P2.0~P2.7)第一功能:一个内部带上拉电阻的8位准双向I/O口。第二功能:在访问外部存储器时,输出高8位地址。P3口(P3.0~P3.7)第一功能:内部带上拉电阻的8位准双向I/O口。在系统中,这8个引脚都有各自的第二功能。2.2.1单片机的引脚功能P1、P2和P3端口12/25/202215精选2021版课件2.2.2单片机的内部结构一个8位CPU;4KB程序存储器,采用ROM或EPROM(8031无ROM);128B通用数据存储器;21个特殊功能寄存器(SFR);4个8位并行口,其中P0、P2、P3是复用口(P0和P2为地址/数据线,可寻址64KBROM和64KBRAM);一个可编程全双工串行口;具有5个中断源,两个优先级嵌套结构;两个16位定时/计数器;一个片内振荡器与时钟电路。51单片机内部主要器件12/25/202216精选2021版课件2.2.2单片机的内部结构51单片机内部主要部件12/25/202217精选2021版课件2.3中央处理器(CPU)

单片机的核心部分是CPU,由运算器、控制器和布尔(位)处理器组成。12/25/202218精选2021版课件2.3.1运算器

运算器——算术逻辑单元(ALU)包括:累加器(ACC)程序状态字(PSW)暂存器B寄存器等部件运算器的组成12/25/202219精选2021版课件1.累加器累加器是一个8位寄存器。在指令系统中,累加器在直接寻址时的助记符为ACC。除此之外全部用助记符A表示。2.3.1运算器

累加器12/25/202220精选2021版课件算术/逻辑部件算术/逻辑部件ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。在控制信号的作用下,完成算术加、减、乘、除和逻辑与、或、异或等运算,以及循环移位操作、位操作等功能。2.3.1运算器2.算术/逻辑部件12/25/202221精选2021版课件程序状态字寄存器程序状态字寄存器PSW是一个8位寄存器,用来存放运算结果的一些特征。进位标志位半进位标志位用户自定义标志位工作寄存器组选择位溢出标志位奇偶校验标志位2.3.1运算器3.程序状态字寄存器

12/25/202222精选2021版课件RS1、RS0与片内工作寄存器组的对应关系

2.3.1运算器片内四组工作寄存器的选择12/25/202223精选2021版课件4.B寄存器在进行乘法、除法运算时,B寄存器作为ALU的输入之一,与ACC配合完成运算,并存放运算结果。在无乘除运算时,它可作为内部RAM的一个单元。2.3.1运算器寄存器12/25/202224精选2021版课件2.3.2控制器定时控制逻辑指令寄存器数据指针(DPTR)程序计数器(PC)堆栈指针(SP)地址寄存器地址缓冲器控制器的组成控制器是CPU的大脑中枢,它包括:12/25/202225精选2021版课件1.程序计数器程序计数器(ProgramCounter,PC)用来存放下一条要执行的指令的地址。当按照PC所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。2.3.2控制器程序计数器12/25/202226精选2021版课件2.堆栈指针堆栈指针(StackPointer,SP)是指在片内RAM的l28B(52子系列为256B)空间中开辟的堆栈区的栈顶地址,并随时跟踪栈顶地址变化。堆栈是按先进后出的原则存取数据的,开机复位后,单片机栈底地址为07H。2.3.2控制器堆栈指针12/25/202227精选2021版课件3.指令寄存器和指令译码器指令寄存器和指令译码器(InstructionRegister,IR)的功能是对将要执行的指令进行存储和译码。当指令送入指令寄存器后,对该指令进行译码,即把指令转变成所需的电平信号,CPU根据译码输出的电平信号,使定时控制电路产生执行该指令所需的各种控制信号,以便计算机能正确地执行指令所要求的操作。2.3.2控制器指令寄存与译码12/25/202228精选2021版课件4.数据指针由于8051系列单片机可以外接64KB的数据存储器和I/O接口电路,故在单片机内设置了l6位的数据指针寄存器(DataPointer,DPTR)。它可以对64KB的外部数据存储器和I/O进行寻址,DPTR可分为高8位数据指针寄存器(DPH)和低8位数据指针寄存器(DPL),地址分别为83H和82H。2.3.2控制器数据指针12/25/202229精选2021版课件5.布尔(位)处理器在8051单片机系统中,与字节处理器相对应,还特别设置布尔(位)处理器。Cy:进位标志位位寻址寄存器位寻址的并行I/O口位操作指令系统2.3.2控制器位处理器12/25/202230精选2021版课件2.4存储器8051在物理结构上有4个存储空间:片内程序存储器片外程序存储器(ROM)片内数据存储器片外数据存储器(RAM)从用户使用的角度上,MSC-51有3个存储空间:片内外统一编址的64KB程序存储器空间(用16位地址)256B片内数据存储器空间(用8位地址)64KB片外数据存储器地址空间51单片机存储器布局12/25/202231精选2021版课件存储器结构2.4存储器12/25/202232精选2021版课件2.4.1程序存储器程序存储器用于存放编好的程序或表格常数。51子系列片内有4KBROM,52子系列片内有8KBROM,二者片外地址线均为16位,最多可扩展64KBROM,片内片外统一编址。若EA端保持低电平,则所有取指令操作均在片外程序存储器中进行,0000H地址在片外。若EA端保持高电平,0000H地址在片内,所有取指令操作均在片内程序存储器中进行。程序存储器的用途12/25/202233精选2021版课件程序存储器 在程序存储器的开始部分,定义了一段具有特殊功能的地址段,用作程序起始和各种中断的入口。2.4.1程序存储器程序入口地址12/25/202234精选2021版课件2.4.2数据存储器 数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 MCS-51系列单片机的片内数据存储器除RAM块外,还有特殊功能寄存器(SFR)块。 片内数据存储器的容量很小,常需要扩展片外数据存储器。MCS-51系列单片机有一个数据指针寄存器,可用于寻址程序存储器或数据存储器单元,它有16位,寻址范围可达64KB。 数据存储器分为片外数据存储器、片内数据存储器、特殊功能存储器,以下分别加以介绍。数据存储器的用途12/25/202235精选2021版课件2.4.2数据存储器片内通用数据存储器有:工作寄存器区位寻址区数据缓冲区片内数据存储器3个区域1.片内通用数据存储器12/25/202236精选2021版课件片内数据存储器2.4.2数据存储器工作寄存器区位寻址区数据缓冲器区12/25/202237精选2021版课件(1)工作寄存器区

工作寄存器也称为通用寄存器,供用户编程时使用,用于临时存储8位数据信息。 工作寄存器地址为00H~1FH的32个单元,并分成4个工作寄存器组,每个组有8个工作寄存器,名称为R0~R7。工作寄存器和RAM地址的对应关系如表所示。2.4.2数据存储器工作寄存器区 每个工作寄存器组都可被选为CPU的当前工作寄存器,通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来实现。12/25/202238精选2021版课件(2)位寻址区内部RAM中地址为20H~2FH的16个单元,CPU不仅具有字节寻址功能,而且还具有位寻址功能。这16个单元共1282.4.2数据存储器位寻址区位,每一位都赋予1个位地址,位地址范围是00H~7FH。12/25/202239精选2021版课件(3)数据缓冲区30H~7FH是数据缓冲区,即用户RAM区,共80个单元。52子系列片内RAM有256个单元,工作寄存器区和位寻址区的单元数与地址都和51子系列的一致,而数据缓冲区有208个单元,地址范围是30H~FFH。2.4.2数据存储器数据缓冲区12/25/202240精选2021版课件(4)堆栈与堆栈指针堆栈是一种执行“后进先出”算法的数据结构。是在内存中的一个存储区域,数据一个一个顺序地存入(也就是“压入—push”)这个区域之中。有一个地址指针(堆栈指针)总指向最后一个压入堆栈的数据所在的存储单元,存放这个地址指针的寄存器就叫做堆栈指示器。开始放入数据的单元叫做“栈底”。数据一个一个地存入,这个过程叫做“压栈”。读取这些数据时,按照堆栈指示器中的地址读取数据,堆栈指示器中的地址数自动减1。这个过程叫做“弹出pop”。如此就实现了后进先出的原则。2.4.2数据存储器堆栈指针12/25/202241精选2021版课件2.特殊功能寄存器概念

特殊功能寄存器(SpecialFunctionRegister,SFR)也称为专用寄存器,用于控制、管理单片机内部算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。使用系统初始化时针对使用的功能部件编程设定。2.4.2数据存储器特殊功能寄存器12/25/202242精选2021版课件表2-6特殊功能寄存器地址对照表2.4.2数据存储器特殊功能寄存器12/25/202243精选2021版课件PSW与ACC(1)程序状态字寄存器(PSW) PSW是8位寄存器,存放程序运行状态的标志,字节地址为D0H。可以进行位寻址。(2)累加器(ACC) ACC是8位寄存器,用于算术或逻辑操作的输入和运算结果的输出。在指令系统中累加器的助记符为A,作为直接地址时助记符为ACC。2.4.2数据存储器PSW与ACC12/25/202244精选2021版课件(3)数据指针寄存器(DPTR)16位的专用地址指针寄存器。可对外部存储器和I/O口进行寻址,也可拆成高字节DPH和低字节DPL两个独立的8位寄存器,在CPU内分别占据83H和82H两个地址。当对64KB外部数据存储器寻址时,DPTR可作为间接寻址寄存器使用:从外部数据存储器取数MOVXA,@DPTR送数到外部数据存储器MOVX@DPTR,A2.4.2数据存储器DPTR12/25/202245精选2021版课件(4)B寄存器X*YX/Y 在乘、除法运算中用B寄存器暂存数据。乘法指令的两个操作数分别取自A和B,结果再存于B和A中,即A存低字节,B存高字节。除法指令中被除数取自A,除数取自B,结果商存于A中,余数存放在B中。在其他指令中,B寄存器可作为RAM中的一个单元使用。B寄存器的地址为B0H。2.4.2数据存储器B寄存器12/25/202246精选2021版课件(5)堆栈指针(SP)堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。2.4.2数据存储器堆栈指针(SP)与P0~P3锁存器(6)端口P0~P3特殊功能寄存器P0~P3分别是I/O端口P0~P3的锁存器。12/25/202247精选2021版课件(7)定时器/计数器TL0、TH0、TL1、TH1MSC-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TH0、TL0、TH1和TL1)组成。

两个16位定时器/计数器是完全独立的,可以单独对这4个寄存器寻址。2.4.2数据存储器定时器/计数器12/25/202248精选2021版课件(8)串行数据缓冲器(SBUF)功能:存放需要发送和接收的数据。组成:由两个独立的寄存器构成,一个是发送缓冲器,一个是接收缓冲器,但寄存器名称统一为SUBF。使用:发送指令MOVSUBF,A;使用发送缓冲器。

接收指令MOVA,SUBF;使用接收缓冲器。2.4.2数据存储器串行数据缓冲器12/25/202249精选2021版课件(9)控制寄存器控制寄存器有5种。中断优先级控制寄存器(IP)中断允许控制寄存器(IE)定时器/计数器控制寄存器(TCON)串行口控制寄存器(SCON)电源控制寄存器(PCON)它们将在后续章节中详细介绍。2.4.2数据存储器控制寄存器12/25/202250精选2021版课件可位寻址的位地址分布MCS-51可直接位寻址的空间有216位。其中内部RAM的20H~2FH这16个单元具有128个位地址空间,位地址为00H~7FH;另一部分位地址在特殊功能寄存器中,这些特殊功能寄存器是一些能被8整除的字节单元,地址在80H~FFH区间,只用了11个字节,它们都可进行位寻址,共计88位。如表2-8所示。2.4.2数据存储器可位寻址的位地址分布12/25/202251精选2021版课件可位寻址的位地址分布2.4.2数据存储器可位寻址的位地址分布12/25/202252精选2021版课件位操作与字节操作 尽管位地址和字节地址有重叠,读/写位寻址空间时也采用MOV指令形式,但所有的位操作指令都是以位地址为一个操作数,以进位位(Cy)为另一个操作数。例如,读位地址90H,用指令:MOVC,90H或MOVC,P1.0 写位地址90H,用指令:MOV90H,C或MOVP1.0,C2.4.2数据存储器位操作与字节操作12/25/202253精选2021版课件2.5并行输入/输出(I/O)端口接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态)和发布命令等。I/O接口有:并行接口、串行接口、定时/计数器、A/D、D/A等。根据外设的不同情况和要求选择不同的接口。本节介绍MCS-51单片机的并行输入/输出接口。12/25/202254精选2021版课件并行输入/输出接口 MCS-51单片机有P0、P1、P2、P3四个8位双向并行I/O口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,4个并行口共有32根端口线,用做位控制十分方便。并行I/O口具有如下特点。2.5并行输入/输出(I/O)端口12/25/202255精选2021版课件并行I/O口特点(1)4个并行I/O口都是双向的。P0口为漏极开路驱动;P1、P2、P3口均具有内部上拉电阻驱动,它们有时称为准双向口。(2)32根端口线都可用做输入或输出,还可进行位操作。(3)当并行I/O口作为输入时,该口的锁存器必须先写入“1”,这是一个重要条件。否则,该口不能读入正确数据。2.5并行输入/输出(I/O)端口12/25/202256精选2021版课件2.5.1P1口MCS-51单片机的Pl口只有一种功能,即通用输入/输出接口。P1口每位的内部结构如图2-5所示。图2-5P1口每位的内部结构示意图12/25/202257精选2021版课件1.输出方式当CPU执行写P1口的指令(如MOVPl,#data)时,P1口工作于输出方式,此时数据data经内部总线送入锁存器锁存。如果某位的数据为1,则该位锁存器输出端Q=1,而使T截止,从而在引脚P1.x上出现高电平,即输出数据“1”。反之,如果数据为0,则Q=0,而使T导通,P1.x上出现低电平,即输出数据“0”。2.5.1P1口P1口工作原理12/25/202258精选2021版课件2.输入方式 当CPU执行读P1口的指令(如MOVA,P1)时,P1口工作于输入方式。2.5.1P1口P1口工作原理12/25/202259精选2021版课件2.5.2P2口P2口有两种用途:通用I/O口或高8位地址总线。P2口内部结构图2-6P2口每位的内部结构示意图通用I/O与地址线的选择可根据指令由控制信号完成。12/25/202260精选2021版课件MOVXA,@Ri或MOVX@Ri,A此时,Ri寄存器提供的是8位地址,由P0口送出,不需要P2口,P2口引脚原有的数据在访问片外RAM期间不受影响,故P2口仍可用做通用I/O口。当片外RAM容量较大需要由P2口和P0口送出16位地址时,P2口不再用做通用I/O口。P2口用作地址线/通用I/O口2.5.2P2口P2口用作地址线当P2口作为准双向通用I/O口使用时,其功能与P1口相同,工作方式、负载能力也相同。P2口用作通用I/O口12/25/202261精选2021版课件2.5.3P3口P3口是双功能口,默认为第一功能(通用I/O),通过编程可设定为第二功能。通用I/O口状态图2-7P3口每位的内部结构示意图1.通用I/O口状态P3口用做准双向通用I/O口时,其功能与P1口相同。12/25/202262精选2021版课件2.第二功能状态2.5.3P3口第二功能状态P3口作为第二功能操作时,其锁存器Q端必须为高电平(可用输出指令向端口写1,以使Q=1。单片机复位时,锁存器输出端为高电平),否则无法输入或输出第二功能信号。P3口第二功能中的输入信号经三态门2输入,可直接进入内部总线。P3口第二功能定义如表2-8所示。12/25/202263精选2021版课件2.5.3P3口第二功能状态表2-8P3口第二功能12/25/202264精选2021版课件P3口使用P3口的每一位都可独立地定义为第一功能I/O或第二功能使用。P3的第二功能涉及到串行口、外部中断、定时器,与特殊功能寄存器有关,它们的结构、功能等在后面章节中再作进一步介绍。2.5.3P3口P3口使用P3口的地址为B0H,对应P3.0~P3.7的位地址为B0H~B7H。12/25/202265精选2021版课件2.5.4P0口地址/数据分时复用总线通用I/O口P0口的功能图2-8P0口每位的内部结构示意图P0口有两种功能P0口内部无上拉电阻,作为I/O口时,必须外接上拉电阻。12/25/202266精选2021版课件地址/数据总线状态2.5.4P0口P0口作为地址/数据总线的工作原理(输出)P0口作为输入端口的工作原理(输入)P0口作为通用I/O口时的工作原理图2-8P0口每位的内部结构示意图12/25/202267精选2021版课件当CPU向端口输出数据时,写脉冲加在锁存器的时钟端CL上。由于输出驱动级是漏极开路电路(因VT0截止),在作为I/O口使用时应外接10K的上拉电阻。当CPU从端口读数据时,端口中两个三态门用于读操作。P0口读/写数据2.5.4P0口图2-8P0口每位的内部结构示意图12/25/202268精选2021版课件P0口读-修改-写当执行“读-修改-写”指令(即读端口信息,在片内加以运算修改后,再输出到该端口的某些指令如:ANLP0,A指令),即是读锁存器Q的数据。究竟是读引脚还是读锁存器,CPU内部会自行判断是发读引脚脉冲还是读锁存器脉冲,读者不必在意。2.5.4P0口P0口的读-修改-写操作12/25/202269精选2021版课件当作输入端口使用时,应先对该口写入“1”以使场效应管VT1截止,再进行读入操作,以防场效应管处于导通状态而使引脚箝位到零,引起误读。读引脚时注意2.5.4P0口P0口用作输入端时应注意12/25/202270精选2021版课件4个并行口使用注意事项(1)如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的4个口均可作为I/O口使用;(2)4个口在作为输入口使用时,均应先对其写“1”,以避免误读;(3)P0口作为I/O口使用时应外接10K的上拉电阻,其它口则可不必;(4)P2口某几根口线作地址使用时,剩下的口线不能作为I/O口线使用;(5)P3口的某些口线作第二功能时,剩下的口线可以单独作为I/O口线使用。2.5.4P0口P0、P1、P2、P3并行端口使用注意事项12/25/202271精选2021版课件2.5.5并行口的应用

并行接口是单片机用得最多的部分,可直接连接外部设备(需要注意电平的匹配)。现以最简单的外部设备——开关和发光二极管为例说明并行口的应用设计。12/25/202272精选2021版课件I/O端口应用设计例2-1设计一电路,监视某开关(K),用发光二极管(LED)显示开关状态。如果K闭合,则LED亮;如果K断开,则LED熄灭。分析:通过程序监视P1.1端口的状态。若:P1.1=1,P1.0=0若:P1.1=0,P1.0=12.5.5并行口的应用12/25/202273精选2021版课件汇编语言程序代码如下:CLRP1.0 ;使LED灭AGA:SETBP1.1 ;先对P1.1口写入“1”, ;以便能正确读入P1.1口数据JB P1.1,LIG ;判断P1.1口状态(0或1), ;“1”为K断开,转LIGSETBP1.0 ;K闭合时,置位P1.0,LED亮SJMPAGA ;循环执行,方便反复调整开关 ;状态,观察执行结果LIG:CLRP1.0 ;K断开时,P1.0清0,LED灭SJMPAGA ;循环执行,2.5.5并行口的应用I/O端口应用设计12/25/202274精选2021版课件例2-2

在图2-10所示电路中,P1.4~P1.7接4个LED管,P1.0~P1.3接4个开关,编程序将开关的状态反映到LED上。2.5.5并行口的应用I/O端口应用设计12/25/202275精选2021版课件ORG 0000HMOV P1,#0FFH ;高四位的LED全灭,低四位输入线送“1”ABC:MOV A,P1 ;读P1口引脚开关状态,并送入ASWAP A ;低四位开关状态换到高四位ANL A,#0F0H ;保留高四位MOV P1,A ;从P1口输出,驱动四位LEDORL P1,#0FH ;保持高四位不变,低四位送“1”, ;准备再读开关SJMP ABC ;循环执行,方便反复调整开关状态, ;观察执行结果上述程序中每次读取开关状态之前,输入位都先置“1”,保证了开关状态的正确读入。2.5.5并行口的应用I/O端口应用设计汇编语言程序代码如下:12/25/202276精选2021版课件sfrP1=0x90;main(){ P1=0xff; /*P1低4位置“1”,高4位灯全灭*/ while(1) {P1=P1<<4; /*读入P1引脚状态,左移四位,将低四位的开关状态移至高四位后从P1口输出,以驱动LED*/ P1=P1|0x0f; /*P1高4位不变,低4位置“1”,准备下再读开关状态*/ }}2.5.5并行口的应用C语言程序代码如下:I/O端口应用设计12/25/202277精选2021版课件2.5.5并行口的应用I/O端口应用设计例2-3用P1.0输出1kHz和500Hz的音频信号驱动扬声器,作为报警信号,要求1kHz信号响100ms,500Hz信号响200ms,交替进行。P1.7接一开关进行控制,当开关合上(高电平)时发出报警信号,当开关断开(低电平)时报警信号停止。设单片机晶振频率为12MHz。编程实现上述功能。12/25/202278精选2021版课件500Hz信号周期为2ms,信号电平为每1ms改变1次。1kHz的信号周期为1ms,信号电平每500μs改变1次。编写一个延时500μs的子程序,延时1ms只需调用2次。用R2控制音响时间长短,A作为音响频率交换控制的标志。A=0FFH时产生500Hz信号,A=00H时产生1kHz信号。2.5.5并行口的应用I/O端口应用设计分析:12/25/202279精选2021版课件汇编语言程序代码如下: ORG 0000H CLR A ;A作为1kHz,500Hz转换控制标志BEG: JNBP1.7,$;检测P1.7的开关状态,等待开关闭合 MOV R2,#200;R2置音响控制时间初值DV: CPLP1.0 ;改变P1.0状态 CJNE A,#0FFH,N1;A≠0FFH,延时500μs ACALLD500 ;A=0FFH,延时1msN1: ACALLD500 DJNZ R2,DV CPL A SJMP BEGD500: MOV R7,#250;延时500μs子程序 DJNZ R7,$;l执行该指令用2μs RET END2.5.5并行口的应用汇编程序实现12/25/202280精选2021版课件2.6时钟电路及时序单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控制器中的时序电路发出的。MCS-51系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。MCS-51的时钟产生方法有以下两种。2.6.1时钟电路12/25/202281精选2021版课件内部时钟方式利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,Cl和C2的值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2~12MHz之间选择。2.6.1时钟电路1.内部时钟方式12/25/202282精选2021版课件外部时钟方式此方式是利用外部振荡脉冲接入XTALl或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同,如表所示。单片机(HMOS型)外部时钟电路如图所示。2.6.1时钟电路2.外部时钟方式12/25/202283精选2021版课件2.6.2时序CPU执行指令的一系列动作都是在时序电路控制下进行的,由于指令的字节数不同,取这些指令所需要的时间就不同,既使是字节数相同的指令,由于执行操作有较大差别,不同的指令执行时间也不一定相同,即所需要的节拍数不同。为了便于对CPU时序进行分析,人们按指令的执行过程规定了几种周期,即时钟周期、状态周期、机器周期和指令周期,也称为时序定时单位。12/25/202284精选2021版课件时钟周期时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的倒数,它是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。为方便描述,振荡周期用P表示。2.6.2时序1.时钟周期12/25/202285精选2021版课件状态周期时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S表示。这样,一个状态周期就有两个时钟周期,前半状态周期相应的时钟周期定义为P1,后半状态周期相应的时钟周期定义为P2。2.6.2时序2.状态周期12/25/202286精选2021版课件机器周期完成一个基本操作所需要的时间称为机器周期。MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1~S6,而一个状态包含两个时钟周期,那么一个机器周期就有12个时钟周期,可以表示为S1P1,S1P2,…,S6P1,S6P2。一个机器周期共包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频。显然,如果使用6MHz的时钟频率,一个机器周期就是2μs,而如果使用12MHz的时钟频率,一个机器周期就是1μs。2.6.2时序3.机器周期12/25/202287精选2021版课件指令周期指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要的机器周期数也不同。2.6.2时序4.指令周期单周期指令双周期指令4周期指令12/25/202288精选2021版课件5.MCS-51指令的取指/执行时序ALE信号是用于锁存地址的选通信号,由时钟频率6分频得到的,多数指令在整个指令执行过程中ALE信号是周期信号。通常,在每个机器周期内ALE信号出现两次,时刻为S1P2和S4P2,信号的有效宽度为一个S状态。每出现一次ALE信号,CPU进行一次读指令操作,但并不是每条指令在ALE信号生效时都能有效地读取指令。如果是单周期指令,则在S4P2期间仍有操作,但读出的字节被丢弃,且读后的PC值不加1。如果是双周期指令,则在S4P2期间读二字节,在S6P2时结束指令。2.6.2时序12/25/202289精选2021版课件2.6.2时序51单片机时序图12/25/202290精选2021版课件2.7单片机的工作方式复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。2.7.1复位方式复位的作用12/25/202291精选2021版课件复位电路2.7.1复位方式(1)上电复位上电复位利用电容器的充电实现。在时钟电路工作后,在RST端连续给出2个机器周期的高电平就可完成复位操作。1.复位电路单片机的外部复位电路有上电自动复位和按键手动复位两种。12/25/202292精选2021版课件上电加按键复位 当复位按键按下后,复位端通过51Ω的小电阻与+5V电源接通,迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V电源通过2K电阻对22μF电容重新充电,RST引脚端出现复位正脉冲。其持续时间取决于RC电路的时间常数。2.7.1复位方式(2)上电加按键复位12/25/202293精选2021版课件复位状态复位后MCS-51片内各特殊功能寄存器的状态如表所示,表中“x”为不定数。2.7.1复位方式2.复位状态12/25/202294精选2021版课件2.7.2程序执行方式MCS-51单片机的基本工作方式是程序执行方式,它分为连续执行工作方式和单步执行工作方式。单片机在复位后,其PC值为0000H。一般在0000H地址放一条无条件转移指令(LJMP),以便跳转到用户程序的入口地址处连续执行用户程序。1.连续执行工作方式连续执行方式12/25/202295精选2021版课件单步执行方式单步执行工作方式是用户调试程序的一种工作方式,一次执行一条指令。单步执行工作方式是利用单片机的外部中断功能实现的。在单片机开发系统上有单步执行键,该键相当于单片机的外部中断源。当它被按下时产生一个负脉冲,即中断请求信号INT0或INT1。MCS-51单片机在外部中断信号的作用下,自动执行预先安排在中断服务程序中的单步执行指令,执行完后中断返回。2.7.2程序执行方式2.单步执行工作方式12/25/202296精选2021版课件2.7.3低功耗运行方式MCS-51单片机除具有一般的程序执行方式外,还具有两种低功耗运行方式: 待机(或称为空闲)方式 掉电(或称为停机)方式备用电源直接由VCC端输入。第1种方式可使功耗减小,电流

温馨提示

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

评论

0/150

提交评论