2.3 80C51单片机的并行端口结构
80C51单片机引脚图及引脚功能介绍
80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
单片机系统扩展技术(并行口)
2-1 80C51单片微机的内部结构 2-2 80C51单片机的引脚及其功能 2-3 80C51 CPU的结构和特点 2-4 存储器结构和地址空间 2-5 并行输入/输出端口 2-6 布尔(位)处理器 2-7 80C51单片微机的工作方式
2-4-2 内部数据存储器
数据存储器(data memory)由随机存取存储器RAM 构成,用来存放随机数据。 在 80C51 中 , 数 据 存 储 器 又 分 片 内 数 据 存 储 器 (internal data memory)和片外数据存储器(external data memory)两部分。 片内数据存储器(IRAM)地址只有8位,因而最大寻 址范围为256个字节。 在80C51中,设置有一个专门的数据存储器的地址指 示 器 —— 数 据 指 针 DPTR , 用 于 访 问 片 外 数 据 存 储 器 (ERAM)。数据指针DPTR也是16位的寄存器,这样,就 使80C51具有64 KB的数据存储器扩展能力。
当地址/数据输出线置1时,控制上拉电路的“与”门输出为1, 上拉FET导通,同时地址/数据输出通过反相器输出0,控制 下拉FET截止,这样A点电位上拉,地址/数据输出线为“1”。
当地址/数据输出线置0时,“与”门输出为0,上拉FET截止, 同时地址/数据输出通过反相器输出1,控制下拉FET导通, 这样A点电位下拉,地址/数据输出线为“0”。 通过上述分析可以看出,此时的输出状态随地址/数据 线而变。因此,P1口可以作为地址/数据复用总线使用。这时 上下两个FET处于反相,构成了推拉式的输出电路,其负载能 力大大增加。此时的P0口相当一个双向口。
在某一时刻,只能选用一个寄存器组使用。其选择是通 过软件对程序状态字(PSW)中的RS0、RS1二位的设置 来实现的。设置RS0、RS1时,可以对PSW字节寻址,也 可以位寻址方式,间接或直接修改RS0、RS1的内容。通 常采用后者较方便。
很全的51单片机IO端口详解(带图)
80C51的I/O端口结构及应用特性一,I/O端口的结构1,锁存器加引脚的典型结构80C51的I/O端口都有内部总线实现操作控制。
P0-P3四个I/O 口都可以做普通I/O口,因此,要求具有输出锁存功能。
内部总线有事分时操作,因此每个I/O端口都有相应的锁存器。
然而I/O端口又是外部的输入/输出通道,必须有相应的引脚,故形成了I/O端口的锁存器加引脚的典型结构。
2,I/O口的复用功能(1)I/O口的总线复用。
80C51在使用并行总线扩展时,P0口可作为数据总线口和低8位地址总线口,这是,P0为三态双向口。
P0口输出总线的地址数据信号,P2口输出高8位地址信号。
(2)I/O口的功能复用。
I/O口的P3为功能复用的I/O端口。
端口有复用输出的控制端;引脚也有复用输入的控制端。
3,准双向结构P0,P1,P2,P3口做普通I/O口使用时,都是准双向口结构。
准双向口的典型结构见P1口位结构图。
准双向口的输入操作和输出操作本质不同,输入操作时读引脚状态;输出操作时对口锁存器的写入操作。
有口锁存器和引脚电路可知:当有内部总线对只1或只0时,锁存器的0、1状态立即反应到引脚上。
但是输入操作(读引脚)时,如果口锁存器的状态为0,引脚被嵌位在0状态,导致无法读出引脚的高电平输入。
二,I/O端口的应用特性1,引脚的自动识别。
无论P0,P2口的总线复用,还是P3口的功能复用,内部资源会自动选择,不需要通过指令的状态选择。
2,口锁存器的读、该、写操作。
许多涉及到I/O端口的操作,只是涉及口锁存器的读出、修改、写入的操作。
这些指令都是一些逻辑运算指令、置位/清除指令、条件转移指令以及将I/O口作为目的地址的操作指令。
3,读引脚的操作指令。
如果某个I/O口被指定为源操作数,则为读引脚的操作指令。
例如,执行MOV A,P1时,P1口的引脚状态传送到累加器中,执行MOV P1,A是,指令则将累加器的内容传送到P1口锁存器中。
4,准双向口的使用。
第2章80C51的结构和原理-之并行口
/* 控制1个发光二极管闪烁程序*/ #include <reg51.h> sbit p1_0=P1^0; void delay (unsigned char i); void main( ) { while(1) +5V { p1_0=0; delay(100); p1_0=1; delay(100); } } void delay (unsigned char i) { unsigned char j,k; for(k=0;k<i;k++) for(j=0;j<255;j++); }
(1)作为通用I/O口与P1口类似----(W=1)
第二输出功能
VCC
R
读锁存器 内部总线 写锁存器
读引脚
D Q
W
P3.n P3口 T
引脚
CLK Q
第二输入功能
2.4并行输入/输出电路结构
四、P3口的内部结构
(2)P3第二功能(Q=1) 此时引脚部分输入(Q=1、W=1) ,部分输出(Q=1、W输出) 。 第二输出功能 读锁存器 VCC
void delay() { unsigned int i; for(i=0;i<20000;i++); }
void liushui() { unsigned int i; for(i=0;i<8;i++) { P3=~(0x01<<i); delay(); } }
void shanshuo() { P3=0x00; delay(); P3=0xff; delay(); }
P1. 5
P1. 6 P1. 7
/* 流水灯*/ #include <reg51.h>
单片机 第二章 80C51系列单片机内部结构与工作原理
2.2 80C51单片机内部基本结构及引脚功能
③检查单片机芯片的好坏,可用示波器查看ALE端
是否有脉冲信号输出。
④ALE端的负载能力为8个LS型TTL。 :对EPROM型单片机,如对87C51BH编程时 的编程脉冲输入端。 ⑵、 (29脚):程序存储允许输出端。片外程
序存储器的读选通信号,低电平有效。
2.2 80C51单片机内部基本结构及引脚功能
3、基本功能单元
功能: 满足单片机测控功能要求的基本计算机外 围电路,用来完善和扩大计算机的功能.
组成: 包括定时/计数器、中断系统、串行通信 接口等。 说明: (1)80C51有两个16位定时/计数器 (T0和T1)。 作用: 可以作为内部定时器或外部脉冲计数器使 用。作内部定时器时,是靠对时钟振荡器的12分频脉
2.1 2.2 2.3
2.4
2.5 2.6
2.7
2.8 2.9
80C51系列单片机简介 80C51单片机内部基本结构及引脚功能 80C51单片机CPU结构 80C51存储器结构 输入/输出(I/O)端口 单片机的工作过程 80C51的低功耗方式 本章小结 练习思考题
第二章
80C51系列单片机内部结构与工作原理
①CPU从外部ROM取指令时,在每个机器周期中两 次有效。但在访问片外RAM时,要少产生两次负脉冲信
2.2 80C51单片机内部基本结构及引脚功能
号。有效时,将外部ROM中的指令读到数据总线上。
②检查单片机系统上电后,CPU能否正常到 EPROM/ROM中读取指令码,可用示波器查看该端有无负 脉冲信号输出。 ③可驱动8个LS型TTL门电路。
⑶、 (31脚):内部/外部ROM地址选择信号/ 固化编程电压输入端。 :①为高电平,CPU访问ROM有两种情况: 当PC中的值小于0FFFH时,执行片内ROM指令; 当PC中的值超过0FFFH时,将自动转向执行片外 ROM指令。
80C51并口结构与操作
器)、存储器和I/O口组成。其内部逻辑结构如图 缓冲器 所示。
B寄存器 ACC 暂存器2 ALU 暂存器1 堆栈指示器SP PC加1寄存器 PCON SCON TMODTCON TH0 TL0 TH1 TL1 SBUF SBUF IE (TX) (RX) 中断、串行口和定时器 程序计数器PC
PSEN ALE
外部 时钟 信号
内部时钟方式
外部时钟方式
20/43
20
80C51单片机CPU的时钟与时序
80C51的时钟信号
振荡周期:也称时钟周期,是指为单片机提供时钟脉冲 信号的振荡源的周期,TX实验板上为11.0592MHZ。 状态周期:每个状态周期为时钟周期的2倍,是振荡周期 经二分频后得到的。 机器周期:一个机器周期包含6个状态周期S1-S6,也就 是12个时钟周期。在一个机器周期内,CPU可以完成一个 独立的操作。 指令周期:它是指CPU完成一条操作所需的全部时间。每 条指令执行时间都是有一个或几个机器周期组成。MCS51系统中,有单周期指令、双周期指令和四周期指令。
4K字节ROM、128字节RAM
4个8位并口
1个全双工串行口
2个16位定时/计数器
5个中断源、2个优先级
6/43
教学内容
80C51单片机CPU的功能单元
运算器、控制器、寄存器组
80C51单片机最小系统:电源、时钟电路、 复位电路
CPU的时钟与时序 80C51单片机的复位
26
80C51的并口结构与操作
P0口的位结构
Vcc 读锁存器 地址/数据 1/0 控制(=0时) Vcc
内部总线
D Q 锁存器 CL /Q MUX (控制=0时)
P0.x 引脚
80C51串口结构
80C51串口结构2014年2月18日(一)80C51串行口的结构■两个物理上独立的接收、发送缓冲器SBUF(逻辑同名、物理分开),可同时收、发数据。
■两个缓冲器共用一个特殊功能寄存器字节地址:99H。
■定时器T1作为串行通信的波特率发生器。
■数据传送过程(异步串行)发送操作:累加器A→SBUF→由发送控制器TI控制与门开→在发送时钟的控制下,将该并行数据逐位移位输出→置位TI,标志数据传送完毕。
通过软件查询或中断,CPU继续发送第二个数据。
接收操作:移位寄存器一位位接收数据并转换为并行格式→SBUF接收到数据,置RI,标志接收到数据。
通过软件查询或中断方式,通知CPU接收数据,移位寄存器继续接收第二个数据。
(二)80C51串行口的控制寄存器(SCON、PCON)●串行口控制寄存器SCON作用:(1■SM0■SM2当串行口以方式2或方式3接收时(1)SM2=1时,接收机处于地址帧筛选状态。
可利用接收到的第9位(即RB8)筛选地址帧;若RB8=1,该地址帧信息可进入SBUF,并使RI为1,进而在中断服务中再进行地址号比较;若RB8=0,该帧不是地址帧,应丢掉,且保持RI=0。
(2)SM2=0时,接收机处于地址帧筛选被禁止状态。
不论收到的RB8为0或1,均可以使收到的信息进入SBUF,并使RI=1。
此时的RB8通常为校验位。
方式1时,如果SM2=1,则只有收到停止位时才会置位RI。
方式0时,SM2必须为0。
■REN:串行接收使能位,由软件置“1”或清“0”REN=1,允许串行口接收数据REN=0,禁止串行口接收数据■TB8:发送的第9位数据方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为多机通信中表示主机发送的是地址帧或数据帧的标志。
=1为地址帧, =0为数据帧■RB8:接收的第9位数据方式2和3时,RB8存放接收到的第9位数据。
在方式1,置SM2=0,进入RB8的是停止位。
80C51的基本结构
80C51的基本结构80C51的引脚封装时钟电路总线控制CPUROM/EPROM/FLASH4K 字节RAM 128字节 SFR 21个定时/计数器2个中断系统5中断源、2优先级串行口 全双工 2个并行口 4个RST EAALE PSENXTAL2XTAL1P0 P1 P2 P3V CCV SS一、80C51的内部结构:1.80C51的微处理器(CPU)(1)运算器:累加器ACC ;寄存器B ;程序状态字寄存器PSW 。
(2)控制器:程序计数器PC ;指令寄存器IR ;定时与控制逻辑2.80C51的片内存储器在物理上设计成程序存储器和数据存储器两个独立的空间:(1)内部ROM容量4K字节,范围是:000H~0FFFH(2)内部RAM容量128字节,范围是:00H~7FH3.80C51的I/O口及功能单元(1)四个8位的并行口,即P0~P3。
它们均为双向口,既可作为输入,又可作为输出。
每个口各有8条I/O线。
(2)有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);(3)有2个16位的定时/计数器;(4)有1套完善的中断系统。
4.80C51的特殊功能寄存器(SFR)内部有SP,DPTR(可分成DPH、DPL两个8位寄存器),PCON,…,IE,IP等21个特殊功能寄存器单元,它们同内部RAM的128个字节统一编址,地址范围是80H~FFH。
增强型单片机的SFR有26个字节单元,所增加的5个单元均与定时/计数器2相关。
二、80C51的时钟与时序1.80C51的时钟产生方式可分为内部时钟和外部时钟2.80C51的时钟信号一个机器周期包含12个晶荡周期或6个时钟周期,指令的执行时间称作指令周期(单、双周期)。
各指令的微操作在时间上有严格的次序,这种微操作的时间次序我们称作时序。
三、80C51单片机的复位复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。
复位有上电复位和上电复位和按键均有效的复位。
80C51单片机内部结构和工作原理
⒋ I/O线
80C51共有4个8位并行I/O端口:P0、P1、P2、 P3口,共32个引脚。P3口还具有第二功能,用于特 殊信号输入输出和控制信号(属控制总线)。
P3.0 —— RXD:串行口输入端; P3.1 —— TXD:串行口输出端; P3.2 —— INT0:外部中断0请求输入端; P3.3 —— INT1:外部中断1请求输入端; P3.4 —— T0:定时/计数器0外部信号输入端; P3.5 —— T1:定时/计数器1外部信号输入端; P3.6 —— WR:外RAM写选通信号输出端; P3.7 —— RD:外RAM读选通信号输出端。
度比一般内RAM要快,指令字节比一般直接寻址 指令要短,还具有间址功能,能给编程和应用 带来方便。
工作寄存器区分为4个区:0区、1区、2区、3 区。每区有8个寄存器:R0~R7,寄存器名称相 同。但是,当前工作的寄存器区只能有一个,由 PSW中的D4、D3位决定。
⒉ 位寻址区
⑴地址: 从20H~2FH共16字节(Byte,缩写为英文大写字
Intel MCS-52 子系列
8032 8052
8752
256
80C32 80C52 87C52 字节
(8K字节) (8K字节)
3x16
4x8位
1
6
1051(1K)/ 2051(2K)/ 4051(4K)
ATEML
(20条引脚DIP封装)
128
2
15
1
5
89C系列
(常用型)
89C51(4K)/ 89C52(8K) (40条引脚DIP封装)
04H
03H
第2章 80c51单片机的结构
2.2 存储器结构与处理器
2.2.3 数据存储器(SRAM) 数据存储器( ) 1、内部数据存储器(00H-7FH) 、内部数据存储器( - ) (1)工作寄存器区(00H-1FH) )工作寄存器区( - )
五个 中断源
看门狗
振荡器 决定计 算机运 行速度
XL2 XL1
共占用 32个引P2 P0 P1 脚
P3.6 P3.7
一个全 双工的P3.1 P3.0 异步通 信口
T0 T1 两个外 中断、 P3.2 P3.3 三个内 中断
S
防死机 电路
80C51结构和引脚 2.1 80C51结构和引脚
1、一个8位的 、一个 位的 位的CPU,是计算机的核心部件,主要用于 ,是计算机的核心部件, 运算和控制(字长= );CPU需要有时钟电 运算和控制(字长=8bit); ); 需要有时钟电 产生脉冲信号(主频)。 路,产生脉冲信号(主频)。 2、内部RAM一共 、内部 一共256B,可读可写(指令);但正真 );但正真 一共 ,可读可写(指令); 用于一般数据存储的只有128B(内存),另外 ),另外 用于一般数据存储的只有 (内存), 128B作为专用寄存器使用(用于对计算机的各种 作为专用寄存器使用( 作为专用寄存器使用 设定和工作状态的反映);外部可扩展64KB。 );外部可扩展 设定和工作状态的反映);外部可扩展 。 3、内部有4KB的FlashROM,只能读不能写(指 、内部有 的 ,只能读不能写( ),一般用于存放程序和表格 一般用于存放程序和表格; 令),一般用于存放程序和表格;外部可扩展 64KB。 。
80c51p34p352180c51211内部结构at89s51一个8位的cpu128b的数据存储器sram4k的程序存储器flashrom两个16位的定时计数器t0t1并行iop0p1p2p3cpu包含运算时钟电路振荡器决定计算机运行速度中断源在线编程at89s看门狗at89s可读可写存储只能读不能写指令可工作在定时或计数两种状态1共占用32个引rxdtxdp30p31p32p33一个全双工的异步通信口两个外中断三个内中断isp串口编程防死机电路三总线数据总线地址总线控制总线xl2xl1p36p37p0p1p2vccgndrstpsenaleeat0t11一个8位的cpu是计算机的核心部件主要用于运算和控制字长8bit
单片机原理及接口技术第2章80C51的结构和原理
19H
18H
24H
27H
26H
25H
24H
23H
22H
21H
20H
25H
2FH
2EH
2DH
2CH
2BH
2AH
29H
28H
26H
37H
36H
35H
34H
33H
32H
31H
30H
27H
3FH
3EH
3DH
3CH
3BH
3AH
39H
38H
28H
47H
46H
45H
44H
43H
42H
41H
80C51的时钟信号
1个机器周期:12个晶荡周期(或6个时钟周期)
指令的执行时间称作指令周期 (单、双、四周期)
80C51的典型时序
单字节指令 双字节指令
单周期指令
双周期指令
2个机器周期中ALE有效4次,后3次读操作无效。
访问外部RAM的双周期指令时序
当前工作寄存器组选择
PSW寄存器中:
片内RAM详图
位寻址区
字节 地址
位地址
D7
D6
D5
D4
D3
D2
D1
D0
20H
07H
06H
05H
04H
03H
02H
01H
00H
21H
0FH
0EH
0DH
0CH
0BH
0AH
09H
08H
22H
17H
16H
15H
14H
13H
12H
11H
第二章 80C51单片机基本结构1
(4)程序状态字寄存器PSW 8位寄存器,用于指示指令执行后的状态信息,相当于一般 微处理器的标志寄存器。PSW的位结构如下表所示。 D7 Cy D6 AC D5 F0 D4 RS1 D3 RS0 D2 OV D1 D0 P
• Cy:高位进位标志位 当ALU的算术运算过程中有进位或借位时, Cy=1;否则,Cy=0。同时,该位还可以用作位累加器,这时一般 只用“C”表示。 • AC:辅助进位标志 当ALU的算术运算过程中低4位向高4位有进 位或借位时,AC=1;否则,AC=0。该位常用于BCD码的调整。 • F0:用户标志位 • RS1、RS0:选择工作寄存器组位 用于选择内部数据存储器区内 4组工作寄存器中的某一组。具体选择情况见寄存器介绍部分。 • OV:溢出标志位 运算结果超出机器所能表示的范围时称溢出。溢出
在不访问外部存储器时,ALE端仍以上述不变的频率, 周期性地出现正脉冲信号,利用该脉冲信号可以作为定时 信号,也可以用于判断芯片好坏。 对于87C51单片机来说,在对片内EPROM进行编程期间, 该引脚将作为编程脉冲 的输入端。 P ROG
③ P SEN引脚:片外程序存储器读选通信号输出端,当从片 外程序存储器读取指令或数据时,每个机器周期(一个 机器周期有12个振荡周期)将有两次有效(低电平), 以使片外程序存储器输出使能,如图所示:
外接时 钟源 电源
振荡器和 时序逻辑
定时计数器
程序存储器
数据存储器
CPU
内部 总线
64K空间总 线控制 中断控制 逻辑 并行I/O口 串行I/O口
80C51单片机结构框图
外部时钟源 外部事件计数
振荡器和时序 OSC
程序存储器 4KBROM
数据存储器 128B RAM
51单片机并行口的操作
P3.4——T0,定时器/计数器0外部计数脉冲输入。
P3.5——T1,定时器/计数器1外部计数脉冲输入。 替代输出功能: P3.l——TXD,串行输出口。 P3 . 6—— 外 部 数 据 存 储 器 写 选 通 , 输 出 , 低 电 平 有 效 。 P3.7——外部数据存储器读选通,输出,低电平有效。
⒉ P3口的功能
P3口是一个多功能口。 ⑴可作I/O口使用,为准双向口。 既可以字节操作,也可以位操作;既可以 8 位口操作,也可 以逐位定义口线为输入线或输出线;既可以读引脚,也可以读 锁存器,实现“读一修改一输出”操作。
⑵ 可以作为替代功能的输入、输出。
替代输入功能: P3.0 —— RXD,串行输入口。 P3.2——INT0,外部中断0的请求。 P3﹒3——INT1,外部中断1的请求。
并行输入/输出端口
•80C51共有四个 8位的并行双向口,计有 32根输入/输出 (I/O)口线。各口的每一位均由锁存器、输出驱动器和输 入缓冲器所组成。因此,CPU数据从并行I/O接口输出时可 以得到锁存,输入时可以得到缓冲。由于它们在结构上的 一些差异,故各口的性质和功能也就有了差异。
输入/输出端口结构
B、P1口的位结构 • P1口由于只能作为I/O口使用,因而输出控制电路 结构同P0口不同。
P1口
P1口是一个8位口,可以字节访问也可按位访问,其字节访 问地址为90H,位访问地址为90H~97H。 ⒈ 位结构和工作原理 包含输出锁存器、输入缓冲器BUF1(读引脚)、BUF2(读锁 存器)以及由 FET晶体管 Q0与上拉电阻组成的输出/输入驱 动器。
⑵ 作地址/数据复用总线用
此时P0口为一个准双向口,T1、T2相当于上拉电阻。 作数据输入口 时, 也不是悬浮状态。作地址/数据 复用总线用:作数据总线用时,输入/输出8位数据 D0~ D7 ;作地址总线用时,输出低 8位地址 A0~ A7 。 当 P0 口作地址/数据复用总线用之后,就再也不能 作I/O口使用了。
单片机原理与接口技术第2章80C51单片机的硬件结构
每个存储单元一个唯一的地址,为了减少存储器向外引出 的地址线,在存储器内部都带有译码器。n根导线可以译成2n 个地址号。在80C51系列单片机中有16根地址线,也就是说在 80C51系列单片机中有216=65536个地址号。
3.存储单元的读、写操作
(1)存储器的读过程
① CPU产生片选信号选通某存储器并发出“读”信号。 ② CPU将地址码送到地址总线上,经存储器地址译码器译码后 选通该地址的存储单元。 ③ 存储器该单元的数据送到数据总线上。 ④ CPU将总线上的数据放入某一指定的寄存器。 读操作,不会破坏该单元原来的内容,只相当于数据的复制。
4.80C51系列单片机存储空间配置
80C51的存储器组织结构可以分为三个不同的存储空间
⑴ 64KB程序存储器(ROM),包括片内ROM和片外ROM; ⑵ 64KB外部数据存储器(外RAM) ⑶ 256B内部数据存储器(内RAM) (包括特殊功能寄存器)
2.2.2 80C51的程序存储器(ROM)
8.2个16位的定时/计数器 9.5个中断源
2.1.2 外部引脚功能
1.电源引脚 VCC:芯片电源,+5 V。 VSS:接地。
2.时钟引脚 XTAL1、XTAL2:晶体振荡电路反相输入端和输出 端。
3.控制引脚 RST/VPD:复位信号输入端/备用电源输入端 EA/VPP:内外ROM选择端/片内EPROM编程电源。 ALE/PROG:地址锁存允许/片内EPROM编程脉冲。 PSEN:外部ROM读选通信号。
18H
19H
1AH
1BH
1CH
1DH
1EH
1FH
(2)位寻址区(20H~2FH) 作用:不但有字节地址,而且每一字节中的每一位还有位地 址,可以位操作,执行例如置1、清0、求反、转移、传送等 逻辑操作。 (3)数据缓冲区(30H~7FH) 作用:用于存放各种数据和中间结果,起到数据缓冲的作用。 堆栈一般开辟在这个区域。
单片机原理与接口技术 80C51 单片机的硬件结构
2.2 80C51单片机的逻辑结构及信号引脚
2.2.1 80C51单片机的内部逻辑结构 1. 中央处理器CPU (1)运算电路 (2)控制电路 2. 内部数据存储器 3. 内部程序存储器 4. 定时器/计数器 5. 并行I/O口 6. 串行口 7. 中断控制电路 8. 时钟电路 9. 位处理器 10. 内部总线
3. 定时器/计数器 MCS-51单片机片内有两个16位的定时/计数器,即定
时器0和定时器1。它们可以用于定时控制、延时以及对外 部事件的计数和检测等。 4. 并行I/O口
80C51单片机共有4个8位的I/O口(P0、P1、P2和P3), 每一条I/O线都能独立地用作输入或输出。
5. 串行I/O口 80C51单片机具有一个采用通用异步工作方式的全双工
电源引脚Vcc和Vss Vcc:电源端,接+5V。 Vss:接地端。
docin/sundae_meng
3. 芯片引脚的第二功能
“复用”即给一些信号引脚赋予双重功能。第二功能பைடு நூலகம்号
定义主要集中在P3口线中,另外再加上几个其它信号线。
EPROM存储器程序固化所需要的信号
编程脉冲:
30脚(ALE/PROG)
docin/sundae_meng
(2) MCS-96系列单片机
MCS-96系列单片机是Intel公司在1983年推出的16位单 片机,它与8位机相比,具有集成度高、运算速度快等特点。 它的内部除了有常规的I/O接口、定时器/计数器、全双工 串行口外,还有高速I/O部件、多路A/D转换和脉宽调制 输出(PWM)等电路,其指令系统比MCS-51更加丰富。
器,其主要特点是程序存储器和数据存储器的寻址空间 是相互独立的,物理结构也不相同。
80C51的并行端口
•
⑨ 端口引脚结构的上下不对称性决定
了其进行输出时,对于拉电流负载和灌电
流负载的驱动能力,也存在较大的不对称
性。
•
⑩ 对于传统80C51而言,4个并行端
口的输出驱动能力,与其他流行单片机相
比,都是比较弱的,并且4个并行端口之间
还有所差异。P0端口的每条引脚都可以驱
动8个LS-TTL逻辑电路输入端;而P1、P2
1.P0端口
图5-20 一条P0端口引脚的内部结构(对于80C51)
2.P1端口
图5-21 CMOS工艺的P0端口引脚等效电路
3.P2端口
图5-22 一条P2端口引脚的内部结构
4.P3端口
图5-23 P2端口引脚等效电路
图5-24 一条P3端口引脚的内部结构
图5-25 P3端口引脚等效电路
5.3.2 7段LED显示
1.7段LED显示器结构与原理
图5-11 7段LED显示器件
表5-3 LED段选码和显示字符之间的关系
显示字符
0 1 2 3 4 5 6 7 8
9
共阴极段 选码
3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH
6FH
共阳极段 选码
C0H F9H A4H B0H 99H 92H 82H F8H 80H
一个字符时,相应的发光二极管就恒定地 导通或截止。4个显示管的静态显示电路如 图5-12所示。
(2)LED动态显示方式
• 所谓“动态显示”就是用扫描方式一 位一位地轮流点亮LED显示器的各个位。
• 特点是:将多个7段LED显示器同名端 的段选线复接在一起,只用一个8位I/O端口 控制各个LED显示器公共阴极轮流接地的 方法,逐一扫描点亮,使每个LED显示该 位应当显示的字符。恰当地选择点亮LED 的时间间隔(1ms~5ms),会给人一种 视觉暂停效应,似乎多位LED都在“同时” 显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
80C51单片机的并行端口结构80C51共有4个8位的并行I/O口,分别记作P0、P1、P2、P3。
被归入专用寄存器。
I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。
(1)并行I/O口的功能①PO口:电路中包括一个数据输出锁存器和两个三态数据输入缓存器,另外还有一个数据输出的驱动和控制电路。
这两组端口用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口的总线接口,而不像P1、P3直接用做输出口。
P0.0~P0.7,P0口是8位双向I/O口,P0.i引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。
该8位都是漏极开路(漏极开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态)输出,每个引脚可以驱动8个LS型TTL负载且内部没有上拉电阻,执行输出功能时外部必须接上拉电阻(10K 即可)。
若要执行输入功能,必须先输出高电平方能读取该端口所连接的外部数据;若在访问外部存储器(RAM、ROM)和扩展的I/O口时,P0可作为地址总线(A0~A7)和数据总线(D0~D7),分时进行工作。
在指令的前半周期,P0口作为地址总线的低8位,在指令的后半周期为8位的数据总线。
P1口的各个单元:输入缓冲器:在P0口中,有两个三态的缓冲器,三态门有三个状态,即在其输出端可以是高电平、低电平和高阻状态(或称为禁止状态)。
上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为…读锁存器‟端)有效。
要读取P0.i引脚上的数据,也要使标号为…读引脚‟的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。
D锁存器:存储器中可以存放电荷,加一个小的存储器的单元,并在它的面前加一个开关,要让这一位输出时,就把开关打开,信号就进入存储器的单元,然后马上关闭开关,这一位的状态就被保存下来,直到下一次命令让它把开关再打开为止,这就是锁存器。
图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q是反向输出端。
构成一个锁存器,通常要用一个时序电路(包含有存储元件的系统,),一个触发器(触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发)可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。
对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CL没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q的。
如果时序控制端CL的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q端。
数据传送过来后,当CL时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。
如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。
多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为地址/数据总线使用。
那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为数据/地址总线使用的选择开关了。
当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为地址/数据总线使用的。
输出驱动部份:P0口的输出是由两个MOS管(MOS管是金属(metal)—氧化物(oxid)—半导体(semiconductor)场效应晶体管)组成的推拉式结构,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。
与门、与非门:起开关作用的集成电路。
又称“与电路”。
执行“与”运算的基本门电路。
有几个输入端,只有一个输出端。
作为I/O端口使用时的工作原理:P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),多路开关的控制信号同时与与门的一个输入端是相接的,与门的逻辑特点是“全1出1,有0出0”,这时与门输出的也是一个0(低电平),与门的输出是0,V1管就截止。
在多路控制开关的控制信号是0(低电平)时,多路开关是与锁存器的Q端相接的(即P0口作为I/O口线使用)。
P0口用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CL有效时,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q端→多路开关→V2管的栅极→V2的漏极到输出端P0.i,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,当驱动上接电流负载时,需要外接上拉电阻。
P0口用作I/O口线,其由引脚向内部数据总线输入(即输入状态Input)的工作过程:数据输入时(读P0口)有两种情况:①读引脚读引脚数时,读引脚缓冲器打开(即三态缓冲器的控制端要有效),通过内部数据总线输入。
②读锁存器过打开读锁存器三态缓冲器读取锁存器输出端Q的状态。
作为地址/数据复用口使用时的工作原理:这时多路开关控制信号为1,与门解锁,与门输出信号电平由地址/数据线信号决定;多路开关与反相器的输出端相连,地址信号经地址/数据线→反相器→V2场效应管栅极→V2漏极输出。
例如:控制信号为1,地址信号为0时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。
反之,控制信号为“1”、地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。
可见,在输出“地址/数据”信息时,V1、V2管是交替导通的,负载能力很强,可以直接与外设存储器相连,无须增加总线驱动器。
②P1口:P1.0~P1.7,P1口是一个带有上拉电阻的8位双向I/O口。
P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线。
由内部总线输出的数据经锁存器反相(反相器是可以将输入信号的相位反转180度)和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口。
要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。
为此,在作引脚读入前,必须先对该端口写入l。
具有这种操作特点的输入/输出端口,称为准双向I/O口。
单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。
如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。
③P2口:P2.0~P2.7,P2口是一个带有上拉电阻的8位双向I/O口。
在访问外部存储器(ROM和RAM)和扩展的I/O口时,送出的地址总线的高8位。
每个引脚可以驱动4个LS型TTL负载;若要执行输入功能,必须先输出高电平方能读取该端口所连接的外部数据;若系统连接外部存储器的地址线超过8条时,则P2口可作为地址总线(A15~A8)引脚。
P2端口的主要特点包括:i. 不能输出静态的数据;ii. 自身输出外部程序存储器的高8位地址;iii. 执行MOVX指令时,还输出外部RAM的高位地址,故称P2端口为动态地址端口。
作为I/O端口使用时的工作过程不需要高8位地址时(在这种情况下,不能通过数据地址寄存器DPTR读写外部数据存储器),P2口可以当做I/O口使用。
这时,控制信号为0,多路开关转向锁存器同相输出端Q,输出信号经内部总线→锁存器同相输出端Q→反相器→V2管栅极→V2管漏极输出。
由于V2漏极带有上拉电阻,可以提供一定的上拉电流,负载能力约为8个TTL与非门;当作为输出口时,同样需要向锁存器写入“1”,使反相器输出低电平,V2管截止,即引脚悬空时为高电平,防止引脚被钳位在低电平。
读引脚有效后,输入信息经读引脚三态门电路到内部数据总线。
作为地址总线使用时的工作过程P2口作为地址总线时,控制信号为1,多路开关接向地址线(即向上接通),地址信息经反相器→V2管栅极→漏极输出。
由于P2口输出高8位地址,与P0口不同,无须分时使用,因此P2口上的地址信息(程序存储器上的A15~A8)功数据地址寄存器高8位DPH保存时间长,无须锁存。
④P3口:P3.0~P3.7,P3口是一个带有上拉电阻的8位双向I/O口。
在80C51单片机中,第一个功能是作为通用的I/O口,第二个功能是作为特殊信号线使用。
P3端口和Pl端口的结构相似,区别仅在于P3端口的各端口线有两种功能选择。
当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/输出,其作用与P1端口作用相同,也是静态准双向I/O端口。
当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信号,在输入方面,即可以通过缓冲器读入引脚信号,还可以通过替代输入功能读入片内的特定第二功能信号。
由于输出信号锁存并且有双重功能,故P3端口为静态双功能端口。
P3各口线的第二功能:P3.0 RxD (串行输入口)P3.1 TxD (串行输出口)P3.2 O INT (外部中断0)P3.31INT (外部中断1) P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR (外部数据存储器写脉冲)P3.7 RD (外部数据存储器读脉冲)(2)并行I/O 口的结构分析① 输出结构场效应管(属于电压控制型半导体器件,把输入电压的变化转化为输出电流的变化)的导通和截止代表了引脚输出的高和低,若场效应管导通,则引脚输出就是低电平;若场效应管截止,则输出高电平。
② 输入结构在80C51单片机中输入有两种方式,分别称为“读引脚”和“读锁存器”。
第一种方式是将引脚作为输入,那是真正的从外部引脚读进输入的值;第二种方式是该引脚处于输出状态时,有时需要改变这一位的状态,并不需要真正地读引脚状态,而是读入锁存器的状态,然后做某种变换后在输出。
若将这一根引线作为输入口使用,接在外部的开关如果打开,则应当输入1;而如果闭合开关,则输入0;但是如果单片机内部的开关是闭合的,不管外部的开关是闭合还是打开,单片机接受到的数据都是0.要让这一端口作为输入使用,先让内部的开关断开,也就是让端口输出“1”才行。