单片机ppt课件2 MCS 51单片机结构及原理.ppt
1,第2章 MCS-51单片机结构及原理,本章内容: (1)MCS-51系列的8051的基本结构; (2)存储器结构及其配置; (3)P0、P1、P2、P3四个I/O口的基本工作原理 和操作特点; (4)单片机的时序 (5)复位,2,2.1.1 MCS-51的基本组成 MCS-51单片机(以8051为例,Intel产品)1个8位CPU;1个片内振荡器及时钟电路;128字节RAM(数据存储器);4K字节ROM(程序存储器);2个16位定时器/计数器;32条可编程的I/O线(四个8位并行I/O端口);1个全双工串行口;5个中断源;,2.1 MCS-51单片机组成及结构,3,2.1 MCS-51单片机组成及结构,4,2.1.2 MCS-51单片机的引脚与功能,逻辑符号,2.1 MCS-51单片机组成及结构,引脚分配,5,(1)电源线 5V供电VCC (40)5V GND (20) 地,2.1.2 MCS-51单片机的引脚与功能,引脚分配,P0,(2)晶体振荡器信号输入输出XTAL1(18)晶体振荡器信号输入XTAL1(19)晶体振荡器信号输出,(3)输入/输出线 P0.0P0.7 P0口P1.0P1.7 P1口P2.0P2.7 P2口P3.0P3.7 P3口,P1,P2,P3,6,(4)控制信号线 ALE(30)地址锁存控制信号 (Address Latch Enable), ALE用于将地址总线的低八位锁存。该信号频率为晶振频率 的1/6,可作为外部定时或时钟使用。,2.1.2 MCS-51单片机的引脚与功能,引脚分配,(29)外部程序存储器读选通信号( Program Store Enable)该信号为低电平时,CPU从外部程序存储器单元读取指令。,7,(31)内外程序存储器选择控制 (External Access Enable) 0,CPU对程序存储器的操作仅限于单片机外部程序存储器。 1, CPU对程序存储器的操作从单片机内部程序存储器开始,并可延伸到单片机的外部程序存储器。,2.1.2 MCS-51单片机的引脚与功能,(4)控制信号线(续),引脚分配,RESET(9) 复位信号。 RESET持续2个机器周期以上的高电平,单片机复位。,8,(5)部分引脚的第二功能(复用,同一个引脚被双重定义),2.1.2 MCS-51单片机的引脚与功能,9,(5)部分引脚的第二功能程序存储器固化所需的信号 编程脉冲 ALE/PROG 编程电压 /VPP 备用电源引入 RESET/VPD: 当电源电压下降到某个给定下限时,备用电源由该引脚向单片机芯片内部RAM供电,以保护内部RAM的内容不丢失。,2.1.2 MCS-51单片机的引脚与功能,10,2.1.3 MCS-51单片机的内部结构,11,(一) 中央处理器(CPU) CPU由运算器和控制器组成,它是单片机的核心,完成运算和控制操作。,2.1.3 MCS-51单片机的内部结构,1. 运算器组成: 算术逻辑运算器ALU,算术累加器ACC,寄存器B,暂存器TMP1,暂存器TMP2,布尔累加器Cy等功能:进行移位、算术运算和逻辑运算;MCS-51运算器还包含有一个布尔(位)处理器,用来处理位操作。,12,(1)累加器A(8位) 功能:暂存操作数及保存运算结果; A是MCS-51单片机中最繁忙的寄存器; (2)寄存器B(8位) 功能:用于乘法、除法运算,对于其它指令可作为一个寄存器使用; (3 )程序状态字寄存器PSW(8位) 功能:存放累加器A在运算过程标志位(P,OV,AC,Cy)的状态;指出CPU所使用的当前工作寄存器组。,2.1.3 MCS-51单片机的内部结构,13,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,CY (PSW.7) 进位/借位标志位。 若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。,AC(PSW.6)半进位/借位标志位。 若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DA A”指令时自动要判断这一位,我们可以暂时不关心它。,F0 (PSW.5) 用户标志位。,PSW.6,PSW.5,2.1.3 MCS-51单片机的内部结构,PSW,14,2.1.3 MCS-51单片机的内部结构,PSW.7,PSW.0,RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。,RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0R7分别代表08H 0FH单元。,RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元。,RS1,RS0 = 1 1 则选择了工作寄存器组 3 区R0R7分别代表18H 1FH单元。,PSW.4 PSW.3,RS1,RS0 = 0 0 则选择了工作寄存器组 0 区R0R7分别代表08H 0FH单元。,PSW,15,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,OV (PSW.2)溢出标志位。 OV=1时特指累加器在进行带符号数(-128+127)运算时出错(超出范围);OV=0时未出错。,PSW.1 未定义。,P (PSW.0)奇偶标志位。 P=1表示累加器中“1”的个数为奇数 P=0表示累加器中“1”的个数为偶数 CPU随时监视着ACC中的“1”的个数,并反映在PSW中,PSW.2,PSW.1,2.1.3 MCS-51单片机的内部结构,PSW,16,(4)布尔处理器Cy 实现各种位逻辑运算和传送;MCS-51具有一个位寻址空间。 (5) TMP1和TMP2为8位暂存寄存器 存放参与预算的操作数。,2.1.3 MCS-51单片机的内部结构,MCS-51仅能实现两个8位二进制数的算术逻辑运算!,17,2. 控制器组成: 定时与控制部件,复位电路,程序计数器(PC),指令寄存器、指令译码器,数据指针(DPTR),堆栈指针(SP)等作用:产生计算机所需的时序,控制程序自动执行。,2.1.3 MCS-51单片机的内部结构,18,程序计数器PC(16位)程序计数器PC用来存放即要执行的指令地址,共16位,低8位经P0 口输出,高8位经P2口输出。CPU每取一次机器码,PC内容自动加一, CPU执行一条指令,PC内容自动增加该指令的长度。CPU复位后,PC内容为0000H,它标志着程序从头开始执行。 PC的内容变化决定程序的流向。指令寄存器(8位) 指令寄存器中存放将要执行的指令代码,通过指令译码器,将指令代码转化为电信号控制信号ALE等。,2.1.3 MCS-51单片机的内部结构,19,2.1.3 MCS-51单片机的内部结构,数据指针DPTR(16位) 用于访问外部RAM或外部I/O口,提供十六位地址。用于程序存储器的查表和程序散转指令,作为基地址寄存器,提供十六位基地址。,堆栈指针寄存器SP(8位) 用于管理对栈,指出栈顶位置。 MCS-51单片机复位后, (SP)=07H,20,2.1.3 MCS-51单片机的内部结构,(二)存储器 1.内部数据存储器单片机的内部数据存储器由RAM地址寄存器、地址译码器以及128个单元的RAM构成,用于存放可读写的数据。2. 内部程序存储器 MCS-51系列单片机(8031除外)的内部程序存储器由程序地址寄存器、地址译码器以及4K(4096)个单元的ROM构成,用于存放程序的机器代码和常数。 2 . 特殊功能寄存器(Special Function Register,SFR) MCS-51系列单片机有21个可以寻址的特殊功能寄存器,包括单片机内的I/O口、串行口、定时/计数器、中断系统等相关的数据寄存器(或缓冲器)以及控制寄存器和状态寄存器,用于存放相应功能部件的控制命令、状态和数据。,21,2.1.3 MCS-51单片机的内部结构,(三)并行口(Parallel Port) 有4个并行的I/O口:P0、P1、P2、P3,每根口线都可独立地用作输入或输出。(四)串行口(Serial Port) 有1个全双工的串行口,用于串行通信。串行口由发送缓冲器SBUF、接收缓冲器SBUF、移位寄存器和串行口控制逻辑等部分组成。(五) 定时/计数器(Timer/Counter) 有2个16位的定时/计数器T0和T1,T0由TH0和TL0构成,T1由TH1和TL1构成,定时/计数器方式寄存器TMOD选择定时/计数器的工作模式和方式,定时/计数器控制寄存器TCON控制T0和T1的启动和停止,同时反映T0和T1的溢出状态。(六)中断系统(Interrupt System) 有5个中断源,分别为2个外部中断、2个定时/计数器溢出产生的中断、1个串行口接收/发送产生的中断,提供2个中断优先级。,22,2.2 MCS51单片机的存储器,MCS-51单片机的程序存储器和数据存储器分开设置,地址空间相互独立。MCS51存储器地址空间可分为以下5类:(1)程序存储器,最大空间64K;(2)片内数据存储器,128个单元;(3)特殊功能寄存器,共21个;(4)位寻址空间,211位;(5)外部数据寄存器,最大空间64K。这些资源与单片机应用的关系密切,下面我们介绍上述5类存储空间的功能。,23,2.2.1 程序存储器,程序存储器用来存放程序和常数,最大寻址空间64K单元。MCS51系列产品按程序存储器配置类型分为3类:8051芯片含有4k个单元的ROM;8751芯片含有4k个单元的EPROM;8031中无程序存储器,需要扩展程序存储器。,在实际应用中,用户既可使用芯片内部的程序存储器,也可以使用芯片外部的程序存储器,但最大空间为64k,程序存储器的地址空间构成与引脚的 接法有关。,24,2.2.1 程序存储器,(1)芯片内部含有程序存储器的单片机( 8051/8751 )当 =1(接高电平)时,8051/8751的程序存储器结构如图:,程序存储器结构,程序存储器连接电路,25,2.2.1 程序存储器,(1)芯片内部含有程序存储器的单片机(8051/8751)当 =0(接低电平)时,8051/8751的程序存储器结构如图:,程序存储器结构,程序存储器连接电路,26,2.2.1 程序存储器,(1)芯片内部不含有程序存储器的单片机( 8031 ) 必须接地,8031的程序存储器结构如图:,程序存储器结构,不论哪一种MCS-51单片机,如果 接地,其内部的程序存储器将被CPU忽略。,27,2.2.1 程序存储器,在单片机的程序存储器中,有5个特殊的单元地址被定义为中断入口地址,分别为:外部中断入口地址0003H,外部中断入口地址0013H,定时/计数器T0入口地址000BH,定时/计数器T1入口地址001BH,串行口中断入口地址0023H。,中断入口地址映射,28,2.2.2 片内数据存储器,MCS-51单片机的片内RAM按照功能可分为3个区域:001FH:32个单元为工作寄存器区202FH:16个单元为位寻址区307FH:80个单元为数据缓冲区,片内RAM分区示意图,29,(一)工作寄存器区(Register Bank)(00-1FH),工作寄存器组分区,工作寄存器区也称为通用寄存器区。工作寄存器区包含4个工作寄存器组,每个工作寄存器组中包含8个工作寄存器R0R7: BANK0(0007H) BANK1(080FH) BANK2(1017H) BANK3(181FH),2.2.2 片内数据存储器,30,表工作寄存器组的工作寄存器R0R7与内RAM单元的对应关系,2.2.2 片内数据存储器,31,2.2.2 片内数据存储器,(二)位寻址区(Bit Addressable Area)(202FH) MCS-51单片机的片内RAM中, 202FH单元被开辟为位寻址区;这些单元的每一位都具有一个自己的位地址,共168128位。位寻址区位地址范围为007FH,CPU可以对每一位直接操作。,32,2.2.2 片内数据存储器,内部RAM中202FH的位地址映射,33,202F单元的位地址区的使用: (I)在片内RAM中只有202FH单元的位能够进行位操作,我们经常表示为20H.0,它与位地址00H是等价的。 (II)位寻址区16个单元也可以按单元访问,所以,当位寻址区16个单元的128位未完全使用时,其剩余单元也可作为RAM单元使用。,2.2.2 片内数据存储器,34,(三) 数据缓冲区(Data Buffer Area)(307FH)(1)数据缓冲区的作用作为数据缓冲、数据暂存、作为堆栈区使用;这些单元只能按单元访问。(2)堆栈堆栈是为了保护CPU执行程序的现场,在存储器中开辟了一个“先进后出”(后进先出)的区域;堆栈的操作:入栈,出栈;操作规则:先进后出;堆栈由堆栈指针SP管理,它始终指向栈顶位置,一般情况下,将堆栈设在30H单元之后。程序设计时,最好设在片内RAM的末端,如 MOV SP, #60H, 以避免堆栈向上生成时覆盖所存储的数据。,2.2.2 片内数据存储器,35,2.2.3 特殊功能寄存器(SFR),MCS-51芯片内部有21个可寻址的SFR(具有地址),它们离散的分布在片内RAM 80HFFH范围内,并与内RAM统一编址。 MCS-51芯片内部还有1个不可寻址的SFR程序计数器PC。 对可寻址的SFR只能采用直接寻址方式,即按单元地址访问的模式; 可寻址的SFR中部分SFR (单元地址能够被8整除)具有位寻址功能。,36,2.2.3 特殊功能寄存器,单片机的特殊功能寄存器(SFR)及其单元地址,37,2.2.3 特殊功能寄存器,特殊功能寄存器(SFR)的位地址空间凡是SFR的地址能被8整除的SFR(单元地址的末位是0或8)都具有位寻址功能,MCS-51单片机共有11个SFR具有位寻址功能,这些寄存器(单元)的每一位都有一个位地址。位地址空间:80FFH。特殊功能寄存器(SFR)的位地址空间的特点:(1)SFR对应的单元地址为该SFR最低位的位地址。(2)SFR的位寻址区地址是不连续的。,38,2.2.3 特殊功能寄存器,SFR位寻址空间地址映射,39,2.2.3 特殊功能寄存器,MCS-51单片机SFR的使用:(1)对于SFR以单元形式访问时,只能采用直接寻址方式。 如: MOV SBUF, A MOV 99H, A 二者是等价的。(2)对于80FFH区间未定义的单元,用户不得使用。同样,对于未定义位地址所对应的位操作也是无效的。(3)在编程时,最好不要采用SFR作为中间寄存器暂存中间结果。因为复位时,多数SFR被清0.,40,2.2.4 MCS-51单片机的位寻址空间,MCS-51单片机的位寻址空间由两部分组成,位地址范围为00 FFH。,41,2.2.5 外部数据存储器,MCS51系列单片机的外部数据存储器是一个独立的物理空间,外部数据存储器和外部I/O口共同占用这个空间,最大可以扩展到64k,地址范围为:0000HFFFFH。外部数据存储器一般由静态RAM构成,简称外部RAM。,42,一、单片机I/O的作用单片机芯片上的输入输出口有4个,P0,P1,P2和P3。它们的作用与单片机是否扩展有较大关系: (1)8051/8751不进行存储器和I/O口扩展时 P0:I/O口; P1:I/O口;P2:I/O口; P3:I/O口,也可以作为第二功能使用;当P3口某些引脚作为第二功能使用时,不可再作为I/O口线使用。如 P3.0和P3.1作为RXD和TXD时,不可再作为I/O口线使用。,2.3 MCS-51单片机的I/O口,43,(2) 8031及8051/8751进行存储器和I/O口扩展时 P0:低八位地址总线/数据总线 P2:高八位地址总线 P1:I/O口 P3:I/O口或第二功能,当P3口某些引脚作为第二功能使用时,不可再作为I/O口线使用。,2.3 MCS-51单片机的I/O口,一、单片机I/O的作用,44,(一)P0.0P0.7:双向I/O (内置场效应管上拉) 访问外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,引脚P0.X,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,3,4,Vcc,2.3 MCS-51单片机的I/O口,二、单片机I/O的工作原理,45,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器=0,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输入口(事先必须对它写“1”),0,0,1,0,0,截止,截止,=0,Vcc,(1)P0.0P0.7做输入口,分读引脚和读锁存器。读引脚:就是读取从引脚送进来的外部数据,使用的是缓冲器1。,二、单片机I/O的工作原理,46,“读引脚”信号=1,把三态缓冲器1打开,引脚的数据经过缓冲器直接进入内部总线。这类操作由数据传送(MOV)指令来完成。读引脚前必须先向端口锁存器写“1”,使下方的FETVN截止,然后再读引脚的状态。原因。双向口:在读端口数据前,应先向端口锁存器写“1”,使VN截止,引脚处于悬浮状态,变为高阻抗输入。只有数据传送时单片机内外才接通,其它时间单片机内外处于隔离状态,称为“双向口”。,47,由于P0口的输出电路有两个场效应管组成,构成一个三态门,即具有高电平、低电平和高阻隔离状态,因此它是“双向口”。准双向口:P1、P2、P3的输出电路是由一个上拉电阻和一个FET组成,没有高阻隔离状态,不是一个三态门,所以它们为准双向口。读锁存器:就是读端口锁存器数据,使用的是缓冲器2 。有些指令如:ANL P0,A 称为“读,改,写”指令,需要读锁存器。,48,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器=0,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输出口(外接上拉电阻),0,0,1,0,0,截止,截止,=0,Vcc,(2)P0.0P0.7作为输出口,引脚应外接上拉电阻。,二、单片机I/O的工作原理,Vcc,R(外接),输出=1,49,CPU发出控制电平“0”封锁与门,使输出上拉场效应管VP截止,同时,多路开关将锁存器与输出驱动场效应管VN栅极接通,这样,与内部总线相连的数据从锁存器的反相输出端输出,又经VN反相,P0端口的数据正好是内部总线的数据。注意,由于FETVN的漏极开路,所以需要在漏极外接上拉电阻。,50,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器=0,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(1)输出地址/数据 =0 时,1,0,1,1,=0,导通,截止,=0,Vcc,(3)在系统扩展时,P0.0P0.7作为地址/数据总线使用。A.双向8位数据口和输出低8位地址复用口【 输出0】,2.3 MCS-51单片机的I/O口,二、单片机I/O的工作原理,51,又可以分为:输出地址/数据,输出地址/输入数据。http:/,52,2.3 MCS-51单片机的I/O口,B.双向8位数据口和输出低8位地址复用口【输出1】,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器=0,写锁存器,内部总线,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(2)输出地址/数据 =1 时,1,1,0,0,=1,截止,导通,=1,地址/数据,控制=1,Vcc,二、单片机I/O的工作原理,53,2.3 MCS-51单片机的I/O口,(二)P2.0P2.7: 双向I/O (内置了上拉电阻) 外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址高8位,控制,引脚 P2.X,3,内部上拉电阻,Vcc,二、单片机I/O的工作原理,54,2.3 MCS-51单片机的I/O口,(1)P2.0P2.7作为8位准双向I/O口使用【输出】。,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器=0,写锁存器,内部总线,地址高8位,控制,引脚P2.X,控制=0时,此脚作通用输出口: 输出=1时,1,1,0,截止,3,内部上拉电阻,1,1,Vcc,=1,=0,二、单片机I/O的工作原理,55,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器=0,写锁存器,内部总线,地址高8位,控制,引脚P2.X,控制=0时,先写1,此脚作通用输入口,1,0,截止,3,内部上拉电阻,1,1,Vcc,=0,二、单片机I/O的工作原理,(2)P2.0P2.7作为8位准双向I/O口使用【输入】。,56,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器=0,写锁存器,内部总线,地址高8位,控制=1,引脚P2.X,0,1,导通,3,内部上拉电阻,0,=0,=0,控制=1 时,此脚作高8位地址A8A15输出口:当输出 =0 时,二、单片机I/O的工作原理,(3)P2.0P2.7作为高八位地址总线【输出地址】。,Vcc,57,2.3 MCS-51单片机的I/O口,(三)P3.0P3.7: 双功能口(内置了上拉电阻) 具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,第二功能输出,引脚 P3.X,3,内部上拉电阻,Vcc,第二功能输入,4,二、单片机I/O的工作原理,58,2.3 MCS-51单片机的I/O口,(1)P3.0P3.7作为第二功能【输出RD/RW/TXD】。锁存器应预先置“1”,以保证与非门对第二功能信号的输出能顺利进行。,2,1,D,Q,CK,/Q,读引脚,读锁存器=0,写锁存器,内部总线,第二功能输出(WR,RD,TxD),引脚 P3.X,3,内部上拉电阻,Vcc,4,第二功能输出时,内部自动 D=1,1,1,1,反相器,二、单片机I/O的工作原理,59,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚=0,读锁存器=0,写锁存器,内部总线,第二个能输出此端自动1,引脚 P3.X,3,内部上拉电阻,Vcc,第二功能输入(RxD/T0/T1/INT0/INT1),4,第二功能输入时,信号经缓冲器4 直接进入内总线,1,1,1,0,截止,(2)P3.0P3.7作为第二功能【输入RXD/T0/INT0】。,二、单片机I/O的工作原理,60,2.3 MCS-51单片机的I/O口,(3)P3.0P3.7作为通用I/O口【输入】。,二、单片机I/O的工作原理,2,1,D,Q,CK,/Q,读引脚=1,读锁存器=0,写锁存器,内部总线,引脚 P3.X,3,内部上拉电阻,Vcc,第二功能输入,4,先写1,再读引脚,1,1,1,0,截止,第二功能输出此端自动1,61,2.3 MCS-51单片机的I/O口,(4)P3.0P3.7作为通用I/O口【输出】。,二、单片机I/O的工作原理,2,1,D,Q,CK,/Q,读引脚 = 0,读锁存器=0,写锁存器,内部总线,引脚 P3.X,3,内部上拉电阻,Vcc,第二功能输入,4,输出1的操作,1,1,1,0,截止,1,第二个能输出此端自动1,输出1,62,2.3 MCS-51单片机的I/O口,(四) P1.0P1.7: 准双向I/O口(内置了上拉电阻),2,1,D,Q,CK,/Q,读引脚=0,读锁存器=0,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,二、单片机I/O的工作原理,63,2.3 MCS-51单片机的I/O口,(1)P1.0P1.7作为输出口【输出1】,2,1,D,Q,CK,/Q,读引脚=0,读锁存器=0,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,输出数据 = 1 时,1,1,0,截止,=1,二、单片机I/O的工作原理,64,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚=0,读锁存器=0,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,输出数据 = 0 时,0,0,1,=0,导通,(2)P1.0P1.7作为输出口【输出0】,二、单片机I/O的工作原理,65,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器=0,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,输入数据时,要先对其写“1”,1,1,0,截止,(3)P1.0P1.7作为输入口,二、单片机I/O的工作原理,66,2.3 MCS-51单片机的I/O口,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,(五)读单片机I/O口寄存器(以P1口为例),二、单片机I/O的工作原理,=1,67,(1)驱动能力: P0:双向,8个TTL P1、 P2和 P3:准双向,4个TTL (2)4个口作为输入口使用,都必须先向端口锁存器写1,再读引脚状态。 (3)P0口作为输出口时,输出引脚应外接上拉电阻。 (4)P3口用作第二功能输出信号时,也应先把端口锁存器置“1”。,2.3 MCS-51单片机的I/O口,三、单片机I/O的使用,68,2.4 MCS-51单片机的时钟电路与时序,2.4.1 MCS-51单片机的时钟电路 时钟电路用来产生CPU工作所需的时钟控制信号。时钟的频率直接影响单片机的速度,时钟电路的质量直接影响单片机系统的稳定性。 时钟电路的设计形式:内部方式和外部方式,(一)内部方式: 原理:借助于单片机内部电路(反相放大器)外接晶体振荡器和微调电容构成自激振荡器,提供时钟信号。 OSC:1.2M12MHz C1、C2:530pF,69,2.4.1 MCS-51单片机的时钟电路,(2)外部方式 直接使用外部振荡脉冲信号。(常用于多CPU系统,以保持各个CPU同步工作)外部振荡脉冲信号为满足一定的幅宽的方波,频率不大于12MHz。,70,在计算机中,一条指令可分解为若干个基本的微操作,这些微操作所对应的脉冲信号在时间上有严格的先后次序,即为计算机的时序。 (一)时钟周期、机器周期与指令周期 时钟周期:就是一个振荡周期 振荡周期(T):为晶体振荡器(晶振)的振荡周期,2.4.2 MCS-51单片机的时序,机器周期(TM) : CPU完成一个基本操作所用的时间。 MCS-51单片机的1个机器周期包含12个时钟周期,指令周期(TI):执行一条指令所用的时间; MCS-51:1TI = 1 4 TM,71,2.4.2 MCS-51单片机的时序,MCS-51单片机的机器周期(TM),状态,P1相,P2相,72,2.4.2 MCS-51单片机的时序,(二) 典型指令的时序取指令,执行指令,INC A 的机器码,(1)单字节单周期指令,73,(2)双字节单周期指令,2.4.2 MCS-51单片机的时序,读机器码 24,读机器码 50,CPU执行指令 ADD A, #50H,(PC)加1,(PC)加1,(PC)加1,(二) 典型指令的时序,读下一个指令的机器码,74,(3)单字节双周期指令,2.4.2 MCS-51单片机的时序,CPU执行指令INC DPTR,读操作码 A3,读下一个操作码,丢弃,读下一个操作码,丢弃,读下一个操作码,丢弃,(PC)加1,(PC)不加1,(PC)不加1,(PC)不加1,(二) 典型指令的时序,75,2.4.2 MCS-51单片机的时序,(4)单片机访问外部数据存储器指令的时序,CPU执行访问外部数据存储器指令的时序,(二) 典型指令的时序,76,如:MOVX A,DPTR指令的执行分两个阶段:第一个是根据PC中的地址读片外ROM中的操作码;第二个是根据DPTR中的地址读片外RAM,并把读出的数送累加器A。在ALE第一次和第二次有效期间,把PC中的高8为地址送P2口,低8位地址送P0端口并锁存,用于从片外ROM中读取MOVX指令的操作码。PSEN=0时,CPU把从片外ROM中读取的操作码送入指令寄存器,再送入指令译码器进行译码,产生一系列控制信号。在ALE第二次有效时,CPU把DPTR中的地址送到P2口和P0口,从片外RAM中读出相应的数据。然后将此数据经P0口送到累加器A中。,77,2.5 MCS-51单片机的复位电路,2.5.1单片机复位及复位状态,复位是单片机的一个重要的工作状态。在单片机开始工作时需要上电复位、在运行过程中发生了故障或意外情况需要强制复位等。复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。,MCS-51单片机复位的条件: 在振荡器运行的情况下,在RESET引脚上保持2个以上机器周期(24个振荡周期)的高电平,就可以使单片机可靠地复位。,78,2.5 MCS-51单片机的复位电路,特殊功能寄存器及其复位时的内容,79,2.5 MCS-51单片机的复位电路,(1)复位对MCS-51片内RAM(007FH)的影响: 在单片机工作过程中CPU复位时,不会影响MCS-51片内RAM(007FH)的状态。 存储在位寻址区202FH的标志位状态不变,但是,R0R7的内容不一定是复位以前的R0R7,因为PSW被清0了,此时R0R7代表的是0007的内容。 (2) 复位对MCS-51片内SFR(80FFH)的影响: 单片机工作过程中CPU复位时,大多数SFR被清0,程序设计时必须注意。,复位对片内RAM和SFR的影响:,80,2.5 MCS-51单片机的工作方式,MCS51系列单片机的复位是由外部的复位电路实现的。在实际应用中,单片机通常采用2种形式的复位电路:上电自动复位电路和按钮开关复位电路。 设计要求:在RESET(RST)端维持110ms的高电平。,2.5.1单片机复位及复位状态,上电自动复位电路,按钮开关及上电自动复位电路,81,2.5 MCS-51单片机的工作方式,2.5.2程序执行方式单步执行方式:是利用单片机的外部中断功能实现的,单步执行键相当于外部中断源。连续执行方式2.5.3掉电保护方式单片机系统在运行过程中发生掉电故障时,为避免系统数据丢失,必须先把有用数据转存,然后启动备用电源维持供电以继续保存有用数据。由于备用电源容量有限,为减少消耗,系统掉电后时钟电路和CPU等都停止运行,只有内部RAM和必要的专用寄存器继续工作,用以继续保存数据。,82,2.5 MCS-51单片机的工作方式,2.5.4节电方式两种:空闲方式(待机方式),掉电保护方式只有CHMOS型单片机如80C51才有这种工作方式。待机方式时:振荡器继续工作(为了退出待机方式),但向CPU提供时钟信号的电路被阻断,即CPU不能工作,与CPU有关的寄存器也都被冻结。掉电保护方式时:,83,本章内容介绍完毕!,THANK YOU!,