第六章 单片机并行IO口扩展
单片机数字输入输出接口扩展设计方法
单片机数字输入输出接口扩展设计方法单片机作为一种常见的微控制器,其数字输入输出接口的扩展设计方法是我们在电子工程领域中经常遇到的任务之一。
在本文中,我们将讨论单片机数字输入输出接口的扩展设计方法,并探讨其中的原理和应用。
在单片机系统中,数字输入输出(I/O)接口在连接外围设备时起着至关重要的作用。
通过扩展数字 I/O 接口可以为单片机系统提供更多的输入输出通道,从而提高系统的功能和性能。
下面将介绍几种常见的单片机数字 I/O 接口扩展设计方法。
1. 并行输入输出接口扩展并行输入输出接口扩展是最常见和直接的扩展方法之一。
通常,单片机的内部I/O口数量有限,无法满足一些复杂的应用需求。
通过使用外部并行输入输出扩展芯片,可以将单片机的I/O口扩展到更多的通道,同时保持高速数据传输。
这种方法可以使用注册器和开关阵列来实现数据的输入和输出。
2. 串行输入输出接口扩展串行输入输出接口扩展是一种节省外部引脚数量的方法。
使用串行输入输出扩展器,可以通过仅使用几个引脚实现多个输入输出通道。
这种方法适用于具有较多外设设备且外围设备数量有限的应用场景。
通过串行接口(如SPI或I2C)与扩展器通信,可以实现高效的数据传输和控制。
3. 矩阵键盘扩展矩阵键盘扩展是一种常见的数字输入接口扩展方法。
很多应用中,需要通过键盘输入数据或控制系统。
通过矩阵键盘的使用,可以大大减少所需的引脚数量。
通过编程方法可以实现键盘按键的扫描和解码,从而获取用户输入的数据或控制信号。
4. 脉冲编码调制(PCM)接口扩展脉冲编码调制是一种常见的数字输出接口扩展方法。
它通过对数字信号进行脉冲编码,将数字信号转换为脉冲信号输出。
这种方法适用于需要输出多个连续的数字信号的应用,如驱动器或步进电机控制。
通过适当的电路设计和编程,可以实现高效的数字信号输出。
5. PWM(脉冲宽度调制)接口扩展PWM接口扩展是一种常用的数字输出接口扩展方法。
PWM技术通过改变信号的脉冲宽度来实现模拟信号输出。
单片机原理与应用技术:9第6章 IO口扩展new2
A1 A0 RD* WR* CS*
工作状态
0 0 0 1 0 读端口A:A口数据→数据总线 0 1 0 1 0 读端口B:B口数据→数据总线 1 0 0 1 0 读端口C:C口数据→数据总线
0010 0110 1010 1110 ×××× 1101 ×× 1 1
0 写端口A:总线数据→A口 0 写端口B:总线数据→B口 0 写端口C:总线数据→C口 0 写控制字:总线数据→控制字寄存器 1 数据总线为三态 0 非法状态(不能读控制字寄存器) 0 数据总线为三态
单片机只有在确认外设已为数据传送做好准备的前提下才 能进行I/O操作。
想知道外设是否准备好,需I/O接口电路与外设之间传送状 态信息。
3
6.1.1 I/O接口的功能
2. 输出数据锁存 由于单片机工作速度快,数据在数据总线上保留的时间十 分短暂,无法满足慢速外设的数据接收。I/O电路应具有 数据锁存器,以保证接收设备接收。
(3) 数据总线缓冲器线
三态双向,作为8255与单片机数据线之间接口,传送数据、 指令、控制命令及外部状态信息。
(4) 读/写控制逻辑电路线
该电路接收CPU发来的控制信号、RESET、地址信号A1、 A0等。对端口进行读写。
13
6.2.1 8255芯片介绍
各端口的工作状态与控制信号的关系如表所示。
入缓冲器。 PC口: 1个8位数据输出缓冲器; 1个8位数据输入缓冲器。
PC口可在软件的控制下,分为两个4位端口,作为PA口、 PB口选通方式操作时的状态控制信号。
12
6.2.1 8255芯片介绍
(2) A组和B组控制电路 A组:PA口和PC口的上半部(PC7~PC4); B组:PB口和PC口的下半部(PC3~PC0)。 可根据“命令字”对PC口按位“置1”或“清0”。
并行IO口扩展控制讲义
并行IO口扩展控制讲义概述并行IO口扩展控制是一种常见的硬件设计技术,用于将单一的IO 口扩展为多个并行IO口,以增加系统的输入输出能力。
在本讲义中,我们将介绍并行IO口扩展控制的根本原理、应用场景以及具体的硬件设计方法。
根本原理并行IO口扩展控制的根本原理是通过串并转换器和多路复用器实现的。
串并转换器将串行信号转换为并行信号,多路复用器将并行信号转换为串行信号。
通过这种方式,可以将一个IO口的输出信号转换为多个并行输出信号,或者将多个并行输入信号转换为一个IO口的输入信号。
应用场景并行IO口扩展控制在很多场景中都有广泛的应用。
以下是一些常见的应用场景:1.高速数据采集系统:在一些需要高速数据采集的系统中,通常需要同时采集多个传感器的数据。
通过并行IO口扩展控制,可以将单一的IO口扩展为多个并行输入口,以实现并行采集多个传感器的数据。
2.并行通信接口:在一些通信设备中,需要同时处理多个并行数据流。
通过并行IO口扩展控制,可以将单一的IO口扩展为多个并行输入输出口,以实现并行处理多个数据流。
3.扩展外设控制:在一些嵌入式系统中,IO口通常是有限的。
通过并行IO口扩展控制,可以将单一的IO口扩展为多个并行输入输出口,以控制更多的外设。
硬件设计方法下面是一种常见的硬件设计方法,用于实现并行IO口扩展控制:1.确定需要扩展的IO口数量:根据特定的应用需求,确定需要扩展的IO口数量。
2.选择串并转换器和多路复用器:根据需要扩展的IO口数量,选择适宜的串并转换器和多路复用器。
常见的串并转换器包括移位存放器和时序控制器,常见的多路复用器包括数据选择器和多路选择器。
3.连接串并转换器和多路复用器:将串并转换器和多路复用器按照设计图纸进行连接。
4.调试和验证:完成硬件连接后,进行调试和验证。
确保IO口扩展功能正常工作。
总结通过并行IO口扩展控制,可以将单一的IO口扩展为多个并行IO 口,以增加系统的输入输出能力。
单片机6-3 并行接口的扩展
1.实现和不同外设的速度匹配
大多数的外设的速度很慢,无法和µs量级的单片机 速度相比。 单片机只有在确认外设已为数据传送做好准备的 前提下才能进行I/O操作。
第 3 页
© 常州大学信息科学与工程学院
单片机原理及应用 电子教案 2. 输出数据锁存
第6章 单片机系统的并行扩展
由于单片机工作速度快,数据在数据总线上保留的时 间十分短暂,无法满足慢速外设的数据接收。I/O电路 应具有数据锁存器,以保证接收设备接收。 3. 输入数据三态缓冲
第 8 页 © 常州大学信息科学与工程学院
单片机原理及应用 电子教案 6.4.0.4 I/O接口电路
第6章 单片机系统的并行扩展
如何实现I/O接口的扩展。Intel公司的配套可编程I/O接口 芯片的种类齐全,为扩展I/O接口提供了很大的方便。 常用的外围I/O接口芯片有: (1)8255A:可编程的通用并行接口电路(3个8位I/O口)。 (2)8155H:可编程的IO/RAM扩展接口电路(2个8位I/O口, 1个6位I/O口, 256个RAM字节单元,1个14位的减法定时器/ 计数器)。 可与MCS-51单片机直接连接,接口逻辑十分简单 此外,74LS系列的TTL电路也可以作为MCS-51的扩展I/O口, 如74LS244、 74LS273等。 利用串行口来扩展并行I/O口。
可对C口8位中的 任一位置“1”或 清“0”。用于位 控。
例如:控制字07H写入控制口,置“1” PC3; 08H写入控制口,清“0” PC4。
第 21 页 © 常州大学信息科学与工程学院
单片机原理及应用 电子教案 三. 8255A的三种工作方式 1.方式0
第6章 单片机系统的并行扩展
基本的输入/输出方式。
并行IO口扩展
PA0-PA7 PB0-PB7 PC0-PC5 AD0-AD7 IO/ M TIMER IN TIMER OUT RD、WR ALE CE RESET
端口A的I/O线(8位,接外设) 端口B的I/O线(8位,接外设) 端口C的I/O线(6位,接外设) 三态地址/数据复用线(8位,一般接单片机P0 口,CPU与8155之间的地址、数据、命令、状 态等信号都通过它来传送) 端口/存储器 选择控制 “0”选择片内RAM “1”选择片内I/O口 8155片内定时器/计数器的计数脉冲输入引脚 8155片内定时器/计数器的计满回零输出引脚 分别是对8155片内的RAM或I/O口的的读、写控 制信号 地址锁存引脚 选片 复位引脚
2、8255A内部结构 8255A内部结构由以下四部分组成: 数据端口A、B、C;A组控制和B组控制;读/写控制逻 辑电路;数据总线缓冲器。结构如图所示
端口A:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数 据输入锁存器,可作为数据输入或输出端口, 并工作于三种 方式中的任何一种。 端口B: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器,可作为数据输入或输出端口, 但不能工作 于方式2。 端口C: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器, 可在方式字控制下分为两个4位的端口(C 端口上和下),每个4位端口都有4位的锁存器, 用来配合端 口A与端口B锁存输出控制信号和输入状态信号,不能工作于 方式1或2。 A组和B组控制的作用如下: A组控制逻辑控制端口A及端口C的上半部; B组控制逻辑控制端口B及端口C的下半部。
Y2 Y1 Y0
ALE AD0~AD7 RD WE CE PA PB
8155 PC
+5V
第六章 单片机系统的并行扩展
部分地址译码法
Y0 CS 0#芯片 A0 A1 A0 A1
—— 片选线中只 有一部分参与译码, 其余部分是悬空, A15 具有重叠地址
A14 A13悬空
(3FFCH~3FFFH)
A0
Y1
CS
1#芯片 A0 A1
(7FFCH~7FFFH)
A0 A1
A1 Y2 S Y3 74LS138
2#芯片 A0 CS A1 (0BFF8H~0BFFFH) A2
关于地址重叠:有一个以上CPU地址与存储单元对应。
X为无关项,即无论X取0,或取1,都不会影响对单元的确定,0#芯 片中每个单元都有210个重叠地址 。当X由全“0”,变到全“1”时, 0#芯片的地址范围即为6000H~7FFFH。基本地址范围:6000H~6007H。
A15 0 A14 1 A13 1 A12 X … … A3 X A2 0 A1 0 A0 0 0#单元
WR:
EA:
片外数据存储器写控制信号
程序存储器选择
二、扩展程序存储器电路: 常用EPROM芯片:Intel 2716(2K×8位)、2732(4KB)、 2764(8KB) 、27256(32KB)、27512(64KB)。 8031扩展 32KB EPROM Intel 27256
三. 扩展数据存储器电路: 常用RAM芯片: Intel 6116(2KB)、6264(8KB)、62256(32KB)。 8031扩展 8KB RAM Intel 6264
6.1.1 并行扩展总线 P0、P2口作为单片机的地址总线和数据总线 地址锁存原理 看时序图
– 注意三个控制引脚的电平变化:ALE、PSEN、
WR/RD
6.1.2 地址译码方法
单片机并行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并行输出口。
第6章 MCS-51单片机系统扩展技术
6.3 数据存储器扩展
6.3.1 静态RAM扩展电路
6.3.2 动态RAM扩展电路
返回本章首页
6.3.1 静态RAM扩展电路
常用的静态RAM芯片有6116,6264,62256等,其 管脚配置如图6-13所示。
1.6264静态RAM扩展 额定功耗200mW,典型存取时间200ns,28脚双列直插 式封装。表6-1给出了6264的操作方式,图6-14为6264静 态RAM扩展电路。
图 6 9
A EEPROM
28 17
扩 展 电 路
写入数据
不是指令
查询 中断 延时
2.2864A EEPROM 扩展
2864A有四种工作方式: (1)维持方式 (2)写入方式 (3)读出方式 (4)数据查询方式
图 6 12
28 64
返回本节
A EEPROM
扩 展 电 路
串行E2PROM简介 串行E2PROM占用引线少、接线简单,适用于作为数据存储 器且保存信息量不大的场合。 以AT93C46/56/57/66为例,它是三线串行接口E2PROM, 能提供128×8、256×8、512×8或64×16、128×16、256×16 位,具有高可靠性、能重复擦写100,000次、保存数据100年 不丢失的特点,采用8脚封装。
第6章 MCS-51单片机系统扩展技术
6.1 MCS-51单片机系统扩展的基本概念
6.2 程序存储器扩展技术
6.3 数据存储器扩展 6.4 输入/输出口扩展技术
T0 T1
时钟电路
ROM
RAM
定时计数器
CPU
并行接口 串行接口 中断系统
P0 P1 P2 P3
TXD RXD
INT0 INT1
IO接口的扩展
6.4 I/O接口的扩展MCS-51系列单片机共有四个8位并行I/O口。
由于国内普遍采用内部无ROM型单片机,因而P0口和P2口主要用于地址和数据总线,P3口大部分用作第二变异功能(控制信号),真正提供给用户使用的只有P1口及P2口和P3口的某些位。
所以,在许多场合就感到满足不了要求。
而单片机在结构上为外部扩展并行I/O口提供了方便。
实际应用中,I/O口扩展总是为了实现某一测控及管理功能而进行的,如联结键盘、显示器、驱动开关控制、开关量监测等。
按MCS-51的结构,扩展的I/O口采取与外部RAM统一编址,即两者合用64K地址空间。
因此,CPU可以像访问外部RAM那样访问外部I/O口,对I/O口进行输入/输出操作。
I/O口扩展用芯片主要有通用可编程I/O芯片和TTL、CMOS锁存器、缓冲器电路芯片两大类。
通用可编程I/O扩展芯片有Intel公司的8155,8255,8243,8279等。
I/O口扩展用74LSTTL芯片有:74LS373,377,244,273,367等。
另外还可以利用MCS-51单片机的串行口来扩展较多数量的并行输入或输出口。
这种扩展方法所用的移位寄存器芯片有扩展输出口的74LS164和扩展输入口的74LS165。
实际应用中,要根据芯片的特点及输入、输出量的特征选择芯片。
一、简单的I/O接口扩展在单片机应用系统中,经常采用TTL电路或CMOS电路锁存器、三态门电路作为I/O 口扩展芯片。
这种I/O口一般都是通过P0口扩展,不占用单片机的I/O口资源,只需一根地址线作片选线用。
这种方法具有电路简单、成本低、配置灵活方便等特点。
图6-14是采用74LS244作扩展输入,74LS273作扩展输出的简单I/O接口扩展电路。
图6-14 简单I/O接口扩展电路图中P0口为双向数据总线,既能从74LS244输入数据,又能将数据送给74LS273输出。
输入控制信号由P2.7和RD相或而成,当二者同时输出为0电平时,或门输出为0,选通74LS244,使外部信息进入到总线。
-单片机的并行扩展技术
第六章单片机的并行扩展技术6·1 什么是并行外围扩展? 并行外围扩展有哪两种方式?这两种方式本质上的区别是什么?答:(1)并行外围扩展单片机的并行外围扩展是指单片机与外围扩展单元采用并行接口的连接方式,数据传输为并行传送方式。
并行扩展体现在扩展接口数据传输的并行性。
(2)并行外围扩展的方式并行外围扩展方式有两种I/O方式与总线方式。
题图6-1是80C5l两种并行外围扩展接口示意图。
图中的并行口数据宽度为8位。
①并行I/O口方式: I/O口并行扩展由I/O口完成与外围功能单元的并行数据传送任务,单片机与外围功能单元数据传送过程中的握手交互也由I/O口来完成的。
②并行总线方式:并行扩展采用三总线方式,即数据传送由数据总线DB完成;外围功能单元寻址由地址总线AB完成;控制总线CB则完成数据传输过程中的传输控制,如读、写操作等。
(3)两种方式本质上的区别两种并行外围扩展方式本质上的区别列于题表6-1中。
6·2 单片抗应用系统中有哪几种键盘类型?为什么这些键盘都是通过I/O 口扩展?答: (1)单片机应用系统中的键盘类型与通用计算机键盘相比,单片机应用系统中的键盘种类很多,键盘中按键数量的设置依系统操作要求而定。
一般说来,单片机应用系统中键盘有独立式和行列式两种,如题图6-2 所示。
题图6-2①独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立如题图6-2(a)所示。
I/O口通过按键与地相连。
I/O口有上拉电阻,无键按下时,引脚端为高电平;有键按下时,引脚端电平被拉低。
1/0端口有内部上拉电阻时,外部可不接上拉电阻。
②行列式键盘:行列式键盘采用行列电路结构。
行列交点处通过按键相连,列线为输出口,行线为输人口,如题图6-2(b)所示。
列线口输出全零电平时,若没有键按下则行线引脚上全部为高电平"1"状态;若有任何一个按键按下则行线引脚上为非全"1"状态;在有键按下后,通过列线逐个送"0",然后逐行检查哪根行线为"0"状态,即可查出是哪个键按下。
单片机原理及应用第6单元单片机并行总线扩展
74LS373是8D三态同相锁存器,其引脚图和功 能表如图6-2所示。当门控端G输入正脉冲,且输 出控制低电平有效时,D端的数据被锁存到锁存 器的输出端,当G为低电平时,输出Q保持不变; 当为高电平时,输出Q是高阻态。
OE Q0 D0 D1 Q1 Q2 D2 D3 Q3 GND 1 2 3 4 5 6 7 8 9 10 20 19 18 17 16 15 14 13 12 11 Vcc Q7 D7 D6 Q6 Q5 D5 D4 Q4 G 输入 输出 D 0 1 Q 0 1 不变 高阻
(1) EPROM存储器 EPROM是电写紫外线擦除的只读存储器,芯 片上有一个石英窗口,在紫外线下照射20分钟左 右,存储器的所有单元信息全部变为“1”,即擦 除了所有信息,这时可通过相应的编程器将程序 固化到芯片中。常用的EPROM芯片主要有2716 (2K×8位)、2732(4K×8位)、2764 (8K×8位)、27128(16K×8位)、27256 (32K×8位)、27512(64K×8位)等。芯片的 引脚图如表6-2所示。
Vcc
E3 E2 E1 C B A
74LS138
Y2 Y1 Y0 CE 1# A11~A0 A11~A0 CE 2# A11~A0 CE 3# A11~A0
A15 A14 A13 A12
12
12
图6-5 全译码法示意图
全译码法和线选法相比,硬件电路稍微复杂一 些,但可充分利用存储空间,还可有效避免地址 空间重叠现象。 译码法的另一个优点是译码器输出端可保留若 干端线,便于系统的后续扩展。
其中,ALE作地址锁存选通信号,实现 低8位地址的锁存(P0口是数据、地址分 时复用);PSEN 作程序存储器的读选择信 EA 号; EA 作内外程序存储器的选择信号, =0,只访问外部程序存储器,外部程序存 储器地址从0000H开始设置; EA =1,内外 存储器统一编址,单片机执行内部程序存 储器中的命令,超出内部ROM地址范围, 则自动执行片外程序存储器中的命令。
单片机基础及应用 单片机的并行扩展
6/30
半导体存储器的分类
半导体 存储器
2021/4/29
随机存取存储器 (RAM)
静态RAM(SRAM) 动态RAM(DRAM,IRAM) 非易失RAM(NVRAM)
只读存储器 (ROM)
掩膜式ROM 一次性可编程ROM(PROM) 紫外线擦除可编程ROM(EPROM) 电擦除可编程ROM(EEPROM) 闪速存储器(FlashPROM)
储单元都是这种结构。出厂前,所有存储单元
的熔丝都是通的,存储内容全为“1”。用户在
使用前进行一次性编程,例如,若想使某单元
的存储内容为“0”,只需选中该单元后,再在
VCC端加上电脉冲,使熔丝通过足够大的电流,
把熔丝烧断即可。熔丝一旦烧断将无法接上,
根据写入原理 PROM可分为两类:
也就是一旦写成“0”后就无法再重写成“1”了。 因此PROM只能编程一次,使用起来很不方便。
350
250
DIP24
DIP24
8KB×8 250 DIP28
16KB×8 32KB×8
250
250
DIP28
DIP28
2021/4/29
第6章 单片机并行存储器扩展
第12页/共29页
12/30
4、EEPROM
E2PROM是近年来被广泛重视的一种只读存储器,它称为电擦除可编程只 读存储器,又可写为EEPROM。其主要特点是能在应用系统中进行在线改 写,并能在断电的情况下保存数据而不需保护电源。特别是最近的+5V电擦 除E2PROM,通常不需单独的擦除操作,可在写入过程中自动擦除,使用 非常方便。28××××系列的芯片都是E2PROM。
2021/4/29
第6章 单片机并行存储器扩展
第6章 并行IO口扩展技术
6.2 8255A可编程并行接口芯片扩展I/O接口
常用的可编程接口芯片如表6-1所示:
9
1、8255A的结构
图6.2 8255A的内部结构图
10
1)数据总线缓冲器
是双向三态的8位驱动器,用于和单片机的数据
总线连接,以实现单片机与8255A芯片的数据传送。
2)并行I/O端口 有三个端口: ① A口:具有一个8位数据输出锁存/缓冲器和一个8位数据 输入锁存器,可编程为8位输入输出或双向寄存器。 ② B口:具有一个8位数据输出锁存/缓冲器和一个8位数据 输入缓冲器(不锁存),可编程为8位输入输出或输出寄存 器,但不能双向输入输出。 ③ C口:具有一个8位数据输出锁存/缓冲器和一个8位数 据输入缓冲器(不锁存),在方式控制下,可分为两个4位 口使用。除了作输入、输出口使用外,还可作A口、B口选通 方式操作时的状态控制信号。
另一类是CPU与外部设备之间的数据输入/输出 (I/O)操作。
由于CPU与外部设备之间的数据传送非常复杂, 不能与外设进行直接连接,故必须在两者之间加一 个接口电路。如图6.1所示:
3
图6.1 并行接口连接外设的示意图 4
2、接口电路的作用 1)实现速度协调 解决高速主机与低速外围设备间的矛盾。 2)实现数据锁存 处理外围设备与CPU之间的不同信息格式 3)实现三态缓冲 使主机与外设协调工作
中最高位必须固定“0”,各位功能如图6.4所示:
19
3)工作方式 方式0:基本的输入/输出方式。适合A口、B口和C口 方式1:选通输入/输出方式。适合A口和B口 方式2:双向数据传送方式(即可接收又可发送数 据),只适合A口。
4、8255A初始化编程 初始化的内容:
向控制字寄存器写入工作方式控制字和C口置位 /复位控制字。
《单片机技术应用》课件——第六章 单片机并行存储器扩展
74LS 373
18
17 14 13
8
D7
D6 D5
D4 D3
Q7
Q6 Q5
Q4 Q3
19
16 15
12 9
1 2 3
4 5
A7
A6 A5
A4 A3
7 4
3
D2 D1
D0G
Q2 Q1
OEQ0
6 5
2
6 7
8
A2 A1
A0
2732 4K×8
11 1
GND 17 O7
16 15
14
13 11 10
O6 O5
(2K×8位)、6264(8K×8位)、62256(32K×8位) 等。根据题目容量的要求,我们选用SRAM 6116。 6116的管脚与EPROM 2716管脚兼容,管脚如图所示。
1 A7
VCC 24
2 3
A6 A5
6116
A8 A9
23 22
4
5 6
A4 A3
A2
WE OE
A10
21
20 19
GND 31
EA
P2.3 P2.2
P2.1 P2.0
24
23 22 21
8031
P0.7
P0.6 P0.5
P0.4 P0.3
32
33 34
35 36
P0.2 P0.1
P0.0
37
38 39
ALE 30 PSEN 29
+5 V
GND
24 12 18
21 VCC GND CE
19 22
23
A11 A10 A9
EPROM 27512 64KB 16根地址线
新版单片机系统的并行扩展
A基105当地A114址范A11围3 :A1X62000……H~6A0X307HA0。2
A1 0
A0 0
0#单元
0
1
1
X
…
X
0
0
1
1#单元
0
Байду номын сангаас
1
1
X
…
X
0
1
0
2#单元
0
1
1
X
…
X
0
1
1
3#单元
0
1
1
X
…
X
0
0
0
4#单元
0
1
1
X
…
X
1
0
1
5#单元
0
1
1
X
…
X
1
1
0
6#单元
0
1
1
X
…
X
1
1
1
7#单元
0#芯片
PUSH DPH
PUSH DPL
PUSH PSW
MOV PSW,#8
;目前工作寄存器区切换到1区
MOV A,@R0
;从B口输出下一种数据打印
MOV DPTR,#7FFDH
MOVX @DPTR,A
INC R0
;修改指针
DJNZ R7,BACK
CLR EX1
SETB F0 BACK:POP PSW
;长度为0,关中断返回 ;置打印结束标志位F0 ;现场恢复(DPTR、A等退栈)
POP DPL
POP DPH
POP ACC
RETI
6-5 D/A接口旳扩展
实现数模转换旳功能部件称为D/A转换器,衡量D/A转换器 性能旳重要参数有:
第6章 AT89S51单片机并行扩展技术
单片机实用教程第6章AT89S51单片机并行扩展技术本章主要内容1、AT89S51系统扩展概述2、扩展外部ROM3、扩展外部RAM4、扩展并行I/O口一、并行扩展的内容1、外部的程序存储器2、外部的数据存储器3、I/O口扩展二、并行扩展的三总线1、地址总线(AB)P0(低8位):A0-A7P2(高8位):A8-A152、数据总线(DB)P0口8位的数据线(分时复用)3、控制总线(CB)(1)ALE:地址所存允许。
控制P0口分时复用。
地址数据ALE(2)PSEN:外ROM读选通信号。
用于片外程序存储器的读选通控制,一般与外部程序存储器的输出允许端OE相连。
(3)WR(P3.6口的第二功能):用于外部数据存储器或I/O口的写选通控制,一般与所扩展芯片的写允许WE端相连。
(4)RD(P3.7口的第二功能):用于外部数据存储器或I/O口的读选通控制,一般与所扩展芯片的输出允许OE端相连。
三、AT89S51并行扩展三总线电路的实现一、ROM分类1、Mask ROM(掩膜)2、OTPROM(Only Time Programmable一次性编程)3、EPROM(Erasable PROM)4、EEPROM(Electrically EPROM)5、Flash ROM二、EPROM芯片三、EPROM与AT89S51单片机典型连接电路表6-1 2764工作方式1、芯片的高位地址线(A8~A15)直接与单片机的P2口相连,低位地址(A0~A7)通过地址锁存器接到P0口。
2、芯片的数据线直接接到P0口。
3、芯片的片选接地,输出允许控制OE用单片机PSEN控制。
单片机的ALE接锁存器的控制端。
4、芯片、锁存器、单片机的其它控制线接有效信号。
一、RAM分类1、静态RAM2、动态RAM二、常用RAM芯片三、外RAM操作指令(1)MOVX A,@Ri ;(Ri)→A (2)MOVX A,@DPTR ;(DPTR)→A (3)MOVX @Ri,A ;A→(Ri)(4)MOVX @DPTR,A ;A→(DPTR)四、SRAM与AT89S51的典型连接电路表6-36264工作方式地址空间范围:6264的地址线只有13根,高3位地址线对其不影响,0000H和8000H都可以访问到6264的第一个单元,这种现象称为地址重叠。
并行I-O接口的扩展
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
第六章单片机并行存储器扩展
锁存器的G信号说明:(G与ALE相连)
当G=1时,Q随D的变化而变化,这时Q为地址(有效的低8位) 当G=0时,Q不随D变化,这时Q为数据
第十四页,本课件共有24页
第三节 数据存储器扩展技术
片外RAM和片外ROM的扩展在数据线和地址线的连接上是完全相同的,所不同的只是控制信号,片外ROM使用/PSEN作 为读选通,而片外RAM 使用/RD和/WR作为读写选通。
P2.2
P2.1 P2.0
ALE
80C51
74HC373
Q7
G
Q0
D7 D0
D7-D0
6116
AA1122 CE AA111 AA1100 A9 A8 AA7 I
A0
WE OE
AA1122 CCEE AA111
A10
AA99
AA8 A7 II
6116
D7-D0
AA00
WE
OOE
AA122 CE AA111 AA100
8279:可编程键盘/显示控制器
第七页,本课件共有24页
四、MCS-51单片机存储器结构
MOV 间接 寻址@Ri
MOV 直 接寻址
FFFFH
1000H
外部 ROM
64K
0FFFH
80C51
内部
ROM EA = 1
0000H
外部 ROM EA = 0
MOVC
MOVC
FFH
FFH 80C52
SFR
FFFFH
(2)对片内、外ROM,采用相同的指令 。片内外ROM的选择(起始端)由EA 决定。
(3)程序存储器使用单独的控制信号 (PSEN)和指令(MOVC),不用 RD和MOVX。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MR
CLK
DX
QX
0 1
1
X ↑
↑
X 1
0
0 1
0
74LS273与单片机接口电路
8051 74LS273
MR
P0 D 数据输出
Q
WR CLK
外设
只扩展了一片74LS273,也没有外部RAM。当写外部 RAM时,就选中273,进行数据输出。 MOVX @DPTR, A
DPTR可以任意,即0000~FFFFH。
74LS273
80C31 8051
CP CLR CLK MR
+5V WR
P2.7
≥1 ≥1
RD
74LS244
6.3 单
g f com a b a f e g d b c
dp
dp g f e d c b a
com
e d
com
c dp
D7 D6 Dp g D5 f
;7号键功能程序 ;7号键功能程序执行完返回
按下对应的键点亮对应的灯
6.4.2 矩阵式键盘
矩阵式键盘又叫行列式键盘。用I/O口线组成行、 列结构,键位设置在行列的交点上。 例如4×4的行、列结构可组成16个键的键盘,比一个 键位用一根I/O口线的独立式键盘少了一半的I/O口线。
矩阵式键盘及其接口
显示缓冲区:55H~50H 要显示的数所存放的RAM地址; 显示缓冲区指针:R0,初始值为50H; 位选控制:R1,初始值为0FEH。
延时1ms 修改显示缓冲区指针:R0+1 Y
判断R1的第5位是否为0?
N 左移R1
RET
注意:
在轮流显示过程中,每位数码管的点亮时间为1~2ms。 若延时时间长,会出现闪烁现象,若延时时间太短, 则会出现显示暗且有重影。 随时更新显示缓冲区内容,再调用显示子程序即可显 示。
采用延时程序:0~9每隔1s循环显示
ORG 0000H START:MOV 50H,#00 MOV DPTR,#TABLE ;DPTR指向段码表首地址 S1: MOV A,50H MOVC A,@A+DPTR ;查表取得段码 CJNE A,#01H,S2 ;判断段码是否为结束符 SJMP START S2: MOV P0,A ;段码送数码管显示 LCALL DELAY ;延时 INC 50H SJMP S1 DELAY: MOV R5,#50 ;延时子程序 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段码表 DB 01H ;结束符
P0
a b c d e f g dp a b c d e f g dp a b c d e f g dp
+5V
WR
≥1
1
D1 D2 D3 D4 D5 D6 D7 D8 LE G Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8
74LS373
+5V
P2.7 P2.6 P2.5
与
INT0
GND
查询方式
中断方式
查询方式独立按键程序
START:MOV P1,#0FFH MOV A, P1 JNB ACC.0,K0 JNB ACC.1,K1 JNB ACC.2,K2 JNB ACC.3,K3 JNB ACC.4,K4 JNB ACC.5,K5 JNB ACC.6,K6 JNB ACC.7,K7 JMP START K0: AJMP KEY0 K1: AJMP KEY1 …… K7: AJIMP KEY7
实验3.3电路
要访问74LS273,P2.7必须为0,故273的地址范围为 0000~7FFFH。
MOVX @DPTR, A
G
输出口----利用锁存器扩展; 输入口----利用缓冲器扩展
P0 ALE
D1 D2 D3 D4 D5 D6 D7 D8 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 1G 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 2G
独立按键与单片机的接口电路
独立按键就是各按键相互独立,每个按键各接一根 I/O口线,每根I/O口线上的按键都不会影响其它的I/O 口线。
VCC 8051 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 GND P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 8051 VCC
2位数码管静态显示
a
P0
Dp
a P1 Dp
利用74LS273扩展I/O口进行2位数码管静态显示
273
Q0
a
P0
D
CLK Q7
WR P2.7 P2.6
Dp a
≥1
1
273
Q0
D
CLK Q7
Dp
≥1
1
00~59每隔1s循环显示
LE 为高电平时,Q 随 D 而变。当 LE 为低电平时,Q被锁存。
D1 D2 D3 D4 D5 D6 D7 D8 LE G Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8
采用中断方式:0~9每隔1s循环显示
ORG 0000H AJMP START ORG 000BH AJMP TIMET0 START: MOV R3,#20 MOV TMOD,#01H MOV TH0,#9EH MOV TL0,#58H SETB EA SETB ET0 SETB TR0 MOV 50H,#00H ; MOV A,50H MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A SJMP $
8051
P1.0 P1.1 P1.2 P1.3 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
4× 4
4× 8
矩阵式键盘的工作过程 第一步是CPU首先检测键盘上是否有键按下; 第二步是再识别是哪一个键按下。
一、判断是否有键按下
方法是:将列线送入全扫描字0,读行线状态判别。 列线输出0000,然后读入行线状态, 若没有键按下,则行线状态为全1( 1111 ); 若有任一键按下,则行线状态不为全(1111)。
com
D4 e D3 d D2 c
dp g f e d c b a
D1 b D0 a
如共阳极时,输出1 1 1 1 1 0 0 0 即 F8H时,显示数字7
字型
共阴字型码
共阳字型码
字型
共阴字型码
共阳字型码
0
1 2 3 4 5 6
3FH
06H 5BH 4FH 66H 6DH 7DH
C0H
F9H A4H B0H 99H 92H 82H
1G(2G)
输出
1
0
高阻
等于输入
74LS244与单片机接口电路
8051 74LS244
P0
Y
1G A
数据输入
外设
RD 2G 只扩展了一片74LS244,也没有外部RAM。当读外部 RAM时,就选中244,进行数据输入。
MOVX A, @DPTR
DRTP可以任意,即0000~FFFFH。
实验3.3 电路
第六章 单片机并行I/O口扩展
6.1 单片机I/O接口技术概述
一、为什么要扩展I/O接口
锁存器 实质是触发器。 锁存信号有效时,输出随输入变化;无效时,输出不
随输入变化,而保持上次的结果,即锁存。
用于单片机输出口扩展。
三态缓冲器 实质是门电路。不能保存数据。
控制信号
使能有效时,输出随输入变化;无效时,输出呈现
公共端直接接地(共阴极)或接电源(共阳极); 各段选线分别与I/O口线相连.
要显示字符,直接在I/O线送相应的字段码。
1位数码管
查表程序结构
MOV A,#00 MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A SJMP $ TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H
;检测0号键 ;检测1号键 ;检测2号键 ;检测3号键 ;检测4号键 ;检测5号键 ;检测6号键 ;检测7号键 ;无键按下返回,再顺次检测 ;入口地址表
KEY0:…… JMP KEY1:…… JMP …… KEY7:…… JMP START START START
;0号键功能程序 ;0号键功能程序执行完返回 ;1号键功能程序 ;1号键功能程序执行完返回
≥1
1
D1 D2 D3 D4 D5 D6 D7 D8 LE G
74LS373
80C51
+5V
C
B
A
74LS138
Y0 Y1 Y2
≥1
1
74LS373
二、动态扫描显示
I/O(1)
D3
D2 I/O(2)
D1
D0
动态扫描显示
将所有数码管的段选线并接在一起,用一个IO口控制; 公共端不是直接接地(共阴极)或电源(共阳极),而是通过相应的 I/O口线控制. 编程时,需要输出段选和位选信号。位选信号选中其中一个数 码管,然后输出段码,使该数码管显示所需要的内容,其它数 码管处于熄灭状态,延时一段时间后,再选中另一个数码管, 并输出对应段码,高速交替。 从计算机的角度看, LED是一个一个的显示,但由于人的视觉 暂留作用,只要交替显示的时间足够快,看起来所有的数码管 都是一起显示的。