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