版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 第二章第二章 MCS-51单片机的结构和原理单片机的结构和原理 2.1 MCS-51单片机的结构单片机的结构 2.2 MCS-51单片机的引脚及其功能单片机的引脚及其功能 2.3 8051存储器配置存储器配置 2.4 CPU 2.5 复位及其复位电路复位及其复位电路 2.6 输入输出端口结构输入输出端口结构 2 2.1 MCS-51单片机的结构单片机的结构 MCS-51系列单片机都是以系列单片机都是以Intel公司最早的典型产品公司最早的典型产品8051为为 核心,增加了一定的功能部件后构成的,因此,本章以核心,增加了一定的功能部件后构成的,因此,本章以8051 为主介绍为主介绍MCS-5
2、1系列单片机系列单片机 。 2.1.1 MCS-51单片机的基本组成单片机的基本组成 MCS-51单片机的组成:单片机的组成: CPU(进行运算、控制)、RAM(数据存 储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线 和中断系统等。组成框图如下:组成框图如下: 3 (1)8位位CPU。 (2)布尔代数处理器,具有位寻址能力。)布尔代数处理器,具有位寻址能力。 (3)128B内部内部RAM数据存储器,数据存储器,21个专用寄存器。个专用寄存器。 (4)4KB内部掩膜内部掩膜ROM程序存储器。程序存储器。 (5)2个个16位可编程定时器位可编程定时器/计数器。计数器。 (6)32个
3、(个(48位)双向可独立寻址的位)双向可独立寻址的I/O口。口。 (7)1个全双工个全双工UART(异步串行通信口)。(异步串行通信口)。 (8)5个中断源、两级中断优先级的中断控制器。个中断源、两级中断优先级的中断控制器。 (9)时钟电路,外接晶振和电容可产生)时钟电路,外接晶振和电容可产生1.2MHz12 MHz的的 时钟频率。时钟频率。 (10)外部程序)外部程序/数据存储器寻址空间均为数据存储器寻址空间均为64KB。 (11)111条指令,大部分为单字节指令。条指令,大部分为单字节指令。 (12)单一)单一+5V电源供电,双列直插电源供电,双列直插40引脚引脚DIP封装。封装。 805
4、1包含以下功能部件包含以下功能部件 4 5 2.1.2 MCS-51单片机内部结构单片机内部结构 6 1.运算器运算器 一一. CPU内部结构内部结构 7 2.控制器控制器 8 9 2.2 MCS-51单片机引脚单片机引脚 及其功能及其功能 1电源引脚 Vss:接地引脚。接地引脚。 VCC:正电源引脚。接正电源引脚。接5V5V电源。电源。 MCS-51系列单片机中,各类单片机都是相互兼容的,只 是引脚功能略有差异。8051单片机有40个引脚,分为端口引 脚、电源引脚和控制信号引脚三类。 10 2.XTAL1和和XTAL2 1 XTAL1 XTAL2 C1 C2 晶振 8051 至内部时钟电路
5、外部时钟源接法 8051 1 XTAL1 XTAL2 VSS TTL 外部时 钟信号 VCC 11 3控制信号引脚控制信号引脚 (1)RST/VPD 12 (2)ALE/ 地址锁存允许地址锁存允许/编程引脚。当访问外部程序存储器时,编程引脚。当访问外部程序存储器时,ALE 的输出用于锁存地址的低位字节,以便的输出用于锁存地址的低位字节,以便P0口实现地址口实现地址/数据数据 复用。当不访问外部程序存储器时,复用。当不访问外部程序存储器时,ALE端将输出一个端将输出一个1/6 时钟频率的正脉冲信号。时钟频率的正脉冲信号。 ALE/ 是复用引脚,其第二功能是对是复用引脚,其第二功能是对EPROM型
6、型 芯片(如芯片(如8751)进行编程)进行编程 写入(固化程序)时,作为编程写入(固化程序)时,作为编程 脉冲输入端。脉冲输入端。 (3) /VPP PROG PROG EA 13 (4)/PSEN端端 / PSEN:程序存储允许输出信号端 片外ROM选通线。在执行访问片外ROM的指令MOVC时, 8051自动在/PSEN引脚产生一个负脉冲,用于对片外 ROM的选通。 /PSEN有效,即允许读ROM中的指令码 。 单片机单片机 锁存器锁存器 74LS373 P0.0-P0.7 ALE PSEN P2.0-P2.4 8D8Q OE A8-A12 A0-A7 D0-D7 G EAOE CE EP
7、ROM 14 4I/O端口 (1)P0口( P0.0P0.7 ) 15 (2 2)P1P1口(口(P1.0P1.0P1.7P1.7) 8位准双向位准双向I/O口,内部具有上拉电阻,可作为通用口,内部具有上拉电阻,可作为通用 I/O口。每个引脚可驱动口。每个引脚可驱动4个个TTL负载。负载。 (3)P2口(口(P2.0P2.7) 8位准双向位准双向I/O口,内部具有上拉电阻,可作为外部口,内部具有上拉电阻,可作为外部 扩展时的高扩展时的高8位地址总线。又可作为通用位地址总线。又可作为通用I/O口,每口,每 个引脚可驱动个引脚可驱动4个个TTL负载。负载。 对访问片外对访问片外EPROM/RAM时
8、,它输出高时,它输出高8位地址。位地址。 (4)P3口(口( P3.0P3.7 ) 8位准双向位准双向I/O口,内部具有上拉电阻。它是双口,内部具有上拉电阻。它是双 功能复用口,作为通用功能复用口,作为通用I/O口时,功能与口时,功能与P1口相同,口相同, 常用第二功能。每个引脚可驱动常用第二功能。每个引脚可驱动4个个TTL负载。作为负载。作为 第二功能使用时,各位的作用如下页表所示。第二功能使用时,各位的作用如下页表所示。 16 17 2.3 8051存储器配置存储器配置 18 19 2.3.1程序存储器地址程序存储器地址 空间空间 MCS-51的程序存储器用于存放的程序存储器用于存放 编好
9、的程序和表格常数。编好的程序和表格常数。8051片片 内有内有4 KB的的ROM,8751片内有片内有4 KB的的EPROM,8031片内无程序片内无程序 存储器。存储器。 MCS-51的片外最多能的片外最多能 扩展扩展64 KB程序存储器,片内外程序存储器,片内外 的的ROM是统一编址的。如是统一编址的。如 端保持高电平,端保持高电平,8051的程序计数的程序计数 器器PC在在0000H0FFFH地址范围地址范围 内内 (即前即前4 KB地址地址) 是执行片内是执行片内 ROM中的程序,当中的程序,当PC在在 1000HFFFFH地址范围时地址范围时(超超 过片内过片内ROM容量时容量时),
10、自动执行,自动执行 片外程序存储器中的程序;当片外程序存储器中的程序;当 保持低电平时,只能寻址外部程保持低电平时,只能寻址外部程 序存储器,片外存储器可以从序存储器,片外存储器可以从 0000H开始编址。开始编址。 EA EA 20 程序存储器地址空间程序存储器地址空间(续续) MCS-51的程序存储器中某些单元是留给系统用的,使用时应的程序存储器中某些单元是留给系统用的,使用时应 予以注意。予以注意。 其中一组特殊单元是其中一组特殊单元是0000H0002H。系统复位后,。系统复位后, (PC)=0000H,单片机从,单片机从0000H单元开始取指令执行程序。如单元开始取指令执行程序。如
11、果程序不从果程序不从0000H单元开始,应在这三个单元中存放一条无条单元开始,应在这三个单元中存放一条无条 件转移指令,以便直接转去执行指定的程序。件转移指令,以便直接转去执行指定的程序。 还有一组特殊单元是还有一组特殊单元是0003H002AH,共,共40个单元。这个单元。这40 个单元被均匀地分为个单元被均匀地分为5段,作为段,作为5个中断服务程序的入口。个中断服务程序的入口。 21 程序存储器地址空间程序存储器地址空间(续续) 中断响应后,按中断源种类,自动转到各中断区的中断响应后,按中断源种类,自动转到各中断区的 首地址去执行程序,因此在中断地址区中理应存放首地址去执行程序,因此在中断
12、地址区中理应存放 中断服务程序。但通常情况下,中断服务程序。但通常情况下,8个单元难以存下个单元难以存下 一个完整的中断服务程序,因此通常也是从中断地一个完整的中断服务程序,因此通常也是从中断地 址区首地址开始存放一条无条件转移指令,以便中址区首地址开始存放一条无条件转移指令,以便中 断响应后,通过中断地址区,再转到中断服务程序断响应后,通过中断地址区,再转到中断服务程序 的实际入口地址。的实际入口地址。 22 2.3.2 数据存储器地址空间数据存储器地址空间 一般将随机存储器(一般将随机存储器(RAM)用做数据存储器。可寻址空间)用做数据存储器。可寻址空间 为为64KB。MCS-51数据存储
13、器可分为片内和片外两部分。数据存储器可分为片内和片外两部分。 片外片外RAM: 最大范围:0000HFFFFH, 64KB;用指令MOVX访问。 片内片内RAM: 最大范围:00HFFH, 256B;用指令MOV访问。又分 为两部分:低128B(007FH) 为真正的RAM区,高128B (80FFH)为特殊功能寄存器 (SFR)区。如右图所示。 00H00H 20H20H 2FH2FH 7FH7FH 1FH1FH 30H30H 80H80H FFHFFH SFR区区 用户用户RAM区区 位寻址区位寻址区 工作寄存器区工作寄存器区R0 R2 R1 R3 R4 R5 R6 R707H 02H 0
14、1H 00H 06H 04H 05H 03H 08H 1FH 工作寄存器区工作寄存器区3 工作寄存器区工作寄存器区2 工作寄存器区工作寄存器区1 工作寄存器区工作寄存器区0 0FH 10H 17H 18H 低低128单元是单片机的真正单元是单片机的真正RAM存储器,按其用途划分为寄存储器,按其用途划分为寄 存器区、位寻址区和用户存器区、位寻址区和用户RAM区三个区域。区三个区域。 片内RAM前32个单元是工作寄存器区 (00H1FH) 1.片内片内RAM低128B单元) 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄 存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器
15、PSW中 RS1、RS0位的状态组合来决定。 23 第二章MCS-51单片机的结构和原 理 24 内部RAM的 20H2FH单元为 位寻址区位寻址区,既可 作为一般单元用 字节寻址,也可 对它们的位进行 寻址。位地址为 00H7FH。 CPU 能直接寻址这些 位(称MCS-51具 有布尔处理功 能),位地址分 配如右表所示。 按字节寻址:每个字节按字节寻址:每个字节(8个位个位)占一个地址占一个地址 按位寻址:有的存储器每一个位就有一个地址按位寻址:有的存储器每一个位就有一个地址 25 用户用户RAM区区 在内部在内部RAM低低128单元中,单元中, 通用寄存器占去通用寄存器占去32个单元,个
16、单元, 位寻址区占去位寻址区占去16个单元,剩个单元,剩 下下80个单元,这就是供用户个单元,这就是供用户 使用的一般使用的一般RAM区,其单元区,其单元 地址为地址为30H7FH。 对用户对用户RAM区的使用没区的使用没 有任何规定或限制,但在一有任何规定或限制,但在一 般应用中常把堆栈开辟在此般应用中常把堆栈开辟在此 区中。区中。 00H00H 20H20H 2FH2FH 7FH7FH 1FH1FH 30H30H 80H80H FFHFFH SFR区区 用户用户RAM区区 位寻址区位寻址区 工作寄存器区工作寄存器区 26 2.片内片内RAM高B128单元 MCS-51有有21个特殊功个特殊
17、功 能寄存器(也称为专用寄存能寄存器(也称为专用寄存 器),包括算术运算寄存器、器),包括算术运算寄存器、 指针寄存器、指针寄存器、I/O口锁存器、口锁存器、 定时器定时器/计数器、串行口、中计数器、串行口、中 断、状态、控制寄存器等,断、状态、控制寄存器等, 它们被离散地分布在内部它们被离散地分布在内部 RAM的的80HFFH地址单元地址单元 中(不包括中(不包括PC) ,共占据,共占据 了了128个存储单元,构成了个存储单元,构成了 SFR区。其字节地址可被区。其字节地址可被8整整 除的除的SFR可位寻址(可位寻址(11个)。个)。 SFR反映了反映了MCS-51单片机的单片机的 运行状态
18、。特殊功能寄存器运行状态。特殊功能寄存器 分布如右表所示。分布如右表所示。 27 (1)累加器)累加器ACC (Accumulator) 累加器累加器ACC是是8位寄存器,是一个最常用的专用寄存器。在位寄存器,是一个最常用的专用寄存器。在 算术算术/逻辑运算中用于存放操作数或结果。在指令系统中用逻辑运算中用于存放操作数或结果。在指令系统中用A 作为的作为的ACC助记符。助记符。 (2)寄存器)寄存器B 28 其中:Cy:进借位标志; AC:辅助进借位标志; F0 :用户标志; RS1、RS0:工作寄存器组(区)选择(如下表所示); OV:溢出标志位,有溢出时置1; P:奇偶标志位。A中有奇数个
19、1时置1。 (3)程序状态字寄存器PSW (Program Status Word) 程序状态字PSW是8位寄存器,用于存放程序运行后的状态信息,PSW中 各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要 采用传送指令加以改变。其定义格式如下页表所示。 29 (4)堆栈指针)堆栈指针SP(Stack Pointer) 堆栈是一种数据结构,是内部RAM的一段区域。 堆栈存取数据的原则是“后进先出后进先出”。设立堆栈的 目的是用于数据的暂存,中断、子程序调用时断点 和现场的保护与恢复。 堆栈指针SP是一个8位寄存器,用于指示堆栈的栈 顶,它决定了堆栈在内部RAM中的物理位置。 M
20、CS-51单片机的堆栈地址向大的方向变化 (与微机堆栈地址向小的方向变化相反)。系统复 位后,SP初值为07H,实际应用中通常根据需要在 主程序开始处对堆栈指针SP进行初始化。 30 31 (5)数据指针)数据指针DPTR(Data Pointer) 数据指针DPTR是16位的特殊功能寄存器,既 可作为16位寄存器使用,也可作为两个独立 的8位寄存器DPH (高8位) 、DPL (低8位) 使用。 DPTR称作地址指针。 32 33 2.4 CPU时序时序 时序:时序:CPU在执行指令时所需控制信号在执行指令时所需控制信号 的时间顺序称为时序。的时间顺序称为时序。 2.4.1片内振荡器及时钟信
21、号的产生片内振荡器及时钟信号的产生 在在8051芯片内部有一个高增益反相放大芯片内部有一个高增益反相放大 器,其输入端为芯片引脚器,其输入端为芯片引脚XTAL1,其,其 输出端为引脚输出端为引脚XTAL2 。而在芯片的外。而在芯片的外 部,部,XTAL1和和XTAL2之间跨接晶体振之间跨接晶体振 荡器和微调电容,从而构成一个稳定荡器和微调电容,从而构成一个稳定 的自激振荡器,这就是单片机的时钟的自激振荡器,这就是单片机的时钟 电路,如图所示。电路,如图所示。 一般地,电容一般地,电容C1和和C2取取30 pF左右,晶体左右,晶体 的振荡频率范围是的振荡频率范围是1.212 MHz。晶。晶 体振
22、荡频率高,则系统的时钟频率也体振荡频率高,则系统的时钟频率也 高,单片机运行速度也就快。高,单片机运行速度也就快。MCS-51 在通常应用情况下,使用振荡频率为在通常应用情况下,使用振荡频率为6 MHz或或12 MHz。 1 XTAL1 XTAL2 C1 C2 晶振 8051 至内部时钟电路 时钟振荡电路图 34 35 36 2.4.2 机器周期和指令周期机器周期和指令周期 1. 时钟周期:又称为振荡周期、节拍(用P表示), 定义为单片机提供时钟信号的振荡源(OSC)的 周期。它是时序中的最小单位。 2. 状态(用S表示):单片机振荡脉冲经过二分频 后即得到整个单片机工作系统的状态。一个状态
23、有两个节拍,前半周期对应的节拍定义为P1,后 半周期对应的节拍定义为P2。 37 3. 机器周期:通常将完成一个基本操作所需的时间称为机器周机器周期:通常将完成一个基本操作所需的时间称为机器周 期。期。 MCS-51中规定一个机器周期包含中规定一个机器周期包含12个时钟周期,即有个时钟周期,即有6 个状态,分别表示为个状态,分别表示为S1S6。 若晶振为若晶振为6MHz,则机器周期为,则机器周期为2s,若晶振为,若晶振为12MHz, 则机器周期为则机器周期为1s。 4. 指令周期:执行一条指令所需要的时间称为指令周期。它是指令周期:执行一条指令所需要的时间称为指令周期。它是 时序中的最大单位。
24、一个指令周期通常含有时序中的最大单位。一个指令周期通常含有14个机器周期。个机器周期。 指令所包含的机器周期数决定了指令的运算速度,机器周期指令所包含的机器周期数决定了指令的运算速度,机器周期 数越少的指令,其执行速度越快。数越少的指令,其执行速度越快。 以机器周期为单位,指令可分为单周期、双周期和四周以机器周期为单位,指令可分为单周期、双周期和四周 期指令。期指令。 38 单片机各种周期的相互关系单片机各种周期的相互关系 P1P2 S1 P2 振荡周期 时钟周期 机器周期机器周期 指令周期 XTAL2 (OSC) S2S3S4S5S6S1S2 S4 S5S3S6 P1P1 P1 P1P1P1
25、P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2 双周期指令 39 2.4.3 CPU取指取指、执行执行周期周期时序时序 (自学)(自学) 指令的集合称为程序,执行程序的过程就是执行指令的过程。指令的集合称为程序,执行程序的过程就是执行指令的过程。 单片机执行任何一条指令时都可以分为取指阶段和执行阶段。单片机执行任何一条指令时都可以分为取指阶段和执行阶段。 在取指阶段,在取指阶段,CPU从程序存储器中取出指令操作码,送指令从程序存储器中取出指令操作码,送指令 寄存器,再经指令译码器译码,产生一系列控制信号,完成寄存器,再经指令译码器译码,产生一系列控制信号,完成 本指令规定的操
26、作。本指令规定的操作。 单周期和双周期指令的取指时序图如下页图所示。单周期和双周期指令的取指时序图如下页图所示。 ALE信号是用于锁存低信号是用于锁存低8位地址的选通信号,每出现一次位地址的选通信号,每出现一次 该信号,单片机即进行一次读指令操作。当指令为多字节或该信号,单片机即进行一次读指令操作。当指令为多字节或 多周期指令时,只有第一个多周期指令时,只有第一个ALE信号进行读指令操作,其余信号进行读指令操作,其余 的的ALE信号为无效操作(或读操作数操作)。信号为无效操作(或读操作数操作)。 40 MCS-51单片机指令的取指和执行时序单片机指令的取指和执行时序 再 读 下 一 条指令 再
27、 读 下 一 条指令 XTAL2 (OSC) P2 S1 ALE 读操作码 读下一个操作 码(丢弃) 读第二字节 (a) 单字节,单周期指令 例:MOV A R1 (d)单字节,双周期指令,如MOVX P1P2 S1 P1P2 S2 P1P2 S3 P1P2 S4 P2 S5 P2 S6 P2 S1 P1P1P1P1P2 S2 P1P2 S3 P1P2 S4 P1P2 S5 P2 S6 P2 S1S2 P1P1P1 P1P2 S2 P1P2 S3 P1P2 S4 P1P2 S5 P1P2 S6 P1P2 S1 P1 P2 S1 读操作码 P1P2 S2 P1P2 S3 P1P2 S4 P1P2
28、 S5 P1P2 S6 P1P2 S1 P1 读下一个操作码(丢弃) (b) 双字节,单周期指令 例:ADD A dir (c)单字节,双周期指令 例:INC DPTR 读 操 作 码 ( MOVX) 读下一个操作码 (丢弃) 无取指无ALE 无取指 地址 数据(DATA) 访问外部存储器 P2 S1 读操作码 P1P2 S2 P1P2 S3 P1P2 S4 P1P2 S5 P1P2 S6 P1P2 S1 P1P2 S2 P1P2 S3 P1P2 S4 P1P2 S5 P1P2 S6 P1P2 S1 P1P2 S2 P1 P2 S1 P1P2 S2 P1P2 S3 P1P2 S4 P1P2 S
29、5 P1P2 S6 P1P2 S1 P1P2 S2 P1P2 S3 P1P2 S4 P1P2 S5 P1P2 S6 P1P2 S1 P1P2 S2 P1 单周期指令的执行从S1P2开始, 在S1P2期间读入操作码并把 它锁存到指令寄存器中。 双字节指令, 则在同一机器 周期的S4期间读出第2个字 节。 对于单字节指令在S4 处仍有一次读操作, 但这时 读出的字节(下一条指令的 操作码)是不予考虑的, 而 且程序计数器PC也不加1。 对于单周期指令, 在上述任 何情况下, 指令都在S6P2期 间完成操作。 图中的(a ) 和(b)分别表示单字节单 周期和双字节单周期指令的 执行时序。图(c)表示
30、单 字节双周期指令的时序, 单 字节双周期指令在两个机器 周期内作4次读操作码的操 作, 由于是单字节指令, 后3 次读操作是无效的。 图(d)表示执行访问外部数据 存储器指令MOVX的时序, 这是一条单字节双周期指令, 具有其特殊性。 41 2.5 复位及复位电路复位及复位电路 2.5.1 复位操作复位操作 复位是单片机初始化操作。单片机复位是使单片机复位是使CPU和系统中的其和系统中的其 他功能部件都处在一个确定的初始状态,并从这个状态开始他功能部件都处在一个确定的初始状态,并从这个状态开始 工作,例如复位后工作,例如复位后PC=0000H,使单片机从第一个单元取指,使单片机从第一个单元取
31、指 令。令。 单片机在开机时都需要复位,以便单片机在开机时都需要复位,以便CPU及其他功能部件都处于及其他功能部件都处于 一种确定的初始状态,并从这个状态开始工作。单片机运行一种确定的初始状态,并从这个状态开始工作。单片机运行 出错或进入死循环时,可按复位键重新运行。出错或进入死循环时,可按复位键重新运行。 MCS-51单片机在单片机在RST引脚产生两个机器周期(即引脚产生两个机器周期(即24个个 时钟周期)以上的高电平即可实现复位。时钟周期)以上的高电平即可实现复位。 42 43 复位不影响片内RAM存放的内容, 而ALE、 在复位期间将输出高电平。 由上表可以看出: (1) (PC)=00
32、00H 表示复位后程序的入口地址为0000H; (2)(PSW)=00H, 其中RS1(PSW.4)=0, RS0(PSW.3)=0, 表示复位后单片机选择 工作寄存器0组; (3) (SP)=07H 表示复位后堆栈在片内RAM的08H单元处建立; (4) P0口P3口锁存器为全1状态, 说明复位后这些并行接口可以直接作输入 口, 无须向端口写1; (5) TH1、TL1、TH0、TL0的内容为00H,定时器/计数器的初值为0。 (6)(TMOD)=00H,复位后定时器/计数器T0、T1为定时器方式0,非门控方式。 (7) (TCON)=00H,复位后定时器/计数器T0、T1停止工作,外部中断
33、0、1为电 平触发方式。 (8) (SCON)=00H,复位后串行口工作在移位寄存器方式,且禁止串行口接收。 (9) (IE)=00H,复位后屏蔽所有中断。 (10) (IP)=00H,复位后所有中断源都设置为低优先级。 PSEN 44 2.5.2复位电路复位电路 上电复位电路:是利用电容充电来实现的。在接电瞬间,RESET端的电 位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要 保证RESET为高电平的时间大于两个机器周期,便能正常复位。 按键复位电路:除具有上电复位功能外,若要复位,只需按图(b)中 的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一
34、个 复位高电平。按键脉冲复位:利用RC微分电路产生的正脉冲实现的。 2 2 F C1 RST R1 1K +5V 2 2 F C1 RST +5V R2 200 RST R1 +5V C2 22F 8031 8051 8751 8031 8051 8751 8031 8051 8751 (a)上电复位电路 (c)按键脉冲复位电路 (b)按键电平复位电路 R1 1K 22F C1 1K R2 1K 2.6.1 P0口口 P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口 和输出低8位地址复用口;不接外部程序存储器 时可作为8位准双向I/O口使用。 2
35、 1 DQ CK/Q 读引脚读引脚 读锁存器读锁存器 写锁写锁 存器存器 内部内部 总线总线 地址地址/数据数据 控制控制 引脚引脚P0.X 3 4 Vcc 2.6 输入输出端口结构输入输出端口结构 45 第二章MCS-51单片机的结构和原 理 2 1 DQ CK/Q 读引脚读引脚 =1 读锁存器读锁存器 写锁写锁 存器存器 内部内部 总线总线 地址地址/数据数据 控制控制 引脚引脚P0.X 3 4 控制控制=0 时,此脚作时,此脚作输入口输入口(事先必须对它写(事先必须对它写“1”) 0 0 1 0 0 截截 止止 截截 止止 =0 Vcc P0P0口口 当输入操作时,端口中两个三态缓冲器用
36、于读操作。缓 冲器1用于读端口引脚的数据。当执行端口读指令时, 读引脚脉冲打开三态缓冲器1,于是端口引脚数据经三 态缓冲器1送到内部总线。 以防场效应管处于导通状态,使引脚箝位到零,而引起误读。以防场效应管处于导通状态,使引脚箝位到零,而引起误读。 qin clamp 46 第二章MCS-51单片机的结构和原 理 47 缓冲器2用于读取锁存器Q端的数据。当执行“读-修改-写”指令 (即读端口信息,在片内加以运算修改后,再输出到该端口的某 些指令如:ANL P0,A指令),即是读的锁存器Q的数据。 2 1 DQ CK/Q 读引脚读引脚 读锁存器读锁存器 写锁写锁 存器存器 内部内部 总线总线 地
37、址地址/数据数据 控制控制 引脚引脚P0.X 3 4 Vcc 48 对于这类对于这类“读读修改修改写写”指令,不直接读引脚而指令,不直接读引脚而 读锁存器是为了避免可能出现的错误。因为在端口读锁存器是为了避免可能出现的错误。因为在端口 已处于输出状态的情况下,如果端口的负载恰是一已处于输出状态的情况下,如果端口的负载恰是一 个晶体管的基极,导通了的个晶体管的基极,导通了的PN结会把端口引脚的结会把端口引脚的 高电平拉低,这样直接读引脚就会把本来的高电平拉低,这样直接读引脚就会把本来的“1”误误 读为读为“0”。但若从锁存器。但若从锁存器Q端读,就能避免这样的端读,就能避免这样的 错误,得到正确
38、的数据。错误,得到正确的数据。 2 1 DQ CK/Q 读引脚读引脚 =0 读锁存器读锁存器 写锁写锁 存器存器 内部内部 总线总线 地址地址/数据数据 控制控制=1 引脚引脚P0.X 3 4 控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (1)输出地址)输出地址/数据数据 =0 时时 1 0 1 1 =0 导导 通通 截截 止止 =0 Vcc P0P0口口 P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口 和输出低8位地址复用口;不接外部程序存储器 时可作为8位准双向I/O口使用。 49 第二章MCS-51单片机的结构和原
39、理 2 1 DQ CK/Q 读引脚读引脚 =0 读锁存器读锁存器 写锁写锁 存器存器 内部内部 总线总线 地址地址/数据数据 控制控制=1 引脚引脚P0.X 3 4 控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (2)输出地址)输出地址/数据数据 =1 时时 1 1 0 0 =1 截截 止止 导导 通通 =1 Vcc P0P0口口 P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口 和输出低8位地址复用口;不接外部程序存储器 时可作为8位准双向I/O口使用。 50 第二章MCS-51单片机的结构和原 理 2 1 DQ CK/Q
40、读引脚读引脚 =1 读锁存器读锁存器 写锁写锁 存器存器 内部内部 总线总线 地址地址/数据数据 控制控制=1 引脚引脚P0.X 3 4 控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (3)输入数据时,输入指令将使引脚与内部总线直通)输入数据时,输入指令将使引脚与内部总线直通 Vcc P0P0口口 P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口 和输出低8位地址复用口;不接外部程序存储器 时可作为8位准双向I/O口使用。 51 第二章MCS-51单片机的结构和原 理 52 POPO作作I/OI/O口使用口使用 当当P0口口作
41、为通用的作为通用的I/O口使用时,口使用时, 内部的控制信号为低电平,内部的控制信号为低电平, 封锁与门,将输出驱动电路封锁与门,将输出驱动电路 的上拉场效应管(的上拉场效应管(FET)截)截 止,同时使多路转接电路止,同时使多路转接电路 MUX接通锁存器接通锁存器/Q端端 的输的输 出通路。出通路。 当CPU向端口输出数据时,写 脉冲加在锁存器的 CP上、 内部总线的数据经反相,再 经V2管反相,PO口的这一 位引脚上出现正好和内部总 线同相的数据。当。当P0口进行口进行 一般的一般的I/O输出时,输出时, 由于输 出驱动级是漏极开路电路(因 V1截止),应外接的上拉电 阻。因此必须外接因此
42、必须外接10K上拉上拉 电阻才能有高电平输出;电阻才能有高电平输出; VCC 地址/数据 控制 锁存器 P0.X D CP Q Q MUX V1 V2 P0.X 引脚 读锁存器 写锁存器 内部总线 读引脚 置位置位P1引脚的锁存器引脚的锁存器 MOV A, P1 ; 读读P1引脚上的信号送累加器引脚上的信号送累加器A 注意:写引脚时是直接向端口输出要写的数据,注意:写引脚时是直接向端口输出要写的数据, 读引脚时就要区分是读端口的引脚信号还是读锁存器信读引脚时就要区分是读端口的引脚信号还是读锁存器信 号。号。 读端口信号是必须先向端口写读端口信号是必须先向端口写“1”,然后再读,这就是单,然后再
43、读,这就是单 片机口信号的准双向的含义。切记!片机口信号的准双向的含义。切记! 67 在在I/O口直接用做输入口直接用做输入/输出时,输出时,CPU既可以把它们看做数据口,也可以看做既可以把它们看做数据口,也可以看做 状态口,这是由用户决定的。状态口,这是由用户决定的。 例题1要求设计跑马灯。要求设计跑马灯。 硬件电路设计硬件电路设计: 1.设计单片机最小系统 2.设计带按键的复位电路 3.使用一个P口连接八个led发光二极管 4.软件设计 各引脚功能如下:各引脚功能如下: VCC:接正电源;接正电源; Vss:接地;接地; 举例:I/O口直接用于输入/输出 68 69 程序设计:程序设计:
44、;实验一:单片机最小系统及流水灯程序实验一:单片机最小系统及流水灯程序 org 00h ;源程序起始地址源程序起始地址 jmp main ;跳转到跳转到MAIN org 0050h ;主程序开始地址主程序开始地址 main:mov a,#11111110B ;立即数送入立即数送入A loop: mov p1,a ;数据送数据送P1口口 rr a ;右循环一下;右循环一下 lcall delay ;延时子程序延时子程序 ajmp loop;重复循环;重复循环 delay: mov r3,#250 ;延时子程序;延时子程序 d1:mov r4,#235 d2:nop nop nop djnz r4
45、,d2 djnz r3,d1 ret end 70 P0P3口的使用口的使用 P0口:可以作为通用的口:可以作为通用的I/O口进行数据的输入输出,口进行数据的输入输出, 实际中绝大多数情况下都作为地址实际中绝大多数情况下都作为地址/数据线使用。数据线使用。 P1口:通常是作为通用口:通常是作为通用I/O口使用的口使用的 P2口:口: P2口可以作为通用口可以作为通用IO口使用。通常,口使用。通常,P2 口是作为高位地址线使用。口是作为高位地址线使用。 P3口:第一功能是作为口:第一功能是作为I/O口使用,它的第二功能口使用,它的第二功能 信号都是单片机的重要控制信号。在实际使用时,信号都是单片
46、机的重要控制信号。在实际使用时, 都是先按需要选用第二功能信号,剩下的才以第一都是先按需要选用第二功能信号,剩下的才以第一 功能的身份作数据位的输入功能的身份作数据位的输入/输出使用。输出使用。 71 端口小结端口小结 (1)系统总线:)系统总线: 地址总线(地址总线(16位):位):P0(地址低地址低8位)、位)、P2口(地址高口(地址高8位)位) 数据总线(数据总线(8位):位):P0口(地址口(地址/数据分时使用);数据分时使用); 控制总线(控制总线(6根):根):P3口的第二功能、和口的第二功能、和9、29、30、31脚;脚; (2)供用户使用的端口:)供用户使用的端口:P1口、部分
47、未作第二功能的口、部分未作第二功能的P3口;口; (3)P0口作地址口作地址/数据时,是真正的双向口,三态,负载能力为数据时,是真正的双向口,三态,负载能力为 8个个LSTTL电路;电路;P1P3是准双向口,负载能力为是准双向口,负载能力为4个个LSTTL 电路。电路。 (4)P0P3在用作输入之前必须先写在用作输入之前必须先写“1”,即:,即: (P0)=FFH (P3)=FFH 。 72 1、什么是、什么是ISP 随着电子技术的日益发展,芯片的规模 越来越大,封装日趋小型化,相应的对系统板 级调试困难也在加大。 回忆一下传统的编程方式,举设计单片 机系统为例,如果想要对单片机编程序,必须 要把单片机先从电路板上取下来,然后放入专 用的编程器进行编程,最后再次放入电路板进 行调试。 补充补充: AT89S51的的ISP下载线原理及其应用 73 ISP技术技术 ISP(In-System Programming) Lattice是ISP(在线可编程)技术的发明者(据 说Lattice公司最早是由华人创办的),I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年塔里木职业技术学院单招职业适应性测试题库附参考答案详解(黄金题型)
- 兽药供应合同
- 农村养老服务机构地方志监督实施办法
- 2026年塔里木职业技术学院单招职业技能测试题库带答案详解(预热题)
- 2026年安徽工业职业技术学院单招职业技能测试题库及答案详解(典优)
- 2026年四川航天职业技术学院单招职业适应性测试题库带答案详解(基础题)
- 2026年天津商务职业学院单招职业倾向性测试题库附答案详解(培优b卷)
- 2026年宁波卫生职业技术学院单招职业倾向性测试题库带答案详解(综合题)
- 2026年宁夏固原地区单招职业适应性测试题库带答案详解(模拟题)
- 2026年太湖创意职业技术学院单招职业适应性考试题库及答案详解参考
- 高危胸痛患者的识别要点
- DB22T 2578-2016 易燃易爆场所防雷防静电装置检测技术规范
- 浙江省金华市金东区2023-2024学年八年级上学期期末语文试题及答案
- YC-T 591-2021 烟草行业实验室安全管理要求
- 2023年冬、雨季施工监理细则
- 风险和机遇识别、评价及控制措施表
- 部队珍爱生命教育课件
- 城市燃气工程系统的规划的资料课件
- 漆安慎力学第二版课后习题解答及漆安慎-力学答案
- 沥青搅拌站安全生产风险分级管控体系方案资料(2022-2023版)
- WTO海关估价协议中文版
评论
0/150
提交评论