MCS-51单片机输入输出口
MCS51单片机的输入输出通道接口
传感器的发展方向:
传感器已经成为现代信息技术系统三大支柱之一,在工 业、农业、航空航天、军事国防等领域得到了日益广泛的应 用。其发展方向主要有以下几个方面: (1)利用新的物理现象、化学反应、生物效应设计传感器。 (2)引入数据融合技术。 (3)使用新型材料,向微功耗、集成化及无源化发展。 (4)采用新的加工技术。 (5)向微型化发展。 (6)向高可靠性、宽温度范围发展等。 ( 7)器件自身是数字化的,不需要再经过数/模、模/数变换。
5.2.1 D/A转换器的性能指标
(1)分辨率:指D/A转换器能分辨的最小输出模拟增量,即相 邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。 可用最低位(LSB)表示。如,n位D/A转换器的分辨率为 1/2n。
(2)精度:精度是指D/A转换器的实际输出与理论值之间的误 差,它是以满量程VFS的百分数或最低有效位(LSB)的分 数形式表示。
NOP
MOV A,R1
;从R1中取出低8位到A寄存器
MOV R3,#08H ;循环初值 8次
AA: RLC , A ;最低位送入C寄存器
MOV P1.1,C ;位数据送上DIN
NOP
SETB P1.2 NOP NOP CLR P1.2 DJNZ R3,AA NOV R3,#08H MOV A,R2 BB: RLC A MOV P1.1,C NOP NOP SETB P1.2 NOP NOP CLR P1.2 DJNZ R3,BB SETB P1.3 CLR P1.2 是 CLR P1.1
(5)偏移量误差:偏移量误差是指输入数字量为零时,输出模
拟量对零的偏移值。
5.2.2 D/A转换器的分类
3.1MCS-51单片机的并行IO口
一、并行I/O口的功能结构
2、接口功能 (2)通用I/O接口
(四)P0口
此时“控制”信号为“0”,多路开关 MUX向下,输出驱动器处于开漏状态,故需 外接上拉电阻,这种情况下,电路结构与P1 相同,所以也是一个准双向口,当要作为输 入时,必须先向口锁存器写“1”。
一、并行I/O口的功能结构
(四)P0口
这是由接口的特殊结构所决定的。每一个 口都包含一个锁存器,一个输出驱动器和两 个(P3口为3个)输入缓冲器。各口的结构也 P 3 有些差异,下面分别介绍。
一、并行I/O口的功能结构
1、接口结构
(一)P1口
P1口一位的结构如下图所示:
图2.15
一、并行I/O口的功能结构
1、接口结构
(一)P1口
接口结构中锁存器起输出锁存作用, 8位锁存器组成特殊功能寄存器P1,场 效应管和上拉电阻组成输出驱动器,以 增大负载能力,三态门1和三态门2分别 用于控制输入引脚和锁存器的状态。
作为I/O口应用的一个实例,下面介绍 8031单片机的最小应用系统如下图所示
二、产生接口控制信号的指令
(四)P0口
8051指令系统中能与接口打交道的指令 大体可分两类 1.一般的输入/输出指令 2.“读-修改-写”指 令
二、产生接口控制信号的指令
1.一般的输入输出指令
(四)P0口
输入指令执行时,内部产生“读引脚”信号, 直接从口线读入,亦称“读引脚”指令。 下面是属于这种指令的各种实例:
二、产生接口控制信号的指令
(四)P0口 2.“读-修改-写”指令 INC P2 接口锁存器加1 DEC P1 接口锁存器内容减1 DJNZ P3,LOOP 减1后不为零则跳转 还有三条虽不明显,但也属此列: MOV P1.1,C CLR P1.1 SETB P1.1 将进位位送接口的某位 清接口的某一位 接口的某一位置位
mcs-51单片机的引脚和输入输出端口
MCS-51单片机的引脚和输入输出端口MCS-51有4组8位I/O口,共占用32个引脚:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口。
●P0口(P0.0~P0.7)占用32~39脚;●P1口(P1.0~P1.7)占用1~8脚;●P2口(P2.0~P2.7)占用21~28脚;●P3口(P3.0~P3.7)占用10~17脚;这四个口的主要功能如下:(1) P0 口是一个8位不带内部上拉电阻的漏极开路型准双向I/O口,因此该口输出时需外接上拉电阻,而P1 、P2 和P3口都是带内部上拉电阻的8位双向I/O口。
(2) 在访问片外ROM时,P0口分时兼作数据总线和低8位地址线;P2口作高位地址线。
(3) 内部带程序存储器的芯片,在EPROM编程和程序验证时,P1输入低8位地址,P2输入高8位地址,P0输入指令代码。
(注:P1、P2作输入口时,必须要使每位先置“1”,才能读入外部数据。
)(4) P3口除作双向I/0口外还兼有专用功能。
P0口和P2口:图1为P0口和P2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能像P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为216=64k,所以8051最大可外接64kB的程序存储器和数据存储器P1口:图2为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至1,此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
MCS-51单片机的并行接口
1.1 P0口
口结构
P0口
“读-改-写”类指令 先读端口,然后对读入的数据进行修改,最后再写回到端口 不直接读取引脚上的数据而读锁存器Q端内容,是为了消除错
读引脚电平的可能性
P0口
P0既可用作地址/数据总线,又可用作通用I/O端口 用作输出端口时,输出级为开漏电路,在驱动NMOS电路时应
例 某接口电路与单片机使用一条线传送握手信号。双方约定, 单片机先向接口发送一个1和一个0,随后接口电路向单片机回 送一个1
单片机原理与应用
单片机原理与应用
MCS-51单片机的并行接口
MCS-51单片机本身提供了4个8位的并行端口,分别记做P0、 P1、P2和P3,共有32条I/O口线
都是双向端口,每个口包含一个锁存器(即特殊功能寄存器P0、 P1、P2和P3)、一个输出驱动器和输入缓冲器
端口和其中的锁存器都表示为P0、P1、P2、P3 结构不同,功能各异
1.4 P3口
口结构
P3口
作为通用I/O口使用时,工作原理与P1、P2口类似,但第二功 能输出端应保持高电平,使锁存器输出端Q内容能通过与非门
P3口的各位都具有第二功能
P3口
P3口的第二功能输入信号
P3.0——RxD,串行口数据接收 P3.2—— INT0#,外部中断0请求信号输入 P3.3—— INT1#,外部中断1请求信号输入 P3.4——T0,定时器/计数器0外部计数脉冲输入 P3.5——T1,定时器/计数器1外部计数脉冲输入
ORL ANL XRL CPL
P1, #3CH ;将P1中间4位置位
P1, #0C3H ;将P1中间4位清零
P1, #03H ;将P1最低2位取反
P1.5
;取反P1.5
51单片机第七章信号输入输出
对于开关量,可以很容易的映射成数字的0或者1,即 TTL的低电平和高电平,映射后的这些数字信号就可以 直接输入到单片机内部。
输出:
处理的结果需要输出,对于开关量的输出,可以简单 地经过映射部件,将单片机的TTL电平输出信号转换成 所需要的开关量进行输出。
7.2.2传感器特性
选择传感器主要考虑灵敏度、响应特性、线性范围、稳 定性、精确度、测量方式等六个方面的问题。
除了以上选用传感器时应充分考虑的一些因素外,还应 尽可能兼顾结构简单、体积小。重量轻、价格便宜、易于维 修、易于更换等条件。
1、灵敏度
一般说来,传感器灵敏度越高越好,因为灵敏度越高, 就意味着传感器所能感知的变化量小,即只要被测量有一微 小变化,传感器就有较大的输出。但是,在确定灵敏度时, 要考虑以下几个问题:
当被测量是一个向量时,并且是一个单向量时, 就要求传感器单向灵敏度愈高愈好;如果被测量是 二维或三维的向量,那么还应要求传感器的交叉灵 敏度愈小愈好。
2、响应特性
传感器的响应总不可避免地有一定延迟,但我们总希 望器)响应时间短,工作频率宽;
7.1 单片机应用系统的结构
图7.1单片机应用系统的基本结构
单片机应用系统的核心任务:
根据一定的输入(前向通道),结合一定的处理算 法,然后作出一定的输出响应(后向通道)。 输入:
包括模拟输入和数字输入,电量信号输入和非电量 信号输入。对于非电量输入需要通过传感器将非电物 理量转换为模拟电信号。 预处理:一般包括放大器和滤波器两部分:
主要应用
压电传感器主要应用在加速度、压力和力等的测量中。
压电式加速度传感器是一种常用的加速度计。它具有结 构简单、体积小、重量轻、使用寿命长等优异的特点。压 电式加速度传感器在飞机、汽车、船舶、桥梁和建筑的振 动和冲击测量中已经得到了广泛的应用,特别是航空和宇 航领域中更有它的特殊地位。
四 MCS-51单片机存储器系统扩展
74LS373引脚
1、控制位OE: OE=0时,输出导通 2、控制位G: 接ALE 3、Vcc=+5V 4、GND接地
1 74LS373为8D锁存器,其主要特点在于:
控制端G为高电平时,输出Q0~Q7复现输入D0~ D7的状态;G为下跳沿时D0~D7的状态被锁存在Q0 ~Q7上。
MOV DPTR, #0BFFFH ;指向74LS373口地址
MOVX A, @DPTR ;读入
MOV @R0, A
;送数据缓冲区
INC R0
;修改R0指针
RETI
;返回
用74LS273和74LS244扩展输入输出接口
地址允许信号ALE与外部地址锁存信号G相连;
单片机端的EA与单片机的型号有关;
存储器端的CE与地址信号线有关。
P... 2.7 P2.0
ALE 8031
P... 0.7 P0.0
EA
PSEN
外部地址
G
锁存器
I...7
O... 7
I0 O0
A... 15
CE
A8
外部程序
存储器
A... 7 A0
D7. . . D0 OE
6264的扩展电路图
图中CS(CE2)和CE引脚均为6264的片选信号,由于该扩展电路 中只有一片6264,故可以使它们常有效,即CS(CE2)接+5V ,CE接地。6264的一组地址为0000H~1FFFH。
存储器地址编码
SRAM6264:“64”—— 8K×8b = 8KB 6264有13根地址线。 地址空间: A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最低地址: 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 最高地址: 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机
MCS-51单片机IO口详解
单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。
一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。
由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。
二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。
需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。
2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。
第二章 MCS-51单片机输入输出端口
1 0
1 1 1 1
§2.1 MCS-51单片光二极管,编写程序,使 、 口作输出口 口作输出口, 只发光二极管, 只发光二极管 编写程序, 发光二极管对称循环点亮。 发光二极管对称循环点亮。 2、P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作 、 作输入口接两个拨动开关, 作输入口接两个拨动开关 作 输出口,接两个发光二极管,编写程序读取开关状态, 输出口,接两个发光二极管,编写程序读取开关状态, 将此状态,在发光二极管上显示出来。 将此状态,在发光二极管上显示出来。
1 0
2 读引脚 =0 =1 0
控制=0时 此脚用作通用 口 控制 时,此脚用作通用I/O口
§2.1 MCS-51单片机输入\输出端口
P2
读锁存器 1 内部 总线 写锁 存器
地址高8位 地址高 位 控制
=1
Vcc 内部上拉电阻
1 0
T
D Q /Q
0 1
导 截 止 通 引脚P2.X 引脚
1 0
3
CP
具体程序: 具体程序: …… NEXT:MOV 90H, #0FEH MOV 90H, #0FDH …… MOV 90H, #7FH SJMP NEXT
11111110 11111101 11111011 11110111 11101111 11011111 10111111 01111111
0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 07FH
§2.1 MCS-51单片机输入\输出端口
§2.1 MCS-51单片机输入\输出端口
复习
输出数据 输出数据 = 0 时
Vcc Vcc 读锁存器 2 内部 总线 0 写锁 存器 T
MCS51单片机的输入输出通道接口与中断
• 要由编程控制发光二极管发光,ULN2019必须 输出低电平,而ULN2019的输入必须接89S51的P1 口,才能通过软件编程控制二极管发光,所以应借
助短路环将J2中的(1、2)、(4、5)、(7、8)、 (10、11)、(19、20)短接。 • 将J15中的(1、2)、(4、5)用短路环短接。 • 硬件电路检测。线路接好后,用万用表电阻档检 测89S51的P10、P11、P12、P13、P14、P15、P16
13
I/O接口与I/O设备
15
简单的输入接口举例
接口电路图如下:
74LS244
I0 K0
D0-D7
~
DO0
I1
K1
DO7
I2
K2
译码器
I3 K3
IOR
I4
A2
K4
A3 A4
系 统 总
A5 A6
&
A7
A8
≥1
I5 E1
E2
I6
K5 K6
线
A9
信
A15
83FCH
I7 K7
号
A10
~83FFH
A11
保存外设给CPU和CPU发往外设的数据
⑵ 状态寄存器(端口地址)
保存外设或接口电路的状态
⑶ 控制寄存器(端口地址)
保存CPU给外设或接口电路的命令
(4)接口电路可含有多个端口地址
39
CPU侧引脚信号: 地址信号:选择I/O接口中的不同寄存器;
数据信号:命令或数据写入到相应寄存器,或者从相 关寄存器读取数据或状态;
A12
≥1
A13 A14
+5V 16
简单的输出接口举例
➢ 锁存器:由D触发器构成
单片机输入和输出
2. 状态信息 输入设备的“准备就绪”,输出设备的“忙”信号等。CPU根据外设的状态, 决定是否输入或输出数据。
3.控制信息 控制信息是在传选过程中.CPU发送给外设的命令.用于控制外设的工作。 例如,控制设备的起停
7.1.3
I/O端口的地址分配
首先清楚I/O接口(Interface)和I/O端口(Port)的概念。
扩展I/O口与外部RAM统一编址 使用同样的指令MOVX访问 注意控制总线RD/WR的接法
7.2 微型机与外设之间的数据传送方式 微型机与外设之间的数据传送方式可归纳为三种:程序传送、中断传送和 DMA传送。 7.2.1 程序传送 不是传送程序 程序传送,是指CPU与外设之间的数据传送在程序控制下进行的一种方式, 它又分为无条件传送和条件传送两种。 1.同步传送方式(无条件传送) 当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同 步传送就是单片机和外部数据存储器之间的数据传送。 适用于对简单的I/O设备(如开关、LED显示器、继电器等)的操作,或 者I/O设备的定时固定或已知的场合。 2.查询传送方式(条件传送,异步式传送) 查询外设“准备好”后,再进行数据传送。 优点:通用性好,硬件连线和查询程序十分简单, 缺点:效率不高。 为提高效率,通常采用中断传送方式。
(2)模拟量 当微型机用于控制、检测或数据采集时.大量的现场信息是连续变化的物理量 (如温度、压力、流量.位移等).这些物理量经过传感器变换成电量,并经放大 得到模拟电压或电流.这些模拟量必须再经过A/D转换后.把它们变成数字量 才能输入计算机。计算机的输出也必须先经过D/A转换,把数字量变成模拟量 后再控制执行机构。
3.信息转换
4.通信联络
7.1.2 I/O接口的构成
浅谈MCS51单片机的准双向口
单片机应用电子报/2004年/09月/12日/第011版/浅谈MCS51单片机的准双向口珠海刘经高 在MCS51单片机的设计中,若要使输出脚为高电平,只要用位控制指令“SETB bit”即可;反之,若输出为低电平,则用位控制指令“CL R bit”。
若将MCS51单片机的P1~P3口用于输入,就应注意软硬件的配合设计,因为MCS51单片机的P1~P3口是准双向口(P0口是双向口),即在用作输入时首先要置成高电平,因此设计得不合理容易在编程调试时找不到问题所在,容易被假象迷惑而走许多弯路。
图1是一个典型的按键输入电路。
按键按下时,I/O口接地;按键不按时,该I/O 口为高电平。
而在软件设计时,需将该I/O口置高电平,即用命令“SETB bit”。
该置高命令不会对输入引脚的状态判断带来影响,因为低电平是外部“强行”给定的。
但是,下面的设计方法就有问题。
例1:如图2,这是一个简单的电阻分压电平转换电路,设计的意图是检测12V电平的有无。
从表面上看,不会有什么问题:12V存在时,I/O口为高电平;12V不存在时,I/O口为低电平。
但在编程调试时会发现,12V不存在时,该I/O口也为高电平,达不到设计的目的。
例2:如图3是一个简单的与门电路,其设计意图是A、B两点都为高时,C点输出为高;A、B两点中任意一点为低时,C点输出为低。
但在实际调试时,A点为高,12V 电平为0时,C点仍然为高,达不到设计要求。
由例1、例2可知,若电平转换使用简单的电阻分压,从理论上分析可以达到确认12V电压有无的目的,但实际上,当单片机的I/O口用作输入口时,首先要将它拉高,即在软件的设计上要用“SETB bit”命令将它置1,因输入端的分压电阻较大,12V电平为0时无法将它拉到低电平。
要解决这一问题,首先要理解输入的真正含义,即输入的状态是外部能可靠地改变。
图2中的方法元件少、简单,但不能可靠地改变输入端的状态,为此,可利用图4和图5所示的电路代替,它们能真正可靠地改变输入端的状态。
第2次单片机原理与应用中断和P1口输入和输出
器 1。
中断响应过程
一、中断响应条件:
1.有中断请求信号; 2. 系统处于开中断状态。
二、中断响应过程:
1.关中断:屏蔽其它中断请求信号。 2.保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 3.寻找中断源:中断程序入口地址PC,转入中断服务。 4.保护现场:将中断服务程序使用的所有寄存器内容入栈。 5.中断处理:执行中断源所要求的程序段。链接中断处理 6.恢复现场:恢复被使用寄存器的原有内容。 7.开中断:允许接受其它中断请求信号。 8.中断返回:执行RETI指令,堆栈断点地址PC,
中断源 入口地址
外部中断0 0003H
定时/计数器0 000BH
外部中断1 0013H
定时/计数器T1 001BH
串行口
0023H
优先级 顺序 最高
最低
说
明
来自P3.2引脚(INT0) 的外部中断请求
定时/计数器T0溢出中 断请求
来自P3.3引脚(INT1) 的外部中断请求
定时/计数器T1溢出中 断请求
EX0:外部中断0(INT0)的中断允许位。 EX0=1允许中断, EX0=0不允许中断。
每个中断源的优先级别由特殊功能寄存器 IP来管理。
D7 D6 D5 D4 D3 D2 D1 D0
PS PT1 PX1 PT0 PX0
PS:串行口中断优先级控制位。 PT1:定时器/计数器T1中断优级控制位。 PX1:外部中断INT1中断优先级控制位。 PT0:定时器/计数器T0中断优先级控制位。 PX0:外部中断INT0中断优先级控制位。
MCS51的片内接口及定时器计数器
参考程序如下:
ORG 0000H LJMP MAIN
ORG 0100H MAIN:
MOV TMOD,#09H MOV TH0,#00H MOV TL0,#00H BACK1: JB P3.2,BACK1 SETB TR0
BACK2: JNB P3.2,BACK2
BACK3: JB P3.2,BACK3 CLR TR0 MOV 70H,TL0 MOV 71H,TH0 SJMP $
P1=~K;} Return; }
5.2 MCS-51定时/计数器及其应用
51系列内部有2个16位的定时/计数器T0、T1
52系列内部有3个16位的定时/计数器T0、T1、T2
功能:
定时 计数
可编程 串行口的波特率发生器
定时/计数器的可编程特性:
⑴ 确定其工作方式是定时还是计数
⑵ 预置定时或计数初值
回目录 上页 下页
计数初值X的计算方法: 计数方式:
N= 2n-X(X即为要求计数的次数)
定时方式: (2n - X)×T = 定时值
∴ X = 2n -定时值 / T 其中T为机器周期,时钟的12分频, 若晶振为6MHz,则T = 2µs, 若晶振为12MHz,则T = 1µs
回目录 上页 下页
BACK:
MOV A,P0 ;读P0口开关状态,并送入累加器A
CPL A
;对累加器A求反
MOV P1,A
;从P1口输出
SJMP BACK ;循环执行
C51参考程序如下: Sfr P0=0x80; Sfr P1=0x90; Void main(){ Volatile unsigned char k; P0=0xff; P1=0; While(1) { K=P0;
第六章mcs-51单片机IO端口(1)
准双向口:从图中结构看,引脚上的外部信号既加在三态缓 冲器的输入端上,又加在输出级FET2的漏极上,若此FET2 是导通的(相当于曾输出锁存过数据0),则引脚上的电位始 终被钳位在0电平上(除非外部信号源有极大的负载能力), 输入数据不可能正确地读入。因此P0口是一个准双向口,即 在输入数据时,应先把口置1,也就是锁存器的~Q为0,这样 使输出级的2个FET都截止,引脚处于悬浮状态,可作高阻抗 输入。这就是所谓的准双向口。
下图为P0口的某位P0.n(n=0~7)结电路和一个输出控 制电路组成。输出驱动电路由一对FET(场效应管)组成,其 工作状态受输出控制电路的控制,后者包括:1个与门、1个反 相器和1个模拟转换开关(MUX)。
读锁存器
内部总线 写锁存器
地址/数据 VCC 控制
第六章 MCS-51的I/0
第六章mcs-51单片机IO端口(1)
单片机I/O口的使用
对单片机的控制,其实就是对I/O口的控制,无论单片机 对外界进行何种控制,或接受外部的控制,都是通过I/O 口进行的。51单片机总共有P0、P1、P2、P3四个8位双 向输入输出端口,每个端口都有锁存器、输出驱动器和输 入缓冲器。4个I/O端口都能作输入输出口用,其中P0和 P2通常用于对外部存储器的访问。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
第六章mcs-51单片机IO端口(1)
2、P0作为地址/数据总线
当P0口作为地址/数据总线使用时,可以分为两种情况。一种情况 是从P0输出地址或数据,这时CPU发出的控制信号应为高电平1, 转换开关把反相器输出端与下拉FET接通,同时与门开锁。输出的 地址或数据信号即通过与门去驱动上拉FET,又通过反相器去驱动 下拉FET。另一种情况是从P0输入数据,这时信号仍应从输入缓冲 器进入内部总线。
第04讲:MCS-51单片机的并行IO口
a)P0. X 结构图
2)P2口(地址高八位)
不P0口类似,P2口除了作I/O口之外,还作为地址总 线的高8位地址输出端。在作为I/O口用时,“控制”端 为“0”,故多路转换器MUX接在锁存器的Q端,场效应 管叐锁存器的控制。在作为地址总线输出 时,“控制” 端为“1”,多路转换器MUX接在“地址”端,故场效应 管由“地址”端来控制,此时锁存器(P2的特殊功能寄 存器SFR)的内容丌发,在外部存储器读/写完毕时, P2口的地址输出的作用也结束,则“控制”端又发为 “0”,P2口继续按锁存器原来的状态输出。由亍P2口 在CPU对外部存储器读/写过程中,始终能输出地址信 号,所以P2的地址丌需要外部锁存器的锁存。
1)P0口(BUS,数据/地址时分复用)
P0口还起了数据总线和地址总线(低八位)的作用。在迚行正常的输 出(普通IO)时,“控制”端为“0”,多路转换器MUX接在锁存器的Q端。 此时上方的场效应管关断,下方的场效应管叐锁存器的控制,P0口具有 开漏输出,这时驱动外部电路时P0口需外加上拉电阻(上拉电阻的阻值 叏5.1K或者4.7K) 。 在CPU迚行外部存储器存/叏时,P0口起数据总线或地址总线的作用, “控制”端为“1”,多路转换器MUX接反相器的输出端,即相当亍接在 “地址/数据”端。当这个“地址/数据”为“1”时,上方的场效应管导通 而下主的场效应管关断,P0.X输出高电平,反之输出低电平。这时P0口 丌需外接上拉电阻,P0口的锁存器(P0的特殊功能寄存器SFR)必须写 入“1”,以便迚行外部存储器的读操作。
b)P2. X,每一根线都可以执行不口功 能无关的第二种I/O功能。由图2-5可以看出,输出驱动器叐控 亍锁存器的状态不第二输出功能的状态。 若要迚行第二功能使用时,锁存器必须先写入“1”,否则口 线将被拉为0。
MCS-51单片机的模拟量输入输出
2.主要技术指标
(1)分辨率 输入给DAC的单位数字量变化引起的模拟量输出的变化,通 常定义为输出满刻度时的模拟量值与2n之比。显然,二进制位 数越多,分辨率越高。 例如,若满量程为10V,根据定义则分辨率为10V/2n。 设8位D/A转换,即n=8,分辨率为10V/2n =39.1mV,该 值占满量程的0.391%,用1LSB表示。
11
(2)A/D转换器转换速率的确定 从启动转换到转换结束,输出稳定的数字量,需要一 定的时间,这就是A/D转换器的转换时间。 低速:转换时间从几ms到几十ms 。 中速:逐次比较型的A/D转换器的转换时间可从几s~ 100s左右。 高速:转换时间仅20~100ns。适用于雷达、数字通讯、 实时光谱分析、实时瞬态纪录、视频数字转换 系统等。
16
ADC0809
逐次逼 近式8路模 拟输入、8 位输出的 A/D转换器。
17
共28脚,双列直插式封装。主要引脚功能如下: (1)IN0~IN7:8路模拟信号输入端。 (2) D0~D7:8位数字量输出端。 (3) C 、B 、A:控制8路模拟通道的切换,C、B、A= 000~111分别对应IN0~IN7通道,ALE是其锁存信号。 (4) OE、START、CLK:控制信号端,OE为输出允许端, START为启动信号输入端,CLK为时钟信号输入端。 (5)VR(+)和VR(-):参考电压输入端。
9
3. A/D转换器的选择
按输出代码的有效位数分:8位、10位、12位等。 按转换速度分为超高速(≤1ns)、高速(≤1s)
中速(≤1ms)、低速(≤1s)等。
A/D转换器的发展趋势:为适应系统集成需要,将 多路转换开关、时钟电路、基准电压源、二/十进制 译码器和转换电路集成在一个芯片内,为用户提供方 便。
MCS-51单片机原理及接口技术
2 5 6 9 12 15 16 19
19 18 9 12 13 14 15 1 2 3 4 5 6 7 8
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
MCS-51
A 1 3 2 74LS32
RD WR PSEN ALE/P TXD RXD
74LS273引脚封装图 引脚封装图
MCS-51与74LS273的接口电路图 与 的接口电路图
ห้องสมุดไป่ตู้
4.3.1简单I/O接口芯片的扩展 4.3.1简单I/O接口芯片的扩展 简单I/O
简单的I/O口扩展通常是采用 电路锁存器、 简单的 口扩展通常是采用TTL或CMOS电路锁存器、三 口扩展通常是采用 或 电路锁存器 态门等作为扩展芯片( 态门等作为扩展芯片(74LS244、74LS245、74LS273、 、 、 、 74LS373、 74LS377等 ) , 通过P0口来实现扩展的一种 、 等 通过 口来实现扩展的一种 方案。它具有电路简单、成本低、配置灵活的特点。 方案。它具有电路简单、成本低、配置灵活的特点。 简单的I/O口扩展主要包括: 简单的 口扩展主要包括: 口扩展主要包括 缓冲器扩展输入口(三态门: 缓冲器扩展输入口(三态门: 74LS244、74LS245等) 、 等 锁存器扩展输出口(锁存器: 锁存器扩展输出口(锁存器: 74LS273、74LS373、 、 、 74LS377等) 等
4.3 输入 输出接口扩展 输入/输出接口扩展
• MCS-51系列单片机内部有4个双向的8位并行I/O端 MCS-51系列单片机内部有4个双向的8位并行I/O端 系列单片机内部有 I/O P0、P1、P2和P3口 口:P0、P1、P2和P3口。 • 在实际的应用系统中,P0口分时地作为低8位地址 在实际的应用系统中,P0口分时地作为低 口分时地作为低8 线和数据线,P2口作为高 位地址线。这时,P0口 口作为高8 线和数据线,P2口作为高8位地址线。这时,P0口 和部分或全部的P2口无法再作通用I/O P2口无法再作通用I/O口 和部分或全部的P2口无法再作通用I/O口。 • P3口的一些口线首先要满足第二功能的要求。这 P3口的一些口线首先要满足第二功能的要求 口的一些口线首先要满足第二功能的要求。 时就需要进行单片机I/O口的扩展。 I/O口的扩展 时就需要进行单片机I/O口的扩展。 常用的I/O扩展有以下两种形式: I/O扩展有以下两种形式 常用的I/O扩展有以下两种形式: 简单I/O I/O接口芯片的扩展 简单I/O接口芯片的扩展 可编程I/O接口电路的扩展 可编程I/O接口电路的扩展 I/O
MCS-51单片机的并行I-O
内 部总 线 写 锁存 器
D
Q
P 3.X
锁 存器
CP Q
内 部上 拉 电 阻
P 3.X 引脚 &
读 引脚
第 二输 入 功 能
P3口的位结构
P3端口(P3.0-P3.7,10-17脚); P3端口是一个带内部上拉电阻的8位I/O端口,P3端口的每一位
可以驱动4个LS型TTL负载; P3端口除了做为一般I/O端口外,每个引脚还具有第二功能。
“读—修改—写”类指令的端口输出与P0的端口输出功能相同。 3.地址总线
CPU在执行读片外ROM、读/写片外RAM或I/O口指令时,单片机 内硬件自动将控制信号C=1,MUX开关接到地址线,地址信息经非门 和驱动管V输出。
1.4 P3口的结构和功能
1.P3口的结构
读 锁存 器
第 二输 出 功 能 VCC来自1.2 P1口的结构和功能
1.P1口的结构
读锁 存器
内部 总线 写锁 存器
D
Q
P 1.X
锁存 器
CP Q
VCC
内部 上拉电阻 P 1.X 引脚
读引 脚
P1口的位结构
1.3 P2口的结构和功能
1.P2口的结构
读锁存器
内部总线 写锁存器
DQ P 2.X 锁存器
CP Q
VCC
地址 控制 MUX
内部上拉电阻
CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总 线上,P0.x引脚的状态与地址/数据总线的地址信息相同。然后, CPU自动使模拟转换开关MUX拨向锁存器,并向P0口写入0FFH,同时 “读引脚”信号有效,数据经缓冲器读入内部总线。因此,可以认 为P0口作为地址/数据总线使用时是一个真正的双向口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51单片机输入输出口
8051有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线:
·P0口和P2口:
右图为P0口和P2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
参考图2。
P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR 和RD读写信号选通,因为216=64k,所以8051最大可外接64kB的程序存储器和数据存储器。
·P1口:
右图为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。
需要说明的是,作为输入口使用时,有两种情况,其一是:首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)
和ORL(逻辑或)指令均属于这类操作。
其二是:读P1口线状态时,打开三态门G2,将外部状态读入CPU。
·P3口:
P3口的电路如上图所示,P3口为准双向口,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。
由于第二功能信号有输入输出两种情况,我们分别加以说明。
P3口的输入输出及P3口锁存器、中断、定时/计数器、串行口和特殊功能寄存器有关,P3口的第一功能和P1口一样可作为输入输出端口,同样具有字节操作和位操作两种方式,在位操作模式下,每一位均可定义为输入或输出。
我们着重讨论P3口的第二功能,P3口的第二功能各管脚定义如下:
·P3.0 串行输入口(RXD)
·P3.1 串行输出口(TXD)
·P3.2 外中断0(INT0)
·P3.3 外中断1(INT1)
·P3.4 定时/计数器0的外部输入口(T0)
·P3.5 定时/计数器1的外部输入口(T1)
·P3.6 外部数据存储器写选通(WR)
·P3.7 外部数据存储器读选通(RD)
对于第二功能为输出引脚,当作I/O口使用时,第二功能信号线应保持高电平,与非门开通,以维持从锁存器到输出口数据输出通路畅通无阻。
而当作第二功能口线使用时,该位的锁存器置高电平,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。
对于第二功能
为输入的信号引脚,在口线上的输入通路增设了一个缓冲器,输入的第二功能信号即从这个缓冲器的输出端取得。
而作为I/O口线输入端时,取自三态缓冲器的输出端。
这样,不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线均应置“1”。