《单片机原理及应用(2)优秀课件.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用(2)优秀课件.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理及应用第1页,本讲稿共34页2.1MCS51系列单片机的结构原理2.1.1MCS-51单片机逻辑结构MCS-51单片机的系统结构框图如图2.1所示。图2.1 MCS-51单片机的系统结构框图第2页,本讲稿共34页由图2.1可以看出,单片机内部主要包含下列几个部件:u一个8位CPU;u一个时钟电路;u4Kbyte程序存储器;u128byte数据存储器;u两个16位定时/计数器;u64Kbyte扩展总线控制电路;u四个8-bit并行I/O端口;u一个可编程串行接口;五个中断源,其中包括两个优先级嵌套中断第3页,本讲稿共34页2.1.2 MCS51单片机内部结构单片机内部结构MCS51单片
2、机芯片内部结构框图如图2.2所示。图2.2 MCS51单片机芯片内部结构框图第4页,本讲稿共34页1.CPU CPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作,CPU由运算器和控制器两部分电路组成。(1)运算器电路 运算器电路包括ALU(算术逻辑单元)、ACC(累加器)、B寄存器、状态寄存器、暂存器1和暂存器2等部件,运算器的功能是进行算术运算和逻辑运算。(2)控制器电路 控制器电路包括程序计数器PC、PC加1寄存器、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以及定时与控制电路等。控制电路完成指挥控制工作,协调单片机各部分正常工作。第5页,本讲稿共34
3、页2.定时器/计数器MCS51单片机片内有两个16位的定时/计数器,即定时器0和定时器1。它们可以用于定时控制、延时以及对外部事件的计数和检测等。3.存储器MCS51系列单片机的存储器包括数据存储器和程序存储器,其主要特点是程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。4.并行I/O口MCS51单片机共有4个8位的I/O口(P0、P1、P2和P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个TTL门电路,P1、P2和P3口为准双向口,负载能力为4个TTL门电路。第6页,本讲稿共34页5.串行I/O口MCS51单片机具有一个采用通用异步工作方式的全双工
4、串行通信接口,可以同时发送和接收数据。6.中断控制系统8051共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。7.时钟电路MCS51芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz12MHz,典型取值为6MHz。8.总线 以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。第7页,本讲稿共34页2.1.3 引脚信号 图2.3为MCS51系列单片机引脚图及逻辑符号,它们为标准的40脚DIP封装
5、。图2.3 MCS51系列单片机引脚图及逻辑符号第8页,本讲稿共34页 电源引脚Vcc和Vss Vcc:电源端,接5V。Vss:接地端。时钟电路引脚XTAL1和XTAL2 XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。地址锁存允许ALE 系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。第9页,本讲稿共34页 外部程序存储器读选通信号是读外部程序存储器的选通信
6、号,低电平有效。程序存储器地址允许输入端/VPP 当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当为低电平时,CPU只执行片外程序存储器指令。复位信号RST 该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。第10页,本讲稿共34页1.输入/输出口引脚P0、P1、P2和P3P0口(P0.0P0.7):该端口为漏极开路的8位准双向口,负载能力位8高LSTTL负载,它为8位地址线和8位数据线的复用端口。P1口(P1.0P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。
7、P2口(P2.0P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(P3.0P3.7):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。第11页,本讲稿共34页2.2 MCS51单片机的存储器单片机的存储器MCS51的存储器结构如图2.4所示。在本节中我们将对单片机的内部数据存储器、内部程序存储器和外部存储器分别作一介绍。图2.4 MCS51的存储器结构如第12页,本讲稿共34页2.2.1 2.2.1 内部数据存储器内部数据存储器 第13
8、页,本讲稿共34页1.内部数据存储器低128单元 在低128字节存储单元中,前32个单元(00H1FH)作为工作寄存器使用,这32个寄存器分作4组,每组由8个通用寄存器(R0R7)组成,组号依次为0、1、2和3。通过对程序状态字中RS1和RS0的设置,可以决定选用哪一组工作寄存器,通常没有选中的单元也可作为一般的数据缓存使用。系统上电复位时,默认选中第0组寄存器。在工作寄存器后的16个数据单元(20H2FH),它们既可以作为一般的数据单元使用,由可以按位对每个单元进行操作,因此这16个数据单元又称作位寻址区。位寻址区共计128位,其位地址为00H0FH。在内部RAM的低128个单元中,剩余的8
9、0个数据单元即30H7FH为真正的用户RAM区,对于这些区域,用户只能以存储单元的形式来使用,通常在应用中也把堆栈开辟在这段区域。第14页,本讲稿共34页2.内部数据存储器高128单元 内部数据存储器的高128个单元是为专用寄存器提供的,因此该区也称作特殊功能寄存器区(SFR),它们主要用于存放控制命令、状态或数据。除去程序计数器PC外,还有21个特殊功能寄存器,其地址空间为80HFFH。这21个寄存器中有11个特殊功能寄存器具有位寻址能力,它们的字节地址刚好能被8整除。下面将对部分专用寄存器作简要介绍。v 累加器累加器ACC 累加器为8位寄存器,是程序中最常用的专用寄存器,在指令系统中累加器
10、的助记符为A。大部分单操作数指令的操作取自累加器,很多双操作数指令的一个操作数也取自累加器。加、减乘和除等算术运算指令的运算结果都存放在累加器A或AB寄存器中,在变址寻址方式中累加器被作为变址寄存器使用。在MCS51中由于只有一个累加器,而单片机第15页,本讲稿共34页中的大部分数据操作都是通过累加器进行的,故累加器的使用是十分频繁的。v B寄存器寄存器B寄存器为8位寄存器,主要用于乘除指令中。乘法指令的两个操作数分别取自累加器A和寄存器B,其中B为乘数,乘法结果的高8位存放于寄存器B中。除法指令中,被除数取自A,除数取自B,除法的结果商数存放于A,余数存放于B中。在其它指令中,B寄存器也可作
11、为一般的数据单元来使用。v 程序状态字程序状态字PSW 程序状态字是一个8位寄存器,它包含程序的状态信息。在状态字中,有些位状态是根据指令执行结果,由硬件自动完成设置的,而有些状态位则必须通过软件方法设定。PSW中的每个状态位都可由软件读出,PSW的各位定义如表2.1。第16页,本讲稿共34页表2.1 PSW的各状态位定义(1)CY:进位标志位 在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、位与和位或等位操作中,都要使用进位标志位。(2)AC:辅助进位标志 进行加法或减法操作时,当发生低四位向高四位进位或借位时,AC
12、由硬件置位,否则AC位被置“0”。在进行十进制调整指令时,将借助AC状态进行判断。位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0 RS1RS0 OV/P第17页,本讲稿共34页(3)用户标志位该位为用户定义的状态标记,用户根据需要用软件对其置位或清零,也可以用软件测试F0来控制程序的跳转。(4)RS1和RS0:寄存器区选择控制位该两位通过软件置“0”或“1”来选择当前工作寄存器区。(5)OV:溢出标志位当执行算术指令时,由硬件置位或清零来指示溢出状态。在带符号的加减运算中,OV1表示加减运算结果超出了累加器A所能表示的符号数有效范围(12
13、8127),即运算结果是错误的,反之,OV0表示运算正确,即无溢出产生。无符号数乘法指令MUL的执行结果也会影响溢出标志,若置于累加器A和寄存器B的两个数的乘积超过了255,则OV1,反之OV0。由于乘积的高8位存放于B中,低8位存放于A中,OV0则意味着只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积结果。第18页,本讲稿共34页在除法运算中,DIV指令也会影响溢出标志,当除数为0时,OV1,否则OV0。(6)P:奇偶标志位每个指令周期由硬件来置位或清零用以表示累加器A中1的个数的奇偶性,若累加器中1的个数为奇数则P1,否则P0。l数据指针数据指针DPTR数据指针DPTR为一个16位的
14、专用寄存器,其高位用DPH表示,其低位用DPL表示,它即既可以作为一个16位的寄存器来使用,也可作为两个8位的的寄存器DPH和DPL使用。DPTR在访问外部数据存储器时既可用来存放16位地址,也可作地址指针使用。如MOVXDPTR,A。lI/O端口端口P0P3第19页,本讲稿共34页P0P3为四个8位的特殊功能寄存器,分别是四个并行I/O端口的锁存器,当I/O端口的某一位用作输入时,对应的锁存器必须先置“1”。l定时器定时器/计数器计数器 在MCS51中,除8032/8052外都只有两个16位定时器/计数器T0和T1,它们由两个相互独立的8位寄存器组成TH和TL,共有四个独立的寄存器TH0、T
15、L0、TH1和TL1,只可对这四个寄存器独立寻址,而不能作为一个16位寄存器来寻址。l串行数据缓冲寄存器串行数据缓冲寄存器串行数据缓冲器SBUF用于存放将要发送或已接收的数据,它由发送缓冲器和接收缓冲器组成,将要发送的数据被送入SBUF时进入发送缓冲器,反之进入接收缓冲器。第20页,本讲稿共34页2.2.2 外部数据存储器在MCS51中,其片外数据存储器和I/O口与片内数据存储器空间0000FHFFFFH是重叠的。在8051单片机中采用MOV和MOVX两种指令来区分片内外RAM空间,其中片内RAM使用MOV指令,片外RAM和I/O口使用MOVX指令。2.2.3 程序存储器 在MCS51系列中,
16、程序存储器被用来存放程序、常数或表格等。在8051中,其片内有4K字节的ROM存储单元,地址为0000H0FFFH。8751有4K字节的EPROM,而8052和8752则有8K字节的片内存储器。8031和8032无片内程序存储器,所以片内程序存储器的有无是区分芯片的主要标志。在程序存储器中,以下6个单元具有特殊含义:第21页,本讲稿共34页 0000H:单片机复位后,PC0000H,程序从0000H开始执行指令。0003H:外部中断0入口地址。000BH:定时器0中断入口地址。0013H:外部中断1入口地址。001BH:定时器1中断入口地址。0023H:串行口中断入口地址。在系统中断相应之后,
17、将自动转各中断入口地址处执行程序,而中断服务程序一般无法存放于几个单元之内,因此在中断入口地址处往往存放一条无条件转移指令进行跳转,以便执行中断服务程序。第22页,本讲稿共34页2.3MCS51单片机输入/输出(I/O)口2.3.1 P0口 图2.6给出了P0口的逻辑结构,它由一个锁存器、两个三态输入缓冲器、一个多路复用开关以及控制电路和驱动电路等组成。图2.6 P0口的逻辑结构 第23页,本讲稿共34页 P0口可以作为输入输出口,在实际应用中它通常作为地址/数据复用总线。在访问外部存储器时,P0口为真正的双向口。2.3.2 P1口P1口是一个准双向口,通常作为I/O口使用,其位结构图如图2.
18、7。由于在其输出端接有上拉电阻,故可以直接输出而无需外接上拉电阻。图2.7 位结构图第24页,本讲稿共34页2.3.3 P2口P2口位结构图如图2.8。P2通用为一个准双向口,其位结构与P0口相似。对于8031单片机来说,P2口通常用作地址信号输出。图2.8 P2口位结构图第25页,本讲稿共34页2.3.4 P3口P3口的位结构图如图2.9。P3口为双功能口,当P3口作为通用I/O口使用时,它为准双向口,且每位都可定义为输入或输出口,其工作原理同P1口类似。图2.9 P3口的位结构图第26页,本讲稿共34页 P3口还具有第二功能,其引脚描述如表2-5。表2-5 P3口特殊功能口线特殊功能信号名
19、称P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0输入口P3.3外部中断1输入口P3.4T0定时器0外部输入口P3.5T1定时器1外部输入口P3.6WR写选通输出口P3.7RD读选通输出口第27页,本讲稿共34页2.4单片机的工作方式2.4.1复位及复位电路 在MCS51中,最常见的复位电路为图2.10所示的上电复位电路,它能有效的实现上电复位和手动复位。RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期以上才能完成复位操作,若使用6MHz晶振,则需持续4S以上才能完成复位操作。图2.10中,在通电瞬间,由于RC的充电过程,在RST端出现一定宽度
20、的正脉冲,只要该正脉冲保持10ms以上,就能使单片机自动复位,在6MHz时钟时,通常CR取22F,R1取200,R2取1K,这时能可靠的上电复位和手动复位。第28页,本讲稿共34页 CPU在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次,直至RST端电平变低。在单片机复位期间,AlE和 信号都不产生。复位操作将对部分专用寄存器产生影响。图2.10 上电复位电路第29页,本讲稿共34页2.4.2 时钟电路和时序1.时钟电路 根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式,如图2.11所示。(a)内部方式时钟电路(b)外接时钟电路 图2.11 时钟电路第30页
21、,本讲稿共34页2.指令时序(1)振荡周期)振荡周期振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。(2)时钟周期)时钟周期时钟周期又称作状态周期或状态时间S,它是振荡周期的两倍,它分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的传送操作。(3)机器周期)机器周期一个机器周期由6个状态组成,如果把一条指令的执行过程分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。第31页,本讲稿共34页(4)指令周期)指令周期指令周期即执行一条指令所占用的全部时间,通常为14个机器周期。在图2.12
22、中给出了MCS51单片机的典型取指、执行时序。图2.12 MCS51单片机取指、执行时序第32页,本讲稿共34页2.4.3 单片机的低功耗方式单片机的低功耗方式对于MCS51系列机型来说,它们有待机方式和掉电保护方式两种低功耗方式。通过设置电源控制寄存器PCON的相关位可以确定当前的低功耗方式。PCON寄存器格式如下:其中SMOD:波特率倍增位GF0,GF1:通用标志位PD:掉电方式位,PD1为掉电方式IDL:待机方式位,IDL1为待机方式位序 B7 B6 B5B4B3B2B1B0位符号SMOD /GF1GF0PDIDL第33页,本讲稿共34页1.待机方式将PCON寄存器的IDL位置“1”,单片机则进入待机方式。通常在待机方式下,单片机的中断仍然可以使用,这样可以通过中断触发方式退出待机模式。2.掉电保护方式将PCON寄存器的PD位置“1”,单片机则进入掉电保护方式。如果单片机检测到电源电压过低,此时除进行信息保护外,还需将PD位被置“1”,使单片机进入掉电保护方式。第34页,本讲稿共34页