单片机课件2-MCS-51单片机结构及原理ppt.ppt

上传人:飞****2 文档编号:28227678 上传时间:2022-07-26 格式:PPT 页数:83 大小:1.53MB
返回 下载 相关 举报
单片机课件2-MCS-51单片机结构及原理ppt.ppt_第1页
第1页 / 共83页
单片机课件2-MCS-51单片机结构及原理ppt.ppt_第2页
第2页 / 共83页
点击查看更多>>
资源描述

《单片机课件2-MCS-51单片机结构及原理ppt.ppt》由会员分享,可在线阅读,更多相关《单片机课件2-MCS-51单片机结构及原理ppt.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1第2章 MCS-51单片机结构及原理 本章内容: (1)MCS-51系列的8051的基本结构; (2)存储器结构及其配置; (3)P0、P1、P2、P3四个I/O口的基本工作原理 和操作特点; (4)单片机的时序 (5)复位22.1.1 MCS-51的基本组成 MCS-51单片机(以8051为例,Intel产品)l1个8位CPU;l1个片内振荡器及时钟电路;l128字节RAM(数据存储器);l4K字节ROM(程序存储器);l2个16位定时器/计数器;l32条可编程的I/O线(四个8位并行I/O端口);l1个全双工串行口;l5个中断源;3振荡电路外部中断CPU中断控制4K字节ROM128字节R

2、AM定时/计数器1定时/计数器0总线控制4个 I/0口串行口计数器输入P0P2P1P3RXDTXDEARESETXTAL1XTAL2OSCC1C2PSENALE 地址/数据总线4逻辑符号引脚分配5(1)电源线 5V供电VCC (40)5V GND (20) 地引脚分配P0(2)晶体振荡器信号输入输出XTAL1(18)晶体振荡器信号输入XTAL1(19)晶体振荡器信号输出(3)输入/输出线 P0.0P0.7 P0口P1.0P1.7 P1口P2.0P2.7 P2口P3.0P3.7 P3口P1P2P36(4)控制信号线l ALE(30)地址锁存控制信号 (Address Latch Enable),

3、 ALE用于将地址总线的低八位锁存。该信号频率为晶振频率 的1/6,可作为外部定时或时钟使用。引脚分配PSEN (29)外部程序存储器读选通信号( Program Store Enable)该信号为低电平时,CPU从外部程序存储器单元读取指令。7l (31)内外程序存储器选择控制 (External Access Enable) 0,CPU对程序存储器的操作仅限于单片机外部程序存储器。 1, CPU对程序存储器的操作从单片机内部程序存储器开始,并可延伸到单片机的外部程序存储器。EAEAEA(4)控制信号线(续)引脚分配 RESET(9) 复位信号。 RESET持续2个机器周期以上的高电平,单片

4、机复位。8(5)部分引脚的第二功能(复用,同一个引脚被双重定义)第二功能RXD 串行输入T1 定时器1外部计数信号输入T0 定时器0外部计数信号输入INT1 外部中断1,输入TXD 串行输出INT0 外部中断0,输入WR 外部数据存储器写选通信号,输出端口引脚P3.0P3.2P3.1P3.3P3.4P3.5P3.6P3.7RD 外部数据存储器读选通信号,输出9(5)部分引脚的第二功能l程序存储器固化所需的信号 编程脉冲 ALE/PROG 编程电压 /VPPl 备用电源引入 RESET/VPD: 当电源电压下降到某个给定下限时,备用电源由该引脚向单片机芯片内部RAM供电,以保护内部RAM的内容不

5、丢失。2.1.2 MCS-51单片机的引脚与功能EA10TMP1TMP2ALUPSW4K字节ROMACCSPB寄存器RAM地址寄存器地址译码器与128字节RAMP2口锁存器P2口驱动器P3口锁存器P3口驱动器P1口锁存器P1口驱动器P0口锁存器P0口驱动器程序地址寄存器PCPC加1寄存器缓冲器DPTRPCONSCON TMOD TCONTH0TL0TH1TL1SBUFIEIP中断模块 串行口模块定时器/计数器模块指令寄存器定时与控制电路PSENALERESETEAXTAL1XTAL2OSCC1C2P2.0P2.7P0.0P0.7P3.0P3.7P1.0P1.7VccGND振荡器总线 数据存储器

6、 程序存储器 特殊功能 寄存器 I/O口 I/O口 运算器 控制器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位) 功能

7、:用于乘法、除法运算,对于其它指令可作为一个寄存器使用; (3 )程序状态字寄存器PSW(8位) 功能:存放累加器A在运算过程标志位(P,OV,AC,Cy)的状态;指出CPU所使用的当前工作寄存器组。2.1.3 MCS-51单片机的内部结构13CYACF0RS0OVPRS1PSW.7PSW.0 CY (PSW.7) 进位/借位标志位。 若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。 AC(PSW.6)半进位/借位标志位。 若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DA A”指令时自动要判断这

8、一位,我们可以暂时不关心它。 F0 (PSW.5) 用户标志位。PSW.6 PSW.52.1.3 MCS-51单片机内部结构PSW142.1.3 MCS-51单片机的内部结构PSW.7PSW.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单元。CYACF0RS0OVPRS1PSW.4 PSW.3RS1,RS

9、0 = 0 0 则选择了工作寄存器组 0 区R0R7分别代表08H 0FH单元。PSW15CYACF0RS0OVPRS1PSW.7PSW.0OV (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.12.1.3 MCS-51单片机的内部结构PSW16(4)布尔处理器Cy 实现各种位逻辑运算和传送;MCS-51具有一个位寻址

10、空间。 (5) TMP1和TMP2为8位暂存寄存器 存放参与预算的操作数。2.1.3 MCS-51单片机的内部结构MCS-51仅能实现两个8位二进制数的算术逻辑运算! 17 2. 控制器l组成: 定时与控制部件,复位电路,程序计数器(PC),指令寄存器、指令译码器,数据指针(DPTR),堆栈指针(SP)等l作用:产生计算机所需的时序,控制程序自动执行。CPU程序存储器指令寄存器外外RAM,EPROM,外外I/O指令译码器控制单片机各部分的运行,产生ALE,PSEN, RD/WR2.1.3 MCS-51单片机的内部结构18l程序计数器PC(16位)程序计数器PC用来存放即要执行的指令地址,共16

11、位,低8位经P0 口输出,高8位经P2口输出。CPU每取一次机器码,PC内容自动加一, CPU执行一条指令,PC内容自动增加该指令的长度。CPU复位后,PC内容为0000H,它标志着程序从头开始执行。 PC的内容变化决定程序的流向。l指令寄存器(8位) 指令寄存器中存放将要执行的指令代码,通过指令译码器,将指令代码转化为电信号控制信号ALE等。 2.1.3 MCS-51单片机的内部结构192.1.3 MCS-51单片机的内部结构l数据指针DPTR(16位) 用于访问外部RAM或外部I/O口,提供十六位地址。用于程序存储器的查表和程序散转指令,作为基地址寄存器,提供十六位基地址。堆栈指针寄存器S

12、P(8位) 用于管理对栈,指出栈顶位置。 MCS-51单片机复位后, (SP)=07H 202.1.3 MCS-51单片机的内部结构(二)存储器 1.内部数据存储器单片机的内部数据存储器由RAM地址寄存器、地址译码器以及128个单元的RAM构成,用于存放可读写的数据。2. 内部程序存储器 MCS-51系列单片机(8031除外)的内部程序存储器由程序地址寄存器、地址译码器以及4K(4096)个单元的ROM构成,用于存放程序的机器代码和常数。 2 . 特殊功能寄存器(Special Function Register,SFR) MCS-51系列单片机有21个可以寻址的特殊功能寄存器,包括单片机内的

13、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由TH

14、1和TL1构成,定时/计数器方式寄存器TMOD选择定时/计数器的工作模式和方式,定时/计数器控制寄存器TCON控制T0和T1的启动和停止,同时反映T0和T1的溢出状态。(六)中断系统(Interrupt System) 有5个中断源,分别为2个外部中断、2个定时/计数器溢出产生的中断、1个串行口接收/发送产生的中断,提供2个中断优先级。222.2 MCS51单片机的存储器 MCS-51单片机的程序存储器和数据存储器分开设置,地址空间相互独立。MCS51存储器地址空间可分为以下5类:(1)程序存储器,最大空间64K;(2)片内数据存储器,128个单元;(3)特殊功能寄存器,共21个;(4)位寻址

15、空间,211位;(5)外部数据寄存器,最大空间64K。这些资源与单片机应用的关系密切,下面我们介绍上述5类存储空间的功能。 232.2.1 程序存储器程序存储器用来存放程序和常数,最大寻址空间64K单元。MCS51系列产品按程序存储器配置类型分为3类:8051芯片含有4k个单元的ROM;8751芯片含有4k个单元的EPROM;8031中无程序存储器,需要扩展程序存储器。在实际应用中,用户既可使用芯片内部的程序存储器,也可以使用芯片外部的程序存储器,但最大空间为64k,程序存储器的地址空间构成与引脚的 接法有关。EA242.2.1 程序存储器(1)芯片内部含有程序存储器的单片机( 8051/87

16、51 )当 =1(接高电平)时,8051/8751的程序存储器结构如图: EA00000FFF1000FFFF00010FFEFFFE 1001芯片内部的4K 芯片外部的60K程序存储器结构锁存器P0P2ALEPSENEAVccR片外ROMDBOE AB8751/8051程序存储器连接电路252.2.1 程序存储器(1)芯片内部含有程序存储器的单片机(8051/8751)当 =0(接低电平)时,8051/8751的程序存储器结构如图: EA0000FFFFFFFE0001 芯片外部的64K程序存储器结构锁存器P0P2ALEPSENEAROMDBOE AB8751/8051程序存储器连接电路26

17、2.2.1 程序存储器(1)芯片内部不含有程序存储器的单片机( 8031 ) 必须接地,8031的程序存储器结构如图: 0000FFFFFFFE0001 芯片外部的64K程序存储器结构 不论哪一种MCS-51单片机,如果 接地,其内部的程序存储器将被CPU忽略。EAEA锁存器P0P2ALEPSENEAROMDBOE AB8751/8051程序存储器连接电路8031272.2.1 程序存储器在单片机的程序存储器中,有5个特殊的单元地址被定义为中断入口地址,分别为:外部中断入口地址0003H,外部中断入口地址0013H,定时/计数器T0入口地址000BH,定时/计数器T1入口地址001BH,串行口

18、中断入口地址0023H。0000000100020003000B0013001B0023复位INT0中断入口INT1中断入口T0中断入口T1中断入口串行口中断入口中断入口地址映射 282.2.2 片内数据存储器MCS-51单片机的片内RAM按照功能可分为3个区域:001FH:32个单元为工作寄存器区202FH:16个单元为位寻址区307FH:80个单元为数据缓冲区000102031F202F7F数据缓冲区(80个单元)位寻址区工作寄存器区30 (16个单元)(32个单元)片内RAM分区示意图29(一)工作寄存器区(Register Bank)(00-1FH) 0001020304050607R

19、0R1R2R3R4R5R6R7080F1017181FR0R7R0R7R0R7BANK0BANK1BANK2BANK3工作寄存器组分区 工作寄存器区也称为通用寄存器区。工作寄存器区包含4个工作寄存器组,每个工作寄存器组中包含8个工作寄存器R0R7: BANK0(0007H) BANK1(080FH) BANK2(1017H) BANK3(181FH)2.2.2 片内数据存储器30 表工作寄存器组的工作寄存器R0R7与内RAM单元的对应关系PSW.4(RS1)PSW.3(RS0)寄存器区R0R1R2R3R4R5R6R700BANK000H01H02H03H04H05H06H07H01BANK10

20、8H09H0AH0BH0CH0DH0EH0FH10BANK210H11H12H13H14H15H16H17H11BANK318H19H1AH1BH1CH1DH1EH1FH2.2.2 片内数据存储器312.2.2 片内数据存储器(二)位寻址区(Bit Addressable Area)(202FH) MCS-51单片机的片内RAM中, 202FH单元被开辟为位寻址区;这些单元的每一位都具有一个自己的位地址,共168128位。位寻址区位地址范围为007FH,CPU可以对每一位直接操作。 322.2.2 片内数据存储器单元地址 D7 D6 D5 D4 D3 D2 D1 D02C67666564636

21、261602B5F5E5D5C5B5A59582A5756555453525150294F4E4D4C4B4A4948284746454443424140273F3E3D3C3B3A3938263736353433323130252F2E2D2C2B2A2928242726252423222120231F1E1D1C1B1A1918221716151413121110210F0E0D0C0B0A09082D6F6E6D6C6B6A69682007060504030201002E77767574737271702F7F7E7D7C7B7A7978内部RAM中202FH的位地址映射33l202F单

22、元的位地址区的使用: (I)在片内RAM中只有202FH单元的位能够进行位操作,我们经常表示为20H.0,它与位地址00H是等价的。 (II)位寻址区16个单元也可以按单元访问,所以,当位寻址区16个单元的128位未完全使用时,其剩余单元也可作为RAM单元使用。2.2.2 片内数据存储器34(三) 数据缓冲区(Data Buffer Area)(307FH)(1)数据缓冲区的作用作为数据缓冲、数据暂存、作为堆栈区使用;这些单元只能按单元访问。(2)堆栈堆栈是为了保护CPU执行程序的现场,在存储器中开辟了一个“先进后出”(后进先出)的区域;堆栈的操作:入栈,出栈;操作规则:先进后出;堆栈由堆栈指

23、针SP管理,它始终指向栈顶位置,一般情况下,将堆栈设在30H单元之后。程序设计时,最好设在片内RAM的末端,如 MOV SP, #60H, 以避免堆栈向上生成时覆盖所存储的数据。2.2.2 片内数据存储器352.2.3 特殊功能寄存器(SFR) MCS-51芯片内部有21个可寻址的SFR(具有地址),它们离散的分布在片内RAM 80HFFH范围内,并与内RAM统一编址。 MCS-51芯片内部还有1个不可寻址的SFR程序计数器PC。 对可寻址的SFR只能采用直接寻址方式,即按单元地址访问的模式; 可寻址的SFR中部分SFR (单元地址能够被8整除)具有位寻址功能。362.2.3 特殊功能寄存器S

24、FR符号符号SFR名称名称SFR对应单元对应单元ACC累加器E0HBB寄存器F0HPSW程序状态字寄存器D0HDPTR数据指针83H /82HSP堆栈指针81HP0P0口80HP1P1口90HP2P2口A0HP3P3口B0HIP中断优先级B8HIE中断允许控制A8HSFR符号符号SFR名称名称SFR对应单元对应单元TMODTimer工作方式89HTCONTimer控制寄存器88HTH0T0计数寄存器(H)8CHTL0T0计数寄存器(L)8AHTH1T1计数寄存器(H)8DHTL1T0计数寄存器(L)8BHSCON串行口控制寄存器98HSBUF串行口缓冲器99HPCON电源控制寄存器87H 37

25、2.2.3 特殊功能寄存器特殊功能寄存器(SFR)的位地址空间凡是SFR的地址能被8整除的SFR(单元地址的末位是0或8)都具有位寻址功能,MCS-51单片机共有11个SFR具有位寻址功能,这些寄存器(单元)的每一位都有一个位地址。位地址空间:80FFH。特殊功能寄存器(SFR)的位地址空间的特点:(1)SFR对应的单元地址为该SFR最低位的位地址。(2)SFR的位寻址区地址是不连续的。382.2.3 特殊功能寄存器 SFR位寻址空间地址映射SFR D7 D6 D5 D4 D3 D2 D1 D0ACCE7E6E5E4E3E2E1E0BF7F6F5F4F3F2F1F0单元地址PSWD7D6D5D

26、4D3D2D1D0IPBFBEBDBCBBBAB9B8B8P3B7B6B5B4B3B2B1B0B0IEAFAEADACABAAA9A8A8P2A7A6A5A4A3A2A1A0A0SCON9F9E9D9C9B9A999898P19796959493929190TCON8F8E8D8C8B8A8988P08786858483828180908880D0E0F0CyACF0RS1RS0OVPPSPT1PX1PT0PX0P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0EAESET1EX1ET0EX0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SM0SM1SM2REN

27、TB8RB8TIRITF1TR1TF0TR0IE1IT1IT0IE0392.2.3 特殊功能寄存器MCS-51单片机SFR的使用:(1)对于SFR以单元形式访问时,只能采用直接寻址方式。 如: MOV SBUF, A MOV 99H, A 二者是等价的。(2)对于80FFH区间未定义的单元,用户不得使用。同样,对于未定义位地址所对应的位操作也是无效的。(3)在编程时,最好不要采用SFR作为中间寄存器暂存中间结果。因为复位时,多数SFR被清0.402.2.4 MCS-51单片机的位寻址空间 MCS-51单片机的位寻址空间由两部分组成,位地址范围为00 FFH。MCS-51位寻址空间片内RAM中2

28、0-2FH单元的128位,占用位地址范围: 007FH;地址能被8整除的SFR具有位寻址功能,占用位地址范围:80FFH412.2.5 外部数据存储器 MCS51系列单片机的外部数据存储器是一个独立的物理空间,外部数据存储器和外部I/O口共同占用这个空间,最大可以扩展到64k,地址范围为:0000HFFFFH。外部数据存储器一般由静态RAM构成,简称外部RAM。锁存器P0P2ALEEARAM或I/O口DBOE AB8751/8051RDWEWRVccP3.6P3.70000FFFFFFFE0001 芯片外部64kRAM及I/O口(1)外部RAM和外部I/O口与单片机的连接 外部RAM和外部I/

29、O口结构映射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

30、口或第二功能,当P3口某些引脚作为第二功能使用时,不可再作为I/O口线使用。2.3 MCS-51单片机的I/O口 一、单片机I/O的作用44(一)P0.0P0.7:双向I/O (内置场效应管上拉) 访问外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。引脚P0.X21DQCK/Q读引脚读锁存器写锁存器内部总线地址/数据 控制34Vcc2.3 MCS-51单片机的I/O口二、单片机I/O的工作原理452.3 MCS-51单片机的I/O口21DQCK/Q读引脚 =1读锁存器=0写锁存器内部总线地址/数据 控制引脚P0.X34控制=0 时

31、,此脚作输入口(事先必须对它写“1”)00100截止截止=0Vcc(1)P0.0P0.7做输入口,分读引脚和读锁存器。读引脚:就是读取从引脚送进来的外部数据,使用的是缓冲器1。二、单片机I/O的工作原理46“读引脚”信号=1,把三态缓冲器1打开,引脚的数据经过缓冲器直接进入内部总线。这类操作由数据传送(MOV)指令来完成。读引脚前必须先向端口锁存器写“1”,使下方的FETVN截止,然后再读引脚的状态。原因。双向口:在读端口数据前,应先向端口锁存器写“1”,使VN截止,引脚处于悬浮状态,变为高阻抗输入。只有数据传送时单片机内外才接通,其它时间单片机内外处于隔离状态,称为“双向口”。47由于P0口

32、的输出电路有两个场效应管组成,构成一个三态门,即具有高电平、低电平和高阻隔离状态,因此它是“双向口”。准双向口:P1、P2、P3的输出电路是由一个上拉电阻和一个FET组成,没有高阻隔离状态,不是一个三态门,所以它们为准双向口。读锁存器:就是读端口锁存器数据,使用的是缓冲器2 。有些指令如:ANL P0,A 称为“读,改,写”指令,需要读锁存器。482.3 MCS-51单片机的I/O口21DQCK/Q读引脚 =0读锁存器=0写锁存器内部总线地址/数据 控制引脚P0.X34控制=0 时,此脚作输出口(外接上拉电阻)00100截止截止=0Vcc (2)P0.0P0.7作为输出口,引脚应外接上拉电阻。

33、二、单片机I/O的工作原理VccR(外接)输出输出=149CPU发出控制电平“0”封锁与门,使输出上拉场效应管VP截止,同时,多路开关将锁存器与输出驱动场效应管VN栅极接通,这样,与内部总线相连的数据从锁存器的反相输出端输出,又经VN反相,P0端口的数据正好是内部总线的数据。注意,由于FETVN的漏极开路,所以需要在漏极外接上拉电阻。5021DQCK/Q读引脚 =0读锁存器=0写锁存器内部总线地址/数据 控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(1)输出地址/数据 =0 时1011=0导通截止=0Vcc(3)在系统扩展时,P0.0P0.7作为地址/数据总线使用。A.双向8位

34、数据口和输出低8位地址复用口【 输出0】2.3 MCS-51单片机的I/O口二、单片机I/O的工作原理51又可以分为:输出地址/数据,输出地址/输入数据。http:/ MCS-51单片机的I/O口B.双向8位数据口和输出低8位地址复用口【输出1】21DQCK/Q读引脚 =0读锁存器=0写锁存器内部总线引脚P0.X34控制=1时,此脚作地址/数据复用口:(2)输出地址/数据 =1 时1100=1截止导通=1地址/数据 控制=1VccVcc二、单片机I/O的工作原理532.3 MCS-51单片机的I/O口 (二)P2.0P2.7: 双向I/O (内置了上拉电阻) 外部程序存储器时输出高8位地址;不

35、接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址高8位 控制引脚 P2.X3内部上拉电阻Vcc二、单片机I/O的工作原理542.3 MCS-51单片机的I/O口(1)P2.0P2.7作为8位准双向I/O口使用【输出】。21DQCK/Q读引脚 =1读锁存器=0写锁存器内部总线地址高8位 控制 引脚P2.X控制=0时,此脚作通用输出口: 输出=1时110截止3内部上拉电阻11Vcc=1=0二、单片机I/O的工作原理552.3 MCS-51单片机的I/O口21DQCK/Q读引脚 =1读锁存器=0写锁存器内部总线地址高8位 控制 引脚P2.X控制=0时

36、,先写1,此脚作通用输入口10截止3内部上拉电阻11Vcc=0二、单片机I/O的工作原理(2)P2.0P2.7作为8位准双向I/O口使用【输入】。562.3 MCS-51单片机的I/O口21DQCK/Q读引脚 =0读锁存器=0写锁存器内部总线地址高8位 控制=1 引脚P2.X01导通3内部上拉电阻0=0=0控制=1 时,此脚作高8位地址A8A15输出口:当输出 =0 时二、单片机I/O的工作原理(3)P2.0P2.7作为高八位地址总线【输出地址】。Vcc572.3 MCS-51单片机的I/O口 (三)P3.0P3.7: 双功能口(内置了上拉电阻) 具有特定的第二功能。在不使用它的第二功能时它就

37、是普通的通用准双向I/O口。21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出引脚 P3.X3内部上拉电阻Vcc第二功能输入4二、单片机I/O的工作原理582.3 MCS-51单片机的I/O口 (1)P3.0P3.7作为第二功能【输出RD/RW/TXD】。锁存器应预先置“1”,以保证与非门对第二功能信号的输出能顺利进行。21DQCK/Q读引脚读锁存器=0写锁存器内部总线第二功能输出(WR,RD,TxD)引脚 P3.X3内部上拉电阻Vcc4第二功能输出时,内部自动 D=1111反相器二、单片机I/O的工作原理592.3 MCS-51单片机的I/O口21DQCK/Q读引脚=0读锁存器=0写

38、锁存器内部总线第二个能输出此端自动1引脚 P3.X3内部上拉电阻Vcc 第二功能输入(RxD/T0/T1/INT0/INT1)4第二功能输入时,信号经缓冲器4 直接进入内总线1110截止 (2)P3.0P3.7作为第二功能【输入RXD/T0/INT0】。二、单片机I/O的工作原理602.3 MCS-51单片机的I/O口 (3)P3.0P3.7作为通用I/O口【输入】。二、单片机I/O的工作原理21DQCK/Q读引脚=1读锁存器=0写锁存器内部总线引脚 P3.X3内部上拉电阻Vcc 第二功能输入4先写1,再读引脚1110截止第二功能输出此端自动1612.3 MCS-51单片机的I/O口 (4)P

39、3.0P3.7作为通用I/O口【输出】。二、单片机I/O的工作原理21DQCK/Q读引脚 = 0读锁存器=0写锁存器内部总线引脚 P3.X3内部上拉电阻Vcc 第二功能输入4输出1的操作1110截止1第二个能输出此端自动1输出输出1622.3 MCS-51单片机的I/O口 (四) P1.0P1.7: 准双向I/O口(内置了上拉电阻)21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻二、单片机I/O的工作原理632.3 MCS-51单片机的I/O口 (1)P1.0P1.7作为输出口【输出1】21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X

40、内部上拉电阻输出数据 = 1 时110截止=1二、单片机I/O的工作原理642.3 MCS-51单片机的I/O口21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据 = 0 时001=0导通 (2)P1.0P1.7作为输出口【输出0】二、单片机I/O的工作原理652.3 MCS-51单片机的I/O口21DQCK/Q读引脚 =1读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截止 (3)P1.0P1.7作为输入口二、单片机I/O的工作原理662.3 MCS-51单片机的I/O口21DQCK/Q读引脚 =0读锁存器

41、写锁存器内部总线Vcc引脚P1.X内部上拉电阻 (五)读单片机I/O口寄存器(以P1口为例)二、单片机I/O的工作原理=167(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的使用682.4 MCS-51单片机的时钟电路与时序2.4.1 MCS-51单片机的时钟电路 时钟电路用来产生CPU工作所需的时钟控制信号。时钟的频率直

42、接影响单片机的速度,时钟电路的质量直接影响单片机系统的稳定性。 时钟电路的设计形式:内部方式和外部方式(一)内部方式: 原理:借助于单片机内部电路(反相放大器)外接晶体振荡器和微调电容构成自激振荡器,提供时钟信号。 OSC:1.2M12MHz C1、C2:530pF 内部方式内部方式XTAL2XTAL18051C1C2OSC692.4.1 MCS-51单片机的时钟电路XTAL1XTAL2外部振荡源外部方式外部方式8051VCCR(2)外部方式 直接使用外部振荡脉冲信号。(常用于多CPU系统,以保持各个CPU同步工作)外部振荡脉冲信号为满足一定的幅宽的方波,频率不大于12MHz。70 在计算机中

43、,一条指令可分解为若干个基本的微操作,这些微操作所对应的脉冲信号在时间上有严格的先后次序,即为计算机的时序。 (一)时钟周期、机器周期与指令周期 时钟周期:就是一个振荡周期 振荡周期(T):为晶体振荡器(晶振)的振荡周期2.4.2 MCS-51单片机的时序oscfT1 机器周期(TM) : CPU完成一个基本操作所用的时间。 MCS-51单片机的1个机器周期包含12个时钟周期oscfT12M指令周期(TI):执行一条指令所用的时间; MCS-51:1TI = 1 4 TM712.4.2 MCS-51单片机的时序MCS-51单片机的机器周期(TM)状态P1相P2相TMTM722.4.2 MCS-

44、51单片机的时序(二) 典型指令的时序取指令,执行指令04XXXXXXXXXXXXXX程序存储器2000H2002H2003H2004H2005H2006H2007H2001HINC A 的机器码P1相P2相读机器码读下一个机器码,丢弃CPU执行指令 I NC A(PC)加加1(PC)不加不加1(1)单字节单周期指令73 (2)双字节单周期指令2.4.2 MCS-51单片机的时序2450XXXXXXXXXXXX程序存储器2000H2002H2003H2004H2005H2006H2007H2001H读机器码 24读机器码 50CPU执行指令 ADD A, #50H(PC)加加1(PC)加加1(

45、PC)加加1(二) 典型指令的时序读下一个指令的机器码74 (3)单字节双周期指令2.4.2 MCS-51单片机的时序程序存储器A3XXXXXXXXXXXXXX2000H2002H2003H2004H2005H2006H2007H2001HCPU执行指令INC DPTR读操作码 A3 读下一个操作码,丢弃读下一个操作码,丢弃读下一个操作码,丢弃(PC)加加1(PC)不加不加1(PC)不加不加1(PC)不加不加1(二) 典型指令的时序752.4.2 MCS-51单片机的时序(4)单片机访问外部数据存储器指令的时序E0XXXXXX2000H2001H2002H2003H程序存储器1FFFHCPU执

46、行访问外部数据存储器指令的时序(二) 典型指令的时序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

47、2.5 MCS-51单片机的复位电路 2.5.1单片机复位及复位状态 复位是单片机的一个重要的工作状态。在单片机开始工作时需要上电复位、在运行过程中发生了故障或意外情况需要强制复位等。复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。MCS-51单片机复位的条件: 在振荡器运行的情况下,在RESET引脚上保持2个以上机器周期(24个振荡周期)的高电平,就可以使单片机可靠地复位。782.5 MCS-51单片机的复位电路特殊功能寄存器及其复位时的内容寄存器内容备注寄存器内容备注PC0000HCPU从0单元执行程序TH000H清0DPTR0000H清0TL000H清0,定时器/计数器T1的

48、初值为0ACC00H清0TCON00H关闭T0、T1B00H清0TMOD00HT0、T1为定时模式方式0、非门控方式SP07H堆栈从08H单元开始IPXXX00000B全部中断源为低优先级PSW00H当前工作寄存器区BANK0IE0XX00000B禁止所有中断P0P3FFH引脚输出全为1,可直接作为输入口使用SBUF不确定随机数TH000H清0SCON00H方式0、禁止接收TL000H清0,定时器/计数器T0的初值为0PCON0XXXXXXXB清0/通信波特率不加倍792.5 MCS-51单片机的复位电路 (1)复位对MCS-51片内RAM(007FH)的影响: 在单片机工作过程中CPU复位时

49、,不会影响MCS-51片内RAM(007FH)的状态。 存储在位寻址区202FH的标志位状态不变,但是,R0R7的内容不一定是复位以前的R0R7,因为PSW被清0了,此时R0R7代表的是0007的内容。 (2) 复位对MCS-51片内SFR(80FFH)的影响: 单片机工作过程中CPU复位时,大多数SFR被清0,程序设计时必须注意。复位对片内复位对片内RAMRAM和和SFRSFR的影响的影响:802.5 MCS-51单片机的工作方式 MCS51系列单片机的复位是由外部的复位电路实现的。在实际应用中,单片机通常采用2种形式的复位电路:上电自动复位电路和按钮开关复位电路。 设计要求:在RESET(

50、RST)端维持110ms的高电平。 2.5.1单片机复位及复位状态 上电自动复位电路上电自动复位电路 按钮开关及上电自动复位电路按钮开关及上电自动复位电路 812.5 MCS-51单片机的工作方式2.5.2程序执行方式单步执行方式:是利用单片机的外部中断功能实现的,单步执行键相当于外部中断源。连续执行方式2.5.3掉电保护方式单片机系统在运行过程中发生掉电故障时,为避免系统数据丢失,必须先把有用数据转存,然后启动备用电源维持供电以继续保存有用数据。由于备用电源容量有限,为减少消耗,系统掉电后时钟电路和CPU等都停止运行,只有内部RAM和必要的专用寄存器继续工作,用以继续保存数据。822.5 M

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁