Never save something for a special occasion. Every day in your life is a special occasion.
分类: 嵌入式
2011-01-03 23:30:37
所谓系统扩展,一般有两项主要任务:
其一,是把系统所需的外设和单片机连接起来。
其二,是扩大单片机的存储容量。
因此,系统扩展和接口技术一般有以下几方面内容:
(1)外部总线的扩展
(2)外部存储器的扩展
(3)I/O接口的扩展
(4)管理功能部件的扩展(如定时/计数器、键盘/显示器等)
(5)A/D和D/A接口技术
1.1 外部总线的扩展
MCS-51没有对外专用的地址总线和数据总线,那么在对外扩展存储器或I/O接口时,首先需要扩展对外总线。通过MCS-51引脚ALE可实现对外总线扩展。
P109 MCS-51外部三总线示意图
常用单片机地址锁存器有74LS273/373/377,8282等。
1.2 总线驱动
总线驱动器除对后级电路驱动外,还能对负载的波形变化起隔离作用。
常用总线驱动器:
CB和AB选用单向驱动器74LS244,244还带有三态控制,能实现总线缓冲和隔离。
DB 选用双向驱动器74LS245,245也是三态的,有一个方向控制端DIR。
P110 8051与总线驱动器的接口
2 外部存储器的扩展
MCS-51系列单片机具有64KB程序存储空间,其中8051、8751片内有4KB程序存储器,8031片内无程序存储器。
MCS-51系列单片机的数据存储器与程序存储器的地址空间相互独立,具有64KB数据存储空间,其中8051片内有128B数据存储器。
2.1 外部程序存储器的扩展
P111 MCS-51程序存储器的扩展原理(及时序)
P112 2716(2K×8位)EPROM与8031的连接图
P114 2864(8K×8位)EEPROM与8031的接口电路
2.2 外部数据存储器的扩展
RAM分为SRAM和DRAM,这里主要讨论SRAM与MCS-51的接口。
P115 MCS-51数据存储器的扩展原理(及时序)
P116 6264(8K×8位)SRAM与8031的连接图
2.3 多片存储器芯片的扩展
片选方法有两种:线选法和地址译码法
线选法是用P2、P0低地址线对每个芯片内的同一存储单元进行寻址(字选),然后将余下的高位地址线分别接到各存储芯片的片选端ce(线选)。
P117 用2764A(8K×8位)24K×8位的EPROM
线选法的优缺点:
优点:硬件简单,不需地址译码器,用于芯片不太多的情况。
缺点:各存储器芯片之间的地址不连续,给程序设计带来不便。
译码法仍用低位地址对每片内的存储单元进行寻址,而高位地址经过译码器译码后输出作为各芯片的片选信号。它将地址空间分为连续的地址空间,避免了地址的间断。
译码法又分为完全译码法和不完全译码法。
常用地址译码器74LS138。
3 I/O接口的扩展
MCS-51本身提供给用户的I/O线并不多,只有P1和部分P3线,因此,单片机系统中不可避免地要进行I/O扩展。
3.1 8255A可编程并行I/O接口
8255A具有3个8位并行I/O口,PA、PB、PC。
PC又分为高4位和低4位,分别和PA、PB组成A组和B组。
通过控制字设定可以选择3种工作方式:① 基本输入/输出 ②选通输入/输出 ③ PA为双向总线
3.1.1 8255A内部结构和引脚
8255A内部结构包括三个并行数据I/O端口,两个工作方式控制电路,一个读写控制电路和8位总线缓冲器。
通常,PA、PB作为数据I/O端口,PC作为控制信号输入/输出或状态信息输入端口。
8255A接口工作状态选择表 | |
端口地址选择: |
操作选择: |
A、B、C、控制寄存器 |
读/写 |
8255A 封装40DIP,引脚功能如下:
D7~D0 :三态双向数据总线
PA7~PA0,PB7~PB0 :A、B口I/O线
PC7~PC0 :C口线
A1、A0,cs:地址线,片选端
rd、wr :读写信号线
RESET、Vcc、GND :复位,电源线地线
工作方式选择:
方式0:基本输入/输出方式。 PA、PB、PC任一端口均可设定为方式0.
方式1:选通输入/输出方式。PC配合PA、PB使用,作联络控制信号线。
方式2:PA口为双向总线。 PC高5位作为PA的控制联络线。
P121 PC在设定为方式1、2时,各引脚分配的固定功能表。/**/
表中各联络信号含义如下:
输入 |
stb 选通信号输入端 IBF 输入缓冲器满 INTR 中断请求。请求CPU读取缓冲器中的数据 |
输出 |
ack 外设响应,告知收到 obf输出缓冲器满 INTR 中断请求。请求CPU继续输出数据 |
8255A的控制字 (A1A0=11)
8255A共有两个控制字,用来选择工作方式或对PC控制。
(1)方式控制字
1 |
ModA |
AIO |
CHIO |
ModB |
BIO |
CLIO |
其中:
1 方式控制字标志位
ModA PA工作方式选择
AIO PA I/O选择
CHIO PC7~PC4 I/O选择
ModB PB工作方式选择
BIO PB I/O选择
CLIO PC3~PC0 I/O选择
I/O选择:1 输入,0输出。 在用户选择方式1、2时,对PC的I/O定义都不影响PC作为控制联络线使用的各位功能,影响未用于控制联络线的各位。
(2)CP置位/复位控制字
单独设置PC各位实现控制联络功能。
0 |
××× |
A2A1A0 |
D |
其中:
0 PC位设置标志
A2~A0 位地址
D 待设置的位值
3.2 8155可编程并行I/O接口
8155芯片内具有256B RAM,两个8位、一个6位可编程I/O口和一个14位减法计数器,与MCS-51接口简单,是单片机应用系统中广泛使用的芯片。
3.2.1 8155的结构与引脚:
8155封装40DIP,内部由三部分组成:
(1)随机存储器部分:256×8位SRAM
(2)I/O接口部分:PA、PB为可编程8位I/O;PC为可编程6位I/O;命令寄存器,只许写;状态寄存器,只许读。
(3)定时/计数器部分:14位二进制减法定时/计数器。
P125 8155结构框图
各引脚功能简介:
AD7~AD0 地址/数据复用线。
IO/m RAM和I/O口选择。
ce 片选。 ALE 地址锁存,下降沿有效。
rd、wr 读写信号线。 RESET 复位3个I/O为输入。
TIMERIN,TIMEROUT 定时器输入/输出。
PA7~PA0、PB7~PB0 为A、B口的I/O线。
PC7~PC0 是C口的I/O或控制信号线。
Vcc、Vss 电源和地
3.2.2 8155 的RAM和I/O口的编址
A2~A0 (A7~A3为0) |
命令/状态寄存器 |
PA |
PB |
PC |
定时器低8位 |
定时器高6位和操作方式寄存器 |
0000 |
001 |
010 |
011 |
100 |
101 |
3.2.3 8155 I/O的工作方式
(1)基本I/O
PA、PB、PC都可工作于该方式。
(2)选通I/O
选通I/O为条件传送,传送的方式可以用查询方式,也可用中断方式。PA、PB均可工作于该方式,这时PC提供联络控制信号线。
PC提供联络控制信号
口位、、、、、、方式 |
作PA口联络信号 |
作PA和PB口联络信号 |
PC0 |
AINTR |
AINTR |
PC1 |
ABF |
ABF |
PC2 |
astb |
astb |
PC3 |
输出 |
BINTR |
PC4 |
输出 |
BBF |
PC5 |
输出 |
BSTB |
注: BF I/O缓冲器满标志。 stb 选通标志。 INTR 中断请求输入。 |
3.2.4 8155的命令/状态字
(1)命令字,用于定义I/O口及定时器的工作方式。
TM2 TM1 |
IEB IEA |
PC2 PC1 |
PB PA |
其中:
TM2 TM1 定时器运行控制
IEB IEA PA、PB中断允许
PC2 PC1 PC方式:ALT1,ALT2,ALT3,ALT4
PB PA PA、PB方式:0 输入,1输出
补充说明:
TM2 TM1 为00 时无操作;为01 时停止计数;为10时 计数满后停止;为11时开始计数。
PC工作方式:
ALT1 :PA、PB为基本I/O,PC为输入
ALT2 :PA、PB为基本I/O口,PC为输出
ALT3 :PA为选通I/O口,PB为基本I/O,PC低3侠为联络信号,高3位为输出
ALT4 :PA、PB为选通I/O,PC低3侠作PA的联络信号,高3位为PB的联络信号
(2)状态字
× |
TIMER |
INTEB BBF INTRB |
INTEA ABF INTRA |
说明:
TIMER 定时器中断(计数满时为高电平,读出状态或硬件复位为低电平)
INTE 中断允许
BF 缓冲器满/空
INTR 中断请求
3.2.5 8155的定时/计数器
14位减法计数器,由两个8位寄存器构成。
TL(04H) T7~T0
TH(05H) M2M1 T13~T8
其中:
T13~T0为计数器长度,M2M1 用来设定定时器的输出方式(单方波,连续方波,单脉冲,连续脉冲)
4 管理功能部件的扩展
功能开关、拔码器、键盘/显示器等 I/O设备。
4.1 键盘接口
单片机系统中普遍使用非编码键盘,这类键盘主要解决收下几个问题:
①键的识别 ②按键消抖 ③键的保护
非编码式键盘的按键识别方法:行扫描法,线反转法
P131 采用8155 的键盘接口方法 /**/
4.2 LED显示器接口
LED显示器结构和原理:共阴和共阳、动态显示和静态显示,显示段码(字形代码)
P134 6位动态显示器 /**/
4.3 键盘/显示器接口 8279
8279是一种通用的可编程键盘/数码管接口芯片。它能接收和识别来自键盘阵列的输入数据并完成预处理,还能显示数据和对数码显示器进行自动扫描控制。它与MCS-51接口非常简单,因而在单片机应用系统中得到广泛的应用。
P137 8279与8031接口连接框图
(找资料)8279命令/状态字
5 A/D和D/A接口功能的扩展
目前,A/D、D/A转换器都已集成化,具有体积小、功能强、可靠性高、误差小、功耗低等特点,并能很方便地与单片机连接。
5.1 A/D转换器接口
ADC按转换原理分为4种:计数式、双积分式、逐次逼近式、并行式
ADC的主要技术指标:
量化间隔 △=满量程输入电压/(2^n-1)
绝对量化误差 §=△/2
典型A/D转换器芯片ADC0809简介
ADC0809是8通道8位逐次逼近式A/D转换器。
P139 ADC0809的内部结构框图
5.2 D/A转换器接口
5.2.1 DAC与接口有关的指标:分辨率、建立时间、接口形式(是否带锁存器)
5.2.2 DAC0832简介
DAC0832是8位电流输出型DAC。基准电压范围±10V。
P144 DAC0832内部结构框图
该转换器由输入锁存器和DAC寄存构成两级数据输入锁存,与CPU接口方式:双缓冲方式,单缓冲方式,直通方式。
为得到电压输出,在电流输出端接运放。/**/
5.2.3 DAC0832与MCS-51的接口及应用
P145 是DAC0832单缓冲方式接口电路
P146 是DAC0832双缓冲方式接口电路
对于多路D/A转换接口,要求同步进行D/A转换输出时,必须采用双缓冲方式。