当前位置:文档之家› 第4章-并行接口P0~P3和单片机的中断系统

第4章-并行接口P0~P3和单片机的中断系统


/RD /WR
20
例1.设计一电路,监视某开关K,用发光二极管LED显示开 关状态。如果开关合上,LED 亮;开关断开,LED熄灭。 分析:设计电路如图4. 2如示。 开关接在P1.1口线,LED接P1.0口线; 开关断开时,P1.1为+5V,对应数字量为“1”; 开关合上时,P1.1电平为0V,对应数字量为“0”。 这样,可以用JB指令对开关状态进行检测 。
DSP: MOV DPTR,#TAB1
MOVC A,@A+DPTR MOV P1,A RET TAB1:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H ; “0~4”的字形码 ; “5~7”的字形码 ;查字形码表1 ;送P1口输出
34
例2:如图接有五个共阴极数码管的动态显示接口电路, 用74LS373接成直通的方式作驱动 电路,阴极用非 门74LS04反相门驱动,字形选择由P1口提供,位选 择由P3口控制。当P3.0~P3.4轮流输出1时,五个数 码管轮流显示。P1.7接开关,当开关打向位置“1”时, 显示“12345”字样,当开关打向“2”时,显示 “HELLO”字样。
6
四个端口的结构的相同之处: 都有两个输入缓冲器,分别受内部读锁存器和读引脚 控制信号的控制。
都有锁存器(即专用寄存器PO~P3) 都是场效应管输出驱动。
依据每个端口的不同功能,内部结构亦有不同之处, 以下重点介绍不同之处。
7
结构:P0口的输出驱动电路由上拉场效应管T1和驱 动场效应T2组成,控制电路包括一个与门, 一个非 门和一个模拟开关MUX。
30
LED数码管每段需10~20mA的驱动电流,可用TTL 或CMOS器件驱动。 字形码的控制输出方式 硬件译码方式:如采用BCD7段译码/驱动器 74LS48、74LS49、CD4511-- (共阴极)
74LS46、74LS47、CD4513-- (其阳极)
软件查表方式
31
软件查询数码管显示有静态接口与动态接口两种方式 静态接口—一个并行口接一个数码管,占用引脚多。 固定显示。 动态接口—段选共同接到一个并行口,每个数码管的 com端接不同的引脚上。循环显示。
14
P1口仅作通用I/O口使用,并且输出驱动部分接有上拉电 阻。 当作输入时,使用同P0一样, 要先对该口写“1”。
读锁存器 1 内部总线 写锁存器 P1.x 锁存器 CL 2 读引脚 (b)P1口位结构
15
Vcc
内部上拉电阻 Q T P1.x 引脚
D
P2口作通用I/O口时,多路开关MUX倒向左边; P2口作为高8位地址线时,MUX倒向右边。 注意:当P2口的某几位作地址线使用时,剩下的P2口线 不能作I /O口线使用。 P2口的位结构比P1多了一个转
彭周华 zhouhuapeng@
1
4.1
单片机的并行接口P0-P3
4.1.1 PO-P3接口的功能和内部结构 4.1.2 编程举例 4.1.3 用并行口设计LED显示与键盘电路 4.1.4 并行接口小结 4.2 MCS-51单片机的中断系统 4.2.1 8XX51中断系统结构
4.2.2 中断响应过程
19
如果单片机需要扩展外部存贮器。 P0口作AD0-AD7, P2口作A8-A15,P3口的某些 口线(/RD, /WR)作第二功能(控制线)使用。
P2 P0 ALE /PSEN
A8A15
AD0AD7
锁 存 器
A0A7
地址总线A0A15
D 0 D 7
控制总线
数据总线D0D7
8051
22
CLR P1.0 AGA: SETB P1.1 JB P1.1,LIG SETB P1.0 SJMP AGA LIG: CLR P1.0 SJMP AGA END
;使发光二极管灭 ;先对P1口写入“1” ;开关断开,转LIG ;开关闭合,二极管亮
P1.0 89C51 89S51 P1.1
LED +5V 1K K
LED正偏时才能发亮,按电路接法:
当P1.0输出“1”, 当P1.0
LED正偏而发亮;
输出“0”,LED 的两端电压为 0 而熄灭。
21
+5V 10uF
Vcc -EA RST
LED P1.0 +5V 89C51
1K 1K
30P
XTAL1 30P P1.1
XTAL2 GND
K
开关合上,LED 亮; 开关打开,LED熄灭。
8
CPU发控制电平“0”,封锁与门,使T1管截止,同时 使MUX开关同下面的触点接通,使锁存器的\Q与T2栅 极接通。
9
CPU向端口输出数据。写脉冲加在CL上、数据通过内部总 线经D锁存器和T2反相,从P0口的这一位引脚上输出。
P0作I/O口使用时应外接10K的上拉电阻。
10
输入操作时有两个三态缓冲器用于读操作。 缓冲器2用于读端口引脚的数据。当执行端口读指令时,读引 脚脉冲打开三态缓冲器2,于是端口引脚数据经三态缓冲器2送 到内部总线。 缓冲器1用于读取锁存器Q端的数据。执行“读-修改-写”指令 (ANL P0,A),即是读锁存器Q的数据。
29
显示 字符
0 1 2 3 4 5 6 7 8 9 A B C D E F H P

dp 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 g 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 f 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 e 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1
27
LED的管脚排列见图(a)。其中COM为公共点; 根据内部的接线形式,可分成共阴极型图(b)和共阳 极型图(c)。
com a b c d a b c d e f g dp
com
e f
g
(a)
(b)
dp
(c)
28
LED数码管的a ~ g七个发光二极管因加正电压而发 亮,加零电压而不能发亮,不同亮暗的组合就能形成不 同的字形,这种组合称之为字形码。 显然共阳极和共阴极的字形码是不同的,其字形码见 下表。

d 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 c

b 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 a 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1
;高四位亮,低四位送“1” ;读P1口引脚开关状态至A ;低四位开关状态转换到高四位 ;保留高四位 ;从P1口输出 ;循环
26
键盘和显示器是单片机应用系统中常用的输入输出装置。 LED数码管是常用的显示器之一,下面介绍用单片机并行 口如何设计LED数码显示控制电路。 1. LED显示器工作原理 LED有着显示亮度高,响应速度快的 特点,最常用的是七段式LED显示器, 又称数码管。 七段LED显示器内部由七个条形发光 二极管和一个小圆点发光二极管组成, 根据各管的亮暗组合成字符。
23
电路图中二极管亮度不够。
P1.0 89C51 LED
下面两种电路,可增加驱动能力使得二极管更亮些。 1、接成灌电流形式
P1.0 LED +5V
2、加驱动电路
P1.0
1
LED
+5V
24
例2:如图所示,P1.0~P1.3接四个开关, P1.4~P1.7接四 个发光二极管,编程将开关的状态反映到发光二极管上。
读锁存器 1 内部总线 写锁存器 D Q P3.x 锁存器 CL 2 读引脚 第二输入功能 第二输出功能 Vcc
内部上拉电阻 P3.x 引脚
3 4
T
(d)P3口位结构
17
输入时,引脚的信号通过三态缓冲器4进入第二输入功能端。 两种功能的引脚输入都应使T截止。 注意:P3的各位根据需要设定。 把几条引脚设为第二功能, 剩下的引脚可作I/O使用,采用位操作形式。
11
读锁存器是为了避免错读引脚的电平信号。 究竟读引脚还是读锁存器,CPU内部会自行判断是发读引 脚脉冲还是读锁存器脉冲。
12
注意:当P0作输入端口使用时,应先对该口写入“1” 使场效应管T2截止,再进行读入操作,以防场效应管 处于导通状态,使引脚箝位到零,而引起误读。
13
内部控制信号为“1”,转换开关MUX打向上面的触点, 使反相器的输出端和T2管栅极接通。 输出的地址或数据:信号通过与门驱动T1管,同时通过 反相器驱动T2管完成信息传送 输入的数据通过缓冲器进入内部总线。
十六进制代码 共阴 3F H 06 H 5B H 4F H 66 H 6D H 7D H 07 H 7F H 6F H 77 H 7C H 39 H 5E H 79 H 71 H 76 H F3 H 共阳 C0 F9 A4 B0 99 92 82 F8 80 90 88 83 C6 A1 86 84 FF BF
4.2.3 中断的程序设计 4.3 小 结
2
接口电路:CPU与外设设备之间的电路。 功能: 解决总线使用冲突、协调快速CPU与慢速外设。 分类:并行接口、串行接口、定时/计数器、A/D、 D/A等。 MCS-51单片机有P0、P1、P2、P3四个8位双向 I/O口,四个口共32根端口线,每个端口可以按字节 输入或输出,也可以按位进行输入或输出。 P0口为三态双向口能带8个TTL电路; P1、P2、P3口为准双向口,负载能力为4个TTL电 路。
3
4.1.1.1 PO-P3接口功能 P0-具有双重功能 1. 作为输入/输出(I/O)口。 2. 作为地址/数据复用总线,P0口分时输出低 8 位地址 (A0-A7)与数据信号(D0-D7)。
相关主题