5.5 简单并行I、O口的扩展(10)

合集下载

I-O接口扩展电路的设计

I-O接口扩展电路的设计
I-O接口扩展电 路的设计
单片机原理及应用
I/O接口扩展电路的设计
知识能力:熟悉I/O接口的基本特点,了解8255A 芯片结构及编程方法。
技能能力:掌握I/O接口扩展的硬件设计方法、软件程序设计能力和调 试排错能力。
社会能力:训练学生工程意识和良好的劳动纪律观念,培养学生认真做 事、用心做事的态度 。
2. 8255AA的引脚功能介绍
知识能力
1.2 MCS-51对可编程并行I/O芯片8255AA的扩展
表5-6 8255AA 的操作功能表
知识能力
1.2 MCS-51对可编程并行I/O芯片8255AA的扩展
3. 8255AA的工作方式
图5-21 选通输入时的联络应答信号
知识能力
1.2 MCS-51对可编程并行I/O芯片8255AA的扩展
技能能力
图5-27 8255A I/O 扩展
技能能力
4)程序范例: 功能:PB作为输入口检测按键的状态,并把从PB口读入的数据输出到PA口。
ORG 00H MAIN: ACALL DELAY
MOV DPTR,#7003H MOV A,#82H MOVX @DPTR,A LOOP: MOV DPTR,#7001H MOVX A,@DPTR MOV DPTR,#7000H MOVX @DPTR,A SJMP LOOP DELAY: MOV R1,#00H DLP: MOV R2,#50H DJNZ R2,$ DJNZ R1,DLP RET END
3. 并行I/O口的扩展方法
知识能力
图5-17 用74LS165扩展1位并行输入口
3. 并行I/O口的扩展方法
知识能力
图5-18 用74LS164扩展1位并行输入口

单片机并行I-O口的扩展方法

单片机并行I-O口的扩展方法

单片机并行I/O口的扩展方法摘要:由于在MCS-51单片机开发中P0口经常作为地址/数据复用总线使用,P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等)使用,所以对于51单片机的4个I/O口,其可以作为基本并行输入/输出口使用的只有P1口。

因此在单片机的开发中,对于并行I/O口的扩展十分重要,主要分析3种扩展并行I/O口的方法。

关键词: MCS-51单片机; 并行I/O口; 扩展MCS-51单片机有4个并行的I/O口,分别为P0口、P1口、P2口和P3口,4个并行I/O 口在单片机的使用中非常重要,可以说对单片机的使用就是对这4个口的使用。

这4个并行I/O口除了作为基本的并行I/O口使用,还常作为其他功能使用,如P0口经常作为地址/数据复用总线使用[1], P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等等)使用。

这样,单片机只有P1口作为基本的并行I/O口使用,如果在单片机的使用中对并行I/O口需求较多,对于并行I/O口的扩展就非常重要了。

下面通过具体的实例(8位流水灯设计)来给出几种不同的并行I/O口扩展方法。

为了更好地说明以下几种不同的并行I/O口扩展方法,假设利用单片机实现流水灯的设计。

采用单片机的P1口设计流水灯,电路。

由图1可知,8只LED直接连接在单片机的P1口上,通过对单片机进行编程即可以实现8只发光二极管产生流水灯。

1 使用单片机的串行口扩展并行I/O口单片机有一个全双工的串行口[2],这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为移位寄存器使用。

当单片机的串行口工作在模式0时,若外接一个串入/并出的移位寄存器(74LS164),就可以扩展一个8 bit并行输出口;若外接一个并入/串出的移位寄存器(74LS165),就可以扩展一个8 bit并行输入口。

,单片机外接一个串入/并出的移位寄存器(74LS164),这样就可以扩展8 bit并行输出口。

任务八并行IO口扩展

任务八并行IO口扩展
任务八 简单并行I/O口扩展
任务分析:采用锁存器扩展并行I/O口
硬件
➢ 采用通用数字电路(74XX或40XX),作为接口电路扩 展并行I/O的方法
软件
➢ 采用锁存器扩展I/O口的编程
编译、下载、调试
➢ 编译软件:keil ➢ 下载软件:STC-ISP
锁存器扩展I/O口的特点
特点:
电路简单、成本低、配置灵活
P0 MCS51
CLK
Q0~Q7
输 出

E

D0~D7
74LS377
MCS51与74LS377的接口电路
例:将变量Outdata从74LS377输出。 unsigned char xdata *add377 = 0x7fff; unsinged char data Outdata; … *add377 = Outdata;
74LS244扩展并行输入口
74LS244是一种三态输
1G 1A11 2Leabharlann 20VCC19
2G
出8总线收发器/驱动器, 2Y4
无锁存功能。
1A2 2Y3
1A3
3
18
4 74LS 17
5 6
244 16
15
1Y1 2A4 1Y2 2A3
可作为常态数据输入设 2Y2 7
备的输入接口。
1A4
8
2Y1
9
14
1Y3
输出接口:由于大多数外设速度远远低于CPU
速度,输出接口电路必须有锁存功能,锁存CPU 给外设的数据,以便外设慢慢处理。
输入接口:由于大多数外设没有3态缓存功能,
而挂在数据总线的输出端必须有3态缓存功能, 故输入接口电路必须有3态缓存功能。

IO接口电路及其扩展

IO接口电路及其扩展

;写控制字
LD:
;最左边灯亮 ;指向B口 ;取显示数据
;查数据编码 ;写B口 ;延时
39
MB DB DB DB DB DB DB DB MOV MOV DJNZ DJNZ
A, R3
A R3, A LD 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH R7, #02H R6, #FFH R6, LOOP R7, DELAY
6
+5V
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
1Y1 1Y2 1Y3 1Y4 1Y5 1Y6 1Y7 1Y8 1G 2G 7 4 L S 2 4 4 1A1 1A2 1A3 1A4 1A5 1A6 1A7 1A8
MCS-51
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR
MOV DPTR, #0FEFFH MOVX A,@DPTR ;确定扩展芯片地址 ;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为 8 1,若按下某键,则所在线输入为0。
典型芯片—74LS245
9
图13-3 74LS244构成的简单输入端口(b)
10
13.1.3 简单的并行口输出
CS:片选信号线,低电平有效。
RD:读信号,控制8255A将数据或状 态信息送给CPU。 WR:写信号,控制CPU将数据或控制 信息到8255A。
A1,A2:地址线,这两个引脚上的信 号组合绝对对8255A内部的哪一个口或 寄存器进行操作。
22
8255的操作表
表13-1 8255的操作
/CS 0 0 0 0 A1 A0 00 01 10 11 WR 0 0 0 0 RD 1 1 1 1 操作 总线=>端口A 总线=>端口B 总线=>端口C 总线=>命令控制字

《单片机原理及应用》习题库

《单片机原理及应用》习题库

《单⽚机原理及应⽤》习题库⼀、填空题1.单⽚机与普通计算机的不同之处在于其将_CPU__、存储器和__I/O_3部分集成于⼀块芯⽚之上。

2.CPU主要由运算器和控制器组成。

CPU中的布尔处理器⽤来处理位操作。

3.MSC-51系列单⽚机中,⽚内⽆ROM的机型是8031 ,有4KB ROM的机型是_8051_,⽽有4KB EPROM 的机型是8751 。

-32的补码为11100000 B,补码11011010B代表的真值为_-38__D。

4.5.原码数BFH=_-63_D,原码数6EH=_110_D。

6.100的补码=_64_H,-100的补码= 9C H7.在8031单⽚机内部,其RAM⾼端128个字节的地址空间称为特殊功能寄存器或SFR 区,但其中仅有_21_个字节有实际意义。

8.通常单⽚机上电复位时PC=_0000_H,SP=_07_H,通⽤寄存器则采⽤第_0_组,这⼀组寄存器的地址范围是从_00H~_07_H。

9.若PSW为18H,则选取的是第_3__组通⽤寄存器。

10.8031单⽚机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。

11.若A中数据为63H,那么PSW的最低位(即奇偶位P)为_0_。

12.在微机系统中,CPU是按照程序计数器PC 来确定程序的执⾏顺序的。

13.在8031单⽚机中,使⽤P2、P0⼝传送地址信号,且使⽤了P0⼝来传送数据信号,这⾥采⽤的是总线复⽤技术。

14.堆栈遵循先进后出(或后进先出)的数据存储原则,针对堆栈的两种操作为_PUSH_和_POP_。

15.当8051地RST端上保持两个机器周期以上低电平时,8051即发⽣复位。

16.使⽤8031单⽚机时需将EA引脚接_低__电平,因为其⽚内⽆程序存储器。

17.8位机中的补码数80H和7F H的真值分别为_-128__和_127 。

18.配合实现“程序存储⾃动执⾏”的寄存器是_PC_,对其操作的⼀个特别之处是每取完⼀字节指令后PC内容会⾃动加1 。

(9)IO口扩展

(9)IO口扩展
1
+5V
R 8
WR P2.0 RD
1
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 G
D0 D1 D2 D3 D4 D5 D6 D7
K0 K1 K2 K3 K4 K5 K6 K7
74LS244
程序如下:
ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV DPTR,#0FEFFH;数据指针指向I/O口地址 MOVX A,@DPTR ;从244读入数据,检测按键 MOVX @DPTR,A ;向273输出数据,驱动LED AJMP MAIN END
同时,段选线上输出相应位要显示字符的字型码, 这样同一时刻,4位LED中只有选通的那一位 显示出字符,而其它三位则是熄灭的。
同样,在下一时刻,只让下一位的位选线处于选 通状态,而其它各位的位选线处于关闭状态时, 在段选线上输出相应位将要显示字符的字型码, 则同一时刻,只有选通位显示出相应的字符, 而其它各位则是熄灭的。如此循环下去,就可 以使各位显示出将要显示的字符, 虽然这些字符是在不同时刻出现的,而且同一时 刻,只有一位显示,其它各位熄灭,但由于人 眼有视觉暂留现象, 只要每位显示间隔足够短便可造成多位同时亮的 假象,达到显示的目的。
// a b c d e f g h // Msb.......................................Lsb Const uchar table[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6} Const uchar counttable[4]={0x00,0x10,0x20,0x30} uchar Dispbuf[4]; uchar DispCount=0; /********************************************************** *原型:void Display(void) *功能:显示缓冲区的数值。 *参数:无 *返回:无 **********************************************************/ void Display(void) { LedPort = LedPort&0x0f; //先将为选择信号置为零 LedPort = LedPort | counttable[DispCount]; //输出下一位数码管的为选择信号 PORTA = Dispbuf[DispCount]; //输出对应缓冲区的段信号 DispCount ++; if( DispCount == 4 ) { DispCount=0; } }

并行IO接口的扩展实验报告

并行IO接口的扩展实验报告

并行IO接口的扩展实验报告一、实验目的1、了解并行IO接口的扩展方法2、掌握可编程接口芯片8255A的工作原理、编程方式和使用方法二、实验条件1、DOS操作系统平台2、8255A接口芯片三、实验原理1、并行IO口的扩展方法:(1)通过通用的IO扩展芯片实现(2)通过TTL、CMOS 锁存器、缓冲器芯片实现。

如74LS377、74LS273、74LS244、74LS245 等。

(3)通过串行通信口扩展并行I/O 口。

2、8255A 扩展I/O 端口:(1)8255A 具有三种基本工作方式,即方式0、方式1、方式2。

各端口的工作方式及输入输出方向都由方式控制字设定(通过写入控制寄存器)。

8255A 的控制字有方式控制字和C 口置位/复位控制字两种。

3、8255A 的工作方式:(1)方式0 是一种基本I/O 方式。

在这种工作方式下,三个端口都可由程序设定为输入或输出,这种方式不使用联络信号,其基本功能为:a. 两个8 位端口(A、B) 和两个4 位端口(C)。

b. 任一个端口可以作为输入或输出。

c. 输出锁存,输入不锁存。

d. 在方式0 时,各端口都可以作为数据端口,CPU 用简单的输入或输出指令来进行读或写。

(2)方式1 是一种选通I/O 方式。

在这种方式下,端口A 和B 可作为数据端口,但C 口的某口的其它位仍可工作于方式0。

方式1 的基本功能为:a. 用作一个或两个选通端口。

b. 每个选通端口包含有:8 位数据瑞口,3 条控制线,提供中断逻辑。

c. 任一端口可输入或输出。

d. 若只有一个端口工作于方式1,余下的13 位可以工作于方式0。

e. 若两个端口工作于方式1,C 口余下2 位可以工作于方式0。

(3)方式2 是一种双向I/O 方式,只有端口 A 具有这种工作方式,其基本功能为:a. 一个8 位双向数据端口(A)和一个5 位控制端口(C)。

b. 输入和输出锁存。

c. 5 位控制端口用作端口A 的状态和控制信息。

51单片机总线扩展 io口扩展

51单片机总线扩展 io口扩展

三:单片机与Flash的其他扩展方式
1:线选法
如图,由P2.4~P2.0和P0口组成14位地址线,用P2.7和P2.6进行存 储器芯片选择。
2:地址译码法译码法
采用译码器的方法选片,能够扩展多片存储器。
二:单片机与Flash扩展的时序
74LS373是三态8位D透明触发器,当锁存允许端 EN为高电平时,输出 OUT随输入数据 D 而变。当 EN为低电平时,输出被锁存在已建立的输 入数据电平 。 (1)指令读取的时序 在指令读取时,P2口输出16位地址的高8位。P0口首先输出地址的低8 位数据,在ALE有效时(低电平),地址的低8位数据被锁存在74LS373 的输出端,与P2口袋8位数据共同组成了完整的16位地地址,
2:数据总线(DB) 数据总线宽度为8位,由P0口提供。 3:控制总线(CB) 控制总线由第二状态下的P3口和4根独立控制线组 成。 四根控制线为: ——/PSEN : 外部取指控制。在访问外部ROM时, /PSEN信号会自动产生。 ——ALE : ALE是地址锁存允许信号。在访问外部存储 器(RAM或ROM)时,通常用它的下降沿来锁存P0口 送出的低8位地址信号。 ——/EA : /EA是访问外部存储器的控制信号。当/EA 无效(高电平)时,访问内部ROM;当/EA有效(低 电平)时,访问外部ROM。 ——RST : RST是复位信号输入端。
Flash简介
Flash介绍:
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦 写和再编程。 Intel于1988年首先开发出NOR Flash 技术,紧接着,1989年,东芝 公司发表了NAND Flash 结构。 NOR Flash 的特点是芯片内执行,这样应用程序可以直接在Flash闪 存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在 1~4MB的小容量时具有很高的成本效益。NAND的结构能提供极高的 单元密度,可以达到高存储密度。应用NAND的困难在于Flash的管理 和需要特殊的系统接口。通常NOR的速度比NAND稍快一些,而NAND 的写入速度比NOR快很多。闪存只是用来存储少量的代码,这时NOR 闪存更适合一些;而NAND则是高数据存储密度的理想解决方案。 NOR/ NAND Flash 比较 • 1 NOR的读速度比NAND稍快一些。 • 2 NAND的写入速度比NOR快很多。 • 3 NAND擦除速度远比NOR快。 • 4 NOR Flash上数据线和地址线是分开的;NAND Flash上数据线和地址 线是共用的 (所以单片机可以对NOR Flash扩展)。

并行I-O接口的扩展

并行I-O接口的扩展
MOVDPTR,#OFF7CH;A口地址→DPTR MOVXA,@DPTR;从A口读数据
MOVDPTR,#OFF7DH;B口地址→DPTR MOVA,#DATA1;要输出的数据#DATA1→A MOVX@DPTR,A;将#DATA1送B口输出 MOVDPTR,#OFF7EH ;C口地址→DPTR MOVA,#DATA2;#DATA2→A MOVX@DPTR,A;将#DATA2送C口输出
8255A的C口8位中的任一位,均可用指令来置位或复位。例 如,如果想把C口的PC5置1,相应的控制字为00001011B=0BH (关于8255A的C口置位/复位的控制字说明参见图5 18),程 序如下:
MOVDPTR,#OFF7FH;控制口地址→DPTR MOVA,#0BH;控制字→A MOVX@DPTR,A;控制字→控制口,PC5=1
(2)方式1:选择输入/输出方式。方式1主要用于中断和查 询数据传送方式,只有A口和B口可以选择这种工作方式。 (3)方式2:双向传送方式。只有A口可以使用方式2,既可以输 入数据,也可以输出数据,此时C口中的PC3~PC7用做A口的控制 和联络信号。
8255A的3种工作 方式由写入控制字寄 存器的方式控制字来 决定。方式控制字的 格式如图所示。3个 端口中C口被分为两 个部分,上半部分随 A口称为A组,下半部 分随B口称为B组。其 中A口可工作于方式0、 1和2,而B口只能工 作在方式0和1。
输入操作: MOV DPTR,#
0FEFFH
MOVX A,
@DPTR
输出操作: MOV A,#DATA

入 0FDFFH
信 号
MOV DPTR,# MOVX @DPTR,
A
1.2 可编程并行I/O接口8255A

MCS-51单片机并行IO接口的扩展

MCS-51单片机并行IO接口的扩展

第九章MCS-51单片机并行I/O接口的扩展(一)学习要求1、熟悉74LS377、74LS245外围芯片的特性和扩展方法。

2、掌握8255A芯片的结构和工作方式。

3、掌握8155A芯片的结构和工作方式。

4、掌握8155A的RAM和I/O端口寻址方法。

(二)内容提要1、I/O接口的扩展当所需扩展的外部I/O口数量不多时,可以使用常规的逻辑电路、锁存器进行扩展。

这一类的外围芯片一般价格较低而且种类较多,常用的如:74LS377、74LS245、74LS373、74LS244、74LS273、74LS577、74LS573。

1)74LS37774LS377是一种8D触发器,它的E端和CLK端是控制端,当它的E端为低电平时只要在CLK端产生一个正跳变,D0~D7将被锁存到Q0~Q7端输出,在其它情况下Q0~Q7端的输出保持不变。

可以利用74LS377这一特性扩展并行输出口。

如图9-2使用了一片74LS377扩展输出口,如果将未使用到的地址线都置为1则可以得到该片74LS377的地址为7FFFH。

如果单片机要从该片74LS377输出数据的可以执行如下指令:MOV DPTR,#7FFFFHMOVX @DPTR,A2)74LS245。

74LS245是一种三态输出的八总线收发/驱动器,无锁存功能。

它的G端和DIR端是控制端,当它的G端为低电平时,如果DIR为高电平则74LS245将A端数据传送至B端,如果DIR为低电平则74LS245将B端数据传送至A端,在其它情况下不传送数据,并输出高阻态。

可以利用74LS245这一特性扩展并行输入口。

如图9-4使用了一片74LS245扩展输入口,如果将未使用到的地址线都置为1则可以得到该片74LS245的地址为7FFFH。

如果单片机要从该片74LS377输出数据的可以执行如下指令:MOV DPTR,#7FFFFHMOVX A,@DPTR2、8255A可编程I/O接口设计及扩展技术8255A是一种常见的8位可编程并行接口芯片,本接将着重介绍8255A的工作原理、编程方式和应用。

IO接口的扩展方法

IO接口的扩展方法
编程设定为输入或输出, PC7-PC4作为输入/输出操作的选通信 号和应答信号。B组包括B口和PC3-PC0, 这时C口作为 8255A和 外设或CPU之间传送某些状态信息及中断请求信号。
方式 2: 双向传送方式。 只有A口有方式 2, 此时, A口为8位双向传送数据口, C
口的高5位PC7-PC3用来作为指定A口输入/输出的控制联络线。
高4位 A口
1 :输 入
0 :输 出 1 :输 入
1 *:模 式2 1 :方 式 标 志
0 10 PC2 0 11 PC3 1 00 PC4
1 01 PC5
0 :位 操 作
(
a) 0
0 :模
式0
方 式 选 择 0 1:模 式1
1 *:模 式2
1 10 (b )P C6 1 11 PC7
思考:如何把这两个0控:位 操制作 字写入8255A?
+ 5V
P 0.2 P 0.3 P 0.4
P 0.5 P 0.6
D2 D3 D4 D5 D6
74 L S273
Q2 LED2
Q3 LED3 Q4 LED4 Q5 LED5 Q6 LED6
LED7
P 0.7
D7
Q7
CP
CLR
8 03 1
WR P 2.0 RD
≥1
≥1
Q0
D0
Q1
D1
S0 S1
74 L S244
具有3个8位并行I/O口, 称为PA口、
PB口和PC口。通过控制字设定可以
选择三种工作方式:
① 基本输入/输出;
E
② 选通输入/输出;
③ PA口为双向总线。
8255的三个端口具体工作在什 么方式下,是通过CPU对控制口的 写入控制字来决定的。

并行IO扩展27页PPT文档

并行IO扩展27页PPT文档

• 8255与单片机的接口电路与接口 ① 8255与单片机的接口电路。 在单片机中,外设接口与片外数据存储器RAM统一编 址。所以单片机与8255的连接同片外RAM芯片一样。
由图得到8255各口地址:
P2.7 P2.6 ···P2.0 P0.7···P0.2 P0.1P0.0 选中口
0 × ··· ×
• 方式2—双向输入/输出方式
• 只有A组能工作在方式2。此时,B组可工作于方式0或 方式1。
• 8255的控制字
• 8255的控制字有2种:工作方式控制字和C口置位/复位 控制字。
①工作方式控制字
用于确定8255工作于何种工作方式,以及A口、B口是 输入还是输出等。
• 例1 使8255的A组工作在方式2,B组工作在方式1。 PA=输入,PB=输出,PCL=输出,PCU=输出
(b)控制字为10010000
(c)程序如下:
MOV
A,
MOV
DPTR,
MOVX DPTR,
MOV
DPTR,
MOVX A,
INC
DPTR
MOVX DPTR,
INC
DPTR
MOVX DPTR,
#90H #1003H A #1000H DPTR
A
A
谢谢!
• (b) 控制字节:80H
• (c)
BACK: AGAIN:
MOV MOV MOVX MOV MOV MOV MOV INC DJNZ CPL SJMP
A, DPTR, DPTR, A R4, DPTR, DPTR, DPTR R4, A BACK
#80H #8003H A #55H #3 #8000H A
× ···× 0 0

IO接口的扩展方法

IO接口的扩展方法

≥1
WR P2.0 RD
74LS 244
74LS 273
≥1
输出: 输入: MOV DPTR, #0FEFFH MOV A,#70H MOV DPTR,#0FEFFH MOVX @DPTR,A
MOVX A,@DPTR
9.3 利用8255A芯片的扩展I/O口
8255A是可编程并行I/O接口芯片, 具有3个8位并行I/O口, 称为PA口、 PB口和PC口。通过控制字设定可以 选择三种工作方式: ① 基本输入/输出;
例3:用74LS374扩展并行输出口
74LS374是具有三态输出的8D边沿触发器,与单片机接口 电路如下图所示,74LS374的地址为7FFFH。
程序如下: MOV DPTR, #7FFFH MOV A, 60H MOVX @DPTR, A
二、扩展并行输入口
用单向总线缓冲器74LS244扩展并行输入口 ,硬件电 路如下图所示。74LS244的地址为7FFFH。
1、速度协调 由于CPU与外设速度上的差异,使得数据的I/O传送只能在 确认外设已为数据传送作好准备的前提下才能进行I/O操作。 2、数据锁存 单片机的工作速度快,数据在数据总线上保留的时间短, 无法满足慢速外设的数据接收。因此数据锁存就成为接口电路 的一项重要功能。 3、输入数据三态缓冲 只允许当前时刻正在进行数据传送的数据源使用数据总线, 其它数据源都必须与数据总线处于隔离状态。为此要求接口电 路能为数据输入提供三态缓冲功能。 4、数据转换 需要使用接口电路进行数据信号的转换。其中包括: D/A 转换、A/D转换、串 / 并转换和并/ 串转换等。
0模 : 式0 1模 : 式1 D7 A组 × 0 :输出 1 :输入 0 :输出 1 :输入 0 0: 模式0 × × D3 D2 D1 D0

IO接口扩展通俗易懂的教程

IO接口扩展通俗易懂的教程

晨辉教你轻松学51--------I/O扩展篇(基于74HC164/74HC165)在我们的单片机应用系统中,常常会遇到I/O口不够的情况。

譬如说接有外部RAM而且要求有16个以上的按键,8位数码管以上的显示。

而且还不包括其它的外围器件。

这时整个系统的I/O资源就很吃紧了。

系统的扩展性也不好。

这时我们就需要考虑对单片机的I/O进行扩展了。

虽然专门的I/O扩展芯片市场上也有不少,但对于我们一般的应用,没有必要整的那么复杂。

用一些简单的移位寄存器芯片一样可以实现我们的目标。

下面我们首先来认识一下74HC164这款芯片。

这款芯片的作用是把串行输入的数据并行输出。

注意,它没有锁存功能,在允许输出的情况下,每一个时钟的上升沿,数据依次从最低位移向最高位。

因此,在做数码管的输出显示的时候会出现拖影的想象,在设计此电路时要注意考虑此情况。

下面是它的引脚图。

A1,A2是数据输入端,一般情况下两者连在一起,作为串行数据的输入端。

Qa----Qh j就是并行数据的输出端了。

CLOCK 和RESET分别为时钟和复位端下面我们再看看它的真值表,有了真值表我们才知道如何正确的去编写程序去驱动它(其它复杂的器件还需要对照时序图编写相应的驱动程序)呵呵,怎么样,这个表很简单吧,相信大家都能够看的懂。

当Reset为低电平时不管时钟为高电平还是低电平也不管输入引脚A1,A2为何值,输出的并行数据均为低电平。

当Reset 为高电平时,只有在时钟的上升沿,A1A2上的值才被移位输出。

看懂了这张表那么剩下的事情就好办多了。

下面我以级联的8块74HC164驱动8位共阴的数码管为例来阐述它的用途。

当然它的用途并不仅仅在于此。

你可以发挥你的聪明才智去应用它到你的设计中。

以上的连接中Reset脚要全部接高电平。

所有的Clock引脚都要连接在一块。

第一块74HC164的AB引脚接在一块作为串行数据的输入端。

第二块74HC164的AB引脚接在第一块74HC164并行数据输出端的H脚上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4、I/O接口的扩展方法 (1) 总线扩展法:扩展的并行I/O接口芯片,其数据、 地址取自P0、P2和P3口。这种扩展方法只分时占用P0、P2 和P3口线。 (2) 串行口扩展方法
二、MCS-51内部并行I/O端口的应用 (P244)
1、 I/O端口的三种操作方式:输出数据方 式、端口操作方式和输入(引脚)数据方式。 2、并行I/O端口的应用(P244例7.1) 在K3闭合时,模拟实现: F=/(K0&K1) &(K0+K1)
5.5 简单并行I/O口的扩展(教材P 244 )
一、概述 1、I/O接口扩展的原因 由于单片机自身可用作于输人、输出的口线不多,特别 是在扩展了存储器的单片机应用系统中,只有P1口和P3的 一部分口线还可作为I/O口使用,这些口线往往是不够的。 因而应用系统设计过程不可避免的要进行输入/输出口扩展 设计。 2、 I/O接口扩展的分类 MCS-51单片机扩展I/O口时,借助于单片机可寻址 64KB数据存储区的一部分地址空间。单片机对这部分地址 寻址时,操作的数据并不是来自外扩数据存储器,而是来自 于具有数据读写能力的外部接口芯片。单片机外部I/O接口 的芯片种类很多:专用的外围接口芯片,如8255A可编程外 围并行接口,8279可编程键盘显示接口等;通用型I/O电路 或MOS电路外围接口芯片。 I/O接口扩展分类有以下三种:
(1)TTL或CMOS芯片,如74273、4373、377、244、 245等并入并出芯片。(2)多功能I/O扩展芯片,如8255A、 8259、8253和8279可编程芯片。(3)串行口扩展芯片 (74LS164串入并出、 74LS165并入串出)。 3、I/O接口的作用(P238) I/O接口扩展不是最终目的, 而是为外部通道及设备提供一个输入/输出缓冲通道。所以 I/O接口应具有以下作用: ● I/O接口可实现单片机与不同 外设的速度相匹配。要求扩展的I/O接口具有输出数据带锁 存功能,而输入数据具有缓冲功能,以便暂存信息和数据。 ● I/O接口可实现单片机与不同外设的信息格式相匹配。 要求扩展的I/O接口具有改变数据传送方式的功能,即串、 并转换功能。 ● I/O接口可实现单片机与不同外设的信 息电平相匹配。要求扩展的I/O接口具有电平自动转换功能。
74LS245具有总线数据双向传送功能,在应用系统中, 常用来作为总线驱动器使用,其操作功能如下表所示。
上图中,74LS245的输出允许(19引脚)接地,芯 片处于选通状态,74LS245数据的传输受方向控制端 DIR的控制,显然,为了实现数据的双向传送, 74LS245的方向控制端DIR可直接与单片机的/ RD脚相 连。/ RD=0,数据从B口送到A口,/ RD=1,数据从A 口送到B口。
三、用74系列TTL芯片扩展I/0接口 1、用74LS244扩展8位并行输入口 (1) 74LS244芯片介绍
(2)、用74LS244扩展8位并行输入口电路图
Hale Waihona Puke 2、用74LS373扩展8位并行输出口 (1) 74LS373芯片介绍
2、用74LS373扩展8位并行输出口
3、用双向8总线收发器74LS245实现总线数据双向传送
相关文档
最新文档