单片机第5章 输入输出接口P0~P3

合集下载

《单片机原理及应用》第5章 P0~P3口应用基础

《单片机原理及应用》第5章   P0~P3口应用基础

3、矩阵键盘:
5.4 实验与设计
• 实验1 闸刀型开关输入/8段LED静态显示输出
5.4 实验与设计
• 设计1:LED模拟交通
• 6个灯—南北:黄、红、绿

东西:黄、红、绿
• (红、绿是10秒,黄闪烁2秒)
• 2个应急开关:南北绿或东西绿
• 画出硬件设计,编出模拟程序。
实验2 并行接口键盘/LED指示灯输出
同,每个显示缓冲器对应着一位显示器。
(3)查表并操作相应的显示器
• MOV • MOV • MOVC
A,#data DPTR,#DSPTAB A,@A+DPTR
• (4)显示子程序的调用
3、静态显示示例
• 【例5-4】利用51单片机的并行口作为静态显示的控制 口的示例
请修改:
(1)显示“12”; (2)轮流显示“12”、“--”、“AB”; (3)计数器:从00开始,1S加1。
设计1 计时秒表的设计
• (1)两位LED显示 • 可以显示00~99秒; • (2)两个按键 • 分别为启动/停止键、清零键。 • 要求:设计硬件电路,编写出软件程序(延时由软件
形成)。
设计2 模拟交通信号灯控制装置的设计
• (1)6个发光二极管模拟交通灯 • 南北:黄、红、绿 ;东西:黄、红、绿。 • (2)2个应急开关 • 南北绿东西红或东西绿南北红。 • 要求:设计硬件模拟电路,编写软件程序。
• 单片机原理及应用(第4版)
• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第5章 P0~P3口应用基础
• 片内并行I/O口的应用。 • 5.1 P0~P3口概述 • 5.2 输出操作 • 5.3 输入操作 • 5.4 实验与设计

并行接口P0~P3

并行接口P0~P3

K
30P
XTAL2 GND
第5章 并行接口P0~P3和单片机的中断系统
编程如下:




CLR P1.0 AGA:SETB P1.1 JB P1.1,LIG SETB P1.0 SJMP AGA LIG: CLR P1.0 SJMP AGA
;使发光二极管灭 ;先对P1口写入“1” ;开关开,转LIG ;开关合上,二极管亮

LED数码管的g~a七个发光二极管因加正电压而发亮, 因加零电压而不能发亮,不同亮暗的组合就能形成不同的字 形,这种组合称之为字形码,显然共阳极和共阴极的字形码 是不同的 ,其字形码见下表。LED数码管每段需10~20ma 的驱动电流,可用TTL或CMOS器件驱动。 字形码的控制输出可采用硬件译码方式,如采用BCD 7段译码/驱动器74LS48、74LS49、CD4511(共阴极)或 74LS46、74LS47、CD4513
P1.7
SCቤተ መጻሕፍቲ ባይዱ引脚,在系统编程时钟输入
第5章 并行接口P0~P3和单片机的中断系统
3.P2口 内部上拉电阻的8位准双向并行I/O口,P2口的位结构比P1 多了一个转换控制部分,当P2口作通用I/O口时,多路开关 MUX倒向左; 读锁存器
1 内部总线 写锁存器 P2.x 锁存器 CL 2 读引脚 D Q
/数据复用总线(用于口扩展) 两个输入缓冲器(BUF1和BUF2) 读锁存器
P0R1
地址/数据
BUF1
AD0
控制 Vcc
b c
内部总线
D0
D C
a
T1
写锁存器
P0W
锁存器
Q
Q
P00
3、P0W为端口输出写信号,用于 推拉式I/O驱动器 锁存输出状态 多路开关 4、P0R1为读锁存器信号,执行 功能:用于控制选通I/O方式 “ANL P0,#0FH”时该信号有效 A 还是地址/数据输出方式 5、P0R2为读引脚信号,执行 2) “MOV A,P0”时该信号有效 方式控制:由内部控制信号

第5章 单片机

第5章 单片机

RETI与RET的异同点? RETI与RET的异同点? 的异同点 PC。 ①相同: 匀执行恢复断点操作,即从堆栈中弹出断点给PC。 相同: 匀执行恢复断点操作,即从堆栈中弹出断点给PC 不同: RETI将清 将清“ 响应时所置的优先级触发器 RET没 响应时所置的优先级触发器, ② 不同 : RETI 将清 “ 0”响应时所置的优先级触发器 , RET 没 有该功能。 有该功能。 中断与子程序调用的区别? 中断与子程序调用的区别?
CPU与外设数据传送方式 CPU与外设数据传送方式
有直接、查询、中断、 有直接、查询、中断、 DMA等传送方式。 等传送方式。 等传送方式 一、直接传送方式 直接传送方式 也称无条件传送方式,例: 也称无条件传送方式, 驱动指示灯、继电器、 驱动指示灯、继电器、启动电机等
二、查询方式 查询方式 送数据或发命令前先检查设备状态 例:水池水位自动控制装置 要求:水位 放水;水位>B停放 要求:水位<A 放水;水位 停放 电路中: 电路中: 1)输出:P1.0=1时,M放水; 输出: 放水; 输出 时 放水 P1.0=0时,M关 时 关 2)输入:水位<A, T1、T2截止 输入:水位 , 、 截止 输入 → P1.1=1,P1.2=1 , 水位>B, 、 导通 水位 , T1、T2导通 → P1.1=0, , P1.2=0 A<水位 , T1止,T2通→ 水位<B, 止 水位 通 P1.1=1,P1.2=0 , 中断方式可提高CPU的效率 中断方式可提高 的效率 CLR P1.0 SETB P1.1 SETB P1.2 L1: JNB P1.2, L1 SETB P1.0 L2: JB P1.1, L2 CLR P1.0 SJMP L1
计算机上常见接口

第5章 并行接口P0~P3

第5章  并行接口P0~P3
4.1.1.1 PO~P3接口功能
大多数口线都有双重功能,具体介绍如下:
PO口—1.作为输入/输出口。
2.作为地址/数据总线 ,接外围芯片时PO口分时输出低 8 位地址与数据信号。
P1口—作为输入/输出口。
P1.0 T2引脚,定时/计数器2外部计数脉冲输入 P1.1 T2EX引脚,定时/计数器2触发和方向控制 P1.5 MOSI引脚,在系统编程数据输入 P1.6 MISO引脚,在系统编程数据输出 P1.7 SCK引脚,在系统编程时钟输入
这是为了避免错读引脚的电平信号,例如用一根口线去 驱动一个晶体管基极,当向口线写“1”,晶体管导通,导通 的PN结会把引脚的电平拉低,如读引脚数据,则会读为0 , 而实际上原口线的数据为1。因而采用读锁存器Q的值而避免 了错读。究竟是读引脚还是读 锁存器,CPU内部会自行判断 是发读引脚脉冲还是读锁存器脉冲,读者不必在意。
归纳四个并行口使用的注意事项如下:
1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和 I/O接口,单片机的四个口均可作I/O口使用。
2.四个口在作输入口使用时,均应先对其写“1”,以避免误 读。
3.P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。 4.P2可某几根线作地址使用时,剩下的线不能作I/O口线使用。 5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O
内容提要
★单片机的并行接口P0~P3
★ PO~P3端口的功能和内部结构 ★ PO~P3端口的编程 ★ 用并行口设计LED数码显示和键盘电路 ★ 并行接口小结
★MCS-51单片机的中断系统
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应过程 ★ 中断的的应用编程
★小结
I/0接口

第5章 输入、输出接口P0~P3--1讲解

第5章 输入、输出接口P0~P3--1讲解

武汉科技大学
电信系
2. P1口 字节地址90H,位地址90H—97H
P1.0—P1.7: 准双向I/O口 输出时一切照常,输入时要先对其写“1”
读锁存器
内部 总线
写锁 存器
2
DQ CK /Q
1
读引脚
单片机及接口技术
Vcc 内部上拉电阻
引脚P1.X
17
第五章 输入、输出接口P0~P3
武汉科技大学
电信系
P1口
输入数据时,要先对其写“1”
读锁存器
Vcc 内部上拉电阻
内部 总线 1
写锁 存器
2
DQ
1
CK /Q
0
截 引脚P1.X 止
1
读引脚 =1
18
单片机及接口技术
第五章 输入、输出接口P0~P3
武汉科技大学
电信系
P1口
读锁存器
输出数据 1 时
内部 总线 1
写锁 存器
2
DQ
1
CK /Q
0
1
Vcc 内部上拉电阻
1
读引脚 =0
控制=1时,此脚作通用输出口: 输出=1时
23
单片机及接口技术
第五章 输入、输出接口P0~P3
武汉科技大学
电信系
P2口
读锁存器
内部 总线 0
写锁 存器
2
DQ CK /Q
地址高8位 控制 =1
Vcc 内部上拉电阻
0
1
3
=0
导 引脚P2.X 通
1 读引脚 =0
单片机及接口技术
控制=1 时,此脚作通用输出口: 输出=0 时
例5-1.设计一电路,监视某开关K,用发光二极 管LED显示开关状态,如果开关合上,LED亮、 开关打开,LED熄灭

单片微型计算机与接口技术第4版课后习题答案()单片机第5章作业

单片微型计算机与接口技术第4版课后习题答案()单片机第5章作业

思考题与练习55.2 8XX51的4个I/O端口的作用是什么?8XX51对外的三总线是如何分配的?答:p0口:p0口可以作输入输出口,但在实际的应用中,常作为地址数据总线,即低8位地址与数据线分时使用p0口。

低8位地址由ALE信号的下跳沿锁存到外部地址锁存中,而高8位地址有p2口输出P1口:p1口每一位都能作为可编程的输入输出口线。

P2口:p2口可以作为出入口或输出口使用,外接存储器和I/O口时,又作为扩展系统的数据总线,输出高8位地址,与p0口一起组成16位地址总线。

对于内部无存储器的单片机来说,p2口一般只作为地址总线使用,而不作为I/O口线直接使用连接。

P3口:p3口为双功能口,作为第一功能使用时,其功能与p1口相同。

当作为第二功能口使用时,另有定义。

5.4 为什么说8XX51能全部作为I/O口使用的仅有P1端口?四个口都可以作为I/O口使用,不过P0,P2,P3都有第二功能。

P0还可作地址总线的低8位及数据总线,P2还可作地址总线高8位,P3口的每一位都有单独的第二功能。

如下图5.6 利用8XX51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意),画出电路并编出程序。

用P1.7监测按键开关,P1.0引脚输出正脉冲,正脉冲的产生只需要将P1.0置零、置1、延时、再置零即可。

P1.0接一示波器可观察波形。

如果再接一发光二极管,可观察到发光二极管的闪烁。

电路设计可参考图5.4汇编语言程序ORG 0000HABC:CLR P1.0SETB P1.7JB P1.7,$ ;未按键等待JNB P1.7,$ ;键未弹起等待SETB P1.0MOV R2,#0DA Y: NOPNOPDJNZ R2,DA Y图5.4SJMP ABC5.8 用89C51/89S51并行口设计显示一个数码的电路,使数码管循环显示“0”~“F”。

汇编语言程序ORG 0000H NOPMOVDPTR,#TAB DJNZR7,DAY AGAIN: MOVR0,#0 INCR0NEXT: MOV A,R0 CJNER0,#10H,NEXT MOVCA,@A+DPTR SJMP AGAINMOVP3,A TAB: DB 3FH,06H…;段码表(略) MOVR7,#0 END DAY: NOP5.10 利用89C51/89S51并行口设计8*8的矩形键盘并用箭头标明信号的方向。

单片机输入输出引脚

单片机输入输出引脚

输入/输出引脚
MCS-51系列单片机有P0、P1、P2和P3共4组I/O接口,每组接口又有8个引脚:P0端口引脚P0.0~P0.7,P1端口引脚P1.0~P1.7,P2端口引脚P2.0~P2.7,P3端口引脚P3.0~P3.7。

这4组接口既可用作输入端口将外部信号输入单片机,也可以用作输出端口将信号从单片机内输出。

另外,这些接口还具有一些其他功能,具体说明如下。

P0端口(32~39脚)的功能有:输入8路信号,输出8路信号,用作8位数据总线,或用作16位地址总线中的低8位地址总线。

P1端口(1~8脚)的功能有:输入8路信号,输出8路信号。

P2端口(21~28脚)的功能有:输入8路信号,输出8路信号,用作16位地址总线中的高8位地址总线。

P3端口(10~17脚)的功能有:输入8路信号,输出8路信号。

P3端口的8个引脚还具有其他功能,具体说明如下。

P3.0:用作串行数据输入端(RXD)。

P3.1:用作串行数据输出端(TXD)。

P3.2:用作外部中断0请求信号输入端(INTO)。

P3.3:用作外部中断1请求信号输入端(INTI)。

P3.4: 用作定时器/计数器TO的外部脉冲信号输入端(TO)。

P3.5:用作定时器/计数器T1的外部脉冲信号输入端(T1)。

P3.6:该端在写片外RAM时,输出写控制信号(WR)。

P3.7:该端在读片外RAM时,输出读控制信号(RD)。

P0、P1、P2、P3端口具有多种功能,具体应用哪一种功能,由单片
机内部的程序来决定。

需要注意的是,在某一时刻,端口的某一引脚只能用作一种功能。

单片机原理及接口技术第5章 IO口应用-显示与开关键盘输入

单片机原理及接口技术第5章  IO口应用-显示与开关键盘输入

图5-1
发光二极管与单片机并行口的连接
5
如果端口引脚为低电平,能使灌电流Id从单片机的外部流入内部,则将
大大增加流过的灌电流值,如图5-1(b)所示。所以,AT89S51单片机任 何一个端口要想获得较大的驱动能力,要采用低电平输出。 如果一定要高电平驱动,可在单片机与发光二极管之间加驱动电路,如 74LS04、74LS244等。 5.1.2 单片机I/O端口控制发光二极管的编程 发光二极管与单片机的I/O端口的连接,如图5-1(b)所示。如要点亮 某发光二极管,只需该I/O端口位写入“0”即可。下面通过一个例子介绍如
21
图5-6 4位LED静态显示的示意图
示字符。这样在同一时间,每一位显示的字符可以各不相同。但是,静态
显示方式占用I/O口线较多。 对于图5-6所示电路,要占用4个8位I/O口(或锁存器)。如果数码管 数目增多,则还需要增加I/O口的数目。在实际的系统设计中,如果显示位 数较少,可采用静态显示方式。但显示位数较多时,为了降低成本,一般 采用动态显示方式。 2. 动态扫描显示方式 显示位数较多时,静态显示所占用的I/O口多,为节省I/O口与驱动电路
单片机控制的8位I/O口锁存器输出相连。如果送往各个LED数码管所显示字 符的段码一经确定,则相应I/O口锁存器锁存的段码输出将维持不变,直到
送入下一个显示字符的段码。因此,静态显示方式的显示无闪烁,亮度较
高,软件控制比较容易。 图5-6所示为4位LED数码管静态显示电路,各个数码管可独立显示,
只要向控制各位I/O口锁存器写入相应的显示段码,该位就能保持相应的显
闭合时,P3.0引脚为低电平。单片机对开关状态的检测是由程序检测
10
图5-3
开关、LED发光二极管与P1口的连接
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两个并行口中,一个输出扫描码,使按 键逐行动态接地(称行扫描),另一个并行口输 入按键状态(称回馈信号,键盘的列值),由行 扫描值和回馈信号共同形成键编码而识别按键、 通过软件查表,查出该键的功能。也可由硬件 编码器完成键的编码。
下图中,用8XX51的并行口P1接4×4 以P1.0~P1.3作输出线,以P1.4~P1.7作输入线,键盘 扫描程序的流程如图5.7
dp
com
dp
dp g f e d c b a 0 1 0 1 1 0 1 1 5BH
共阳极和共阴极的字形码是不同的 ,其字 形码见表5.2。LED数码管每段需10~20mA的驱 动电流。
字形码的控制输出可采用硬件译码方式, 也可用软件查表法。 如采用BCD 7段译码/驱动器: 共阴极:74LS48、74LS49、CD4511 共阳极:74LS46、74LS47、CD4513
RD (外部数据存储器读选通信号入)
四个并行口使用的注意事项如下:
1.如果单片机内部有程序存贮器,不需要扩展外 部存贮器和I/O接口,单片机的四个口均可作 I/O口使用。
2.四个口在输入数据时,均应先对其写“1”(以 避免误读)然后读入数据。
3.P0口作I/O口使用时应外接10KΩ的电阻,其它 口则可不必。
P2口—1.作为输入/输出口。 2.作为高8位地址总线。
P3口—P3口为双功能 1.作第一功能使用时,其功能为输入/输出口。 2.作第二功能使用时,每一位功能定义如下表
所示:
端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
第二功能 RXD (串行输入线) TXD (串行输出线) INT0(外部中断0输入线) INT1 (外部中断1输入线) T0 (定时器0外部计数脉冲输入) T1 (定时器1外部计数脉冲输入) WR (外部数据存储器写选通信号入)
+5V
Vcc /EA RST
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5
P1.6
D0 Q0 373
D6 Q6 G /OE
ga
89C51
2
1
XTAL1
XTAL2 GND
P1.7 P3.0 P3.1 P3.2 P3.3 P3.4
1
1
1
1
1
图5-5 接五个共阴极数码管的动态显示接口
图5-5是接有五个共阴极数码管的动态显示 电路,用74LS373接成直通的方式作驱动电路, 阴极用非门74LS04反相门驱动,字形选择由P1 口提供,数位选择由P3.0~P3.4控制。
Vcc -E-A
RST
P1.0
89C51 89S51
LED +5V
1K
30P
XTAL1 P1.1
K
XTAL2 30P GND
图5-1
LED正偏时才能发亮,按电路接法,当P1.0
输出“1”,LED正偏而发亮,当P1.0 输出“0” ,
LED 的两端电压为 0 而熄灭。
+5V
10uF
V-Ec-Ac
LED
MOV P1,A
;送P1口输出到74LS373
MOV A,R1
MOV P3,A ;
ACALL DAY ;
INC R0

RL A

MOV R1,A
;五个数码管是否显示完?(移5次:01H->20H)
CJNE R1,#20H,Next
SJMP Test
TAB1 : db 06H,5BH,4FH,66H,6DH ; “1~5”的字形码
单片微型计算机与 接口技术
第5章 输入、输出接口 P0~P3
本章介绍的主要内容
★ PO~P3端口的功能 ★ PO~P3端口的编程 ★ 用并行口设计LED数码显示 ★ 用并行口设计键盘电路
第五章 输入、输出接口P0~P3
计算机对外设进行数据操作时,外设的数据线不能直 接与CPU的数据线相连,必须经过接口电路(简称接口或 I/O口)。 需要接口的原因: 1. CPU的数据线是外设或存贮器与CPU进行数据交
当P3.0~P3.4轮流输出“1”时,五个数码 管轮流显示。P1.7接开关,当开关打向位置“1” ( P1.7 =0)时, 显示数字“12345”字样,当开关打 向“2” ( P1.7 =1)时,显示文本“HELLO”字 样.
+5V
Vcc /EA RST
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5
为了节省口线,可将按键接成矩阵的形式。
例如:8×8的形式接64个按键,行列用两个接口 表示。每个按键都有行值和列值,行值和列值的组合 (称为按键的扫描码)就可以唯一的标识某个按键。 矩阵的行线和列线分别通过两个并口与CPU通信。按键 的状态用开关量“0/1”表示。
键盘处理程序的任务是: 确定有无键按下; 判哪一个键按下, 键的功能是什么; 还要消除按键在闭合或断开时的抖动。
0
1
F
0
1
1
1
0
0
0
1
H
0
1
1
1
0
1
1
0
P
1
1
1
1
0
0
1
1
十六进制代码
共阴
共阳
3FH
C0
06H
F9
5BH
A4
4FH
B0
66H
99
6DH
92
7DH
82
07H
F8
7FH
80
6FH
90
77H
88
7CH
83
39H
C6
5EH
A1
79H
86
71H
8E
76H
89
73H
8C
2.LED数码管的接口 数码管的接口有静态接口和动态接口。
D/A等,现在的接口电路一般封装在一个芯片内 部,而且一个芯片有时候具有多种接口功能;同 时,芯片一般是可编程的,可以用来使一个类型 的接口具有多种不同的工作模式。
MCS-51单片机有P0、P1、P2、P3四个8位 双向I/O口,每个端口可以按字节(8位)输入或 输出,也可以按位(1位)进行输入或输出,四 个口共32根口线,用作位控制十分方便。
静态接口为固定显示方式,无闪烁,其电路采用 一个并行口接一个数据管,数码管的公共端按共阴或 共阳分别接 地/这种接法占用接口多,如果PO 口和P2口要用作数据线和地址线,仅用单片机的并行 口就只能接两个数码管,一般很少采用。
动态接口采用各数码管循环轮流显示的方法, 当循环显示频率较高时,利用人眼的暂留特性(每秒 亮灭各24次) ,看不出闪烁显示现象,这种显示需要 一个接口完成字形码的输出(字形选择),另一接口完 成各数码管的轮流点亮(数位选择)。
显示
段符号
字符
dp
g
f
e
d
c
b
a
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
2
0
1
0
1
1
0
1
1
3
0
1
0
0
1
1
1
1
4
0
1
1
0
0
1
1
0
5
0
1
1
0
1
1
0
1
6
0
1
1
1
1
1
0
1
7
0
0
0
0
0
1
1
1
8
0
1
1
1
1
1
1
1
9
0
1
1
0
1
1
1
1
A
0
1
1
1
0
1
1
1
B
0
1
1
1
1
1
0
0
C
0
0
1
1
1
0
0
1
D
0
1
0
1
1
1
1
0
E
0
1
1
1
1
0
RST
P1.0
+5V
89C51
1K
89S51
1K
30P
XTAL1 P1.1
K
XTAL2 30P GND
编程如下:
CLR P1.0 Next : SETB P1.1
; ;先对P1口写入“1”
JB P1.1,Off ;开关断开,转Off
SETB P1.0 ;
SJMP Next
Off : CLR P1.0 ;
4.P2口某几根线作地址使用时,剩下的线不能作 I/O口线使用。
5.P3口的某些口线作第二功能时,剩下的口线可 以单独作I/O口线使用。
5.2 编程举例
例5-1 设计一电路,监视某开关K,用发光二极管 LED显示开关状态,如果开关合上:LED 亮 ; 开关打开 : LED熄灭。
+5V 10uF
1K
5.3.1用并行口设计LED显示电路
1. LED显示器及其原理 LED有着显示亮度高,响应速度快的特点。最常用
的是七段式LED显示器,又称数码管。 七段LED显示器内部由七个条形发光二极管和一个小
圆点发光二极管组成,根据各管的亮暗组合行成字符。 常见LED的管脚排列见图5.4(a)。其中COM为公共点, 根据COM的接线形式,可分成共阴极型和共阳极型。
相关文档
最新文档