当前位置:文档之家› 51单片机接口(并口串口人机接口)10

51单片机接口(并口串口人机接口)10

51单片机接口

并行、串行接口
10.1 总线和接口

总线 (串行接口、并行接口)(同步,异步) 接口
串行通讯与并行通讯
发送方 数据准备好 数据D0~D7 接收方
8条数据线
数据收到
甲方 发送数据 接收数据
上图:并行单向通讯 下图:串行双向通讯
乙方 接收数据 发送数据
10.1 接口/存储器的扩展
常用译码器
图中E;E1;E2;E3;G1;G2均为使能控制端,可以连接到地址线, 也可以连接固定电平。当这些引脚“有效”时才能译码,否则 芯片输出高电平。ABCD连接低位地址。
3-8译码器举例
高3位地址用于译码, 可得8条选择线,每线 可以选择(64/8=8) 8KB的地址范围: Y0选择0000H~1FFFH;
线选法地址重叠及避免方法

MCU
芯片1 CS


P2.5 P2.6 P2.7
芯片2 CS


芯片3 CS
芯片1地址:110X,XXXX,XXXX,XXXX,起始地址: C000H,最高2位必须保证是1,避免与其它芯片 冲突。末地址:DFFFH 芯片2地址:101X,XXXX,XXXX,XXXX,起始地址: A000H,A15,A13必须是1,避免与其它芯片冲突。 末地址必须小于C000H。 芯片3地址:011X,XXXX,XXXX,XXXX,起始地址: 6000H,A14,A13必须是1,避免与其它芯片冲突。 显然末地址必须小于A000H 上面所说的“必须/保证”由软件完成,如果违反 规定,则可能同时不止访问一个芯片。 常用的0000H~05FFH地址在这里是禁止使用的。 从本例可以看出,线选法比较浪费地址,但是不 需要的地址浪费了也无所谓。其优点是少用一个 译码器。
传送程序,内部RAM30H~3FH单 元置初值00H~0FH,然后传送到 外部RAM(6264)的0000H~000FH 单元中,再将0000H~000FH中内 容求和送到P1口显示。 Org 0000h AJMP main Org 0030h




Main: Mov r0,#10h Mov a,#0 Mov r1,#30h WriAga: mov @r1,a inc a inc r1 djnz r0,WriAga 转移
并口的扩展举例

左边两图使用8D锁存器扩展输出并口 右边图使用8位三态门作为输入并口。74LS245也是三态门。 注意三者CS的使用;73LS377可以免去一个或门。或门作为“负逻 辑与门”使用。
RAM 的扩展

地址 控制时序 编程
RAM 的扩展
根据前面的电路原理图,编写数据

如图,采用8051做CPU,请给出RAM的地址,如果 将#30H放如RAM的第一个单元,如何编写程序
线选法


由于单片机通常不需要太多的扩展,往往只需 扩展2~3个芯片即可,因此没有必要使用译码 器。 直接使用P2.X连接到CS,称为“线选法” 线选法客观上会导致“地址重叠”,软件上需 要考虑不去访问重叠地址。译码法没有这个问 题。




并口应用中已经介绍了地址/数据总线的扩 展,本节举例应用要点。 数据线D0~D7(P0口AD0~AD7),8位 地址线A0~A15(P074LS373=A0~A7,P2=A8~A15) 控制线: CS/CE,WR/RD(OE) ALE


WR RD (PSEN):数据流方向 CS/CE引脚称为“片选:Chip Select”或者“芯 片使能:Chip Enable”.CPU将其用于选中芯片 以确定访问对象,它通常代表一个地址范围, 由“地址译码器”提供。 ALE 地址数据分离信号
Y1选择2000H~3FFFH;
Y2选择4000H~5FFFH;
对于存储器RAM 6264或EPROM 2764;E2PROM 2864,地址A0~A12 可以直接连接到存储器的地址线,Yi连接到CS就行了。对于某些芯片, 它们不需要太多的地址线时,我们只需连接低位地址。例如8255,只 需连接A0和A1就行。
串行通讯基本概念

串行通讯方式分为:单工、双工、半双工。 串行通讯模式分为:同步通讯和异步通讯。
串行通讯方式的
单工、双工、半双工
TXD TXD RXD TXD RXD TXD RXD
RXD
TXD RXD
TXD
RXD
串行通讯的同步模式(位同步)
串行数据
同步时钟
写入并行数据
D Q 同步时钟
CK
地址设计和推导

1. 2.
设计:
确定各芯片地址范围,以最大容量芯片作为参考。 设计高位地址连接译码器的方法。

1. 2. 3. 4.
推导: (分析图纸)
推导地址时,按译码器连接方法将高位地址用二进制的0/1表达出来。 连接到芯片的地址用0000…和1111…表达出来。 没有连接芯片的地址用XXXX…表达。 将2进制地址码换算成16进制地址。换算时,XXXX…一般理解为 0000…。作地址范围推导时,先设为0000…看作起始地址,1111…看 作末地址。

(2)在扩展外部ROM时,用控制信号PSEN, 而在扩展外部RAM时,用控制信号RD和WR。 (3)在选用外接存储器时,应注意ALE信号 与锁存器选通信号的配合。

CS/CE的产生和使用




目的:将64K地址分配给多个芯片使用,各个芯片占用不同的地址 段。(51单片机I/O和存储器采用统一编址) 被扩展的芯片,无论是存储器还是接口都有相应引脚CS/CE ,其 意义是:1.选中此芯片,CPU要对其进行访问。2.它代表地址信息。 CS/CE一般为低电平有效。 地址分配方法(产生CS/CE的方法)有两种,经典方法是使用 “译码器”;单片机还可以使用“线选法”。 使用译码器译码,称为“译码法”。常用的译码器有:双二四译 码器74LS139,三八译码器74LS138,四十六译码器74LS154。 使用高位地址线直接作为CS/CE使用,称为“线选法”。
10.2 并行总线的发展(简介)

测控专用总线 GPIB PXI VXI
测控系统组成技术的发展
总线技术发展

1. GPIB 结构

控制图

硬件结构


优点 结构简单 使用便利 抗干扰 缺点 传输速度低 体积大 无法同步触发

2. VXI 结构


优点 开放 高速传输 灵活 体积小 缺点 价格高
异步通讯数据格式
波特率:数据传送速率BPS,即“位/每秒” 空闲:高电平,宽度不限 起始位:低电平,1位宽度 数据位数:通常是8位,还可设为:6位;7位和9 位等。 数据顺序:通常D0先发,也可以反过来D7先发。 数据逻辑:通常是正逻辑,也有使用负逻辑的 休止位:高电平,1~1.5位宽度 以上全部并含三个“通常”都是默认的,除非特殊 强调。
校验
同步方式分为软件同步和硬件同步 软件同步是一种连续传送(块/包)方式,字节间不需要起始位, 休止位,因而节约传送时间。 同步字符用于判断数据开始,现代通讯还包含了“传输速率”的 信息。 接受方利用“同步字符”校准锁相环电路从而产生自适应的接收 波特率。 这种方式具有异步通讯不需要移位时钟的特点,又有“块方式” 特点,因此传输效率高,自适应能力强。 硬件同步是利用同步时钟信号同步 数据格式通常称为“通讯协议”,不同公司开发的产品使用的协 议可能不同。例如同步帧/字符位数,代码等。
2.


UART电路可以集成在MCU中,也可以是独立芯片。例如常
见的独立芯片UART有:Ins 8250;Intel8251;MC6850; MC6852;Z80SIO等。它们通常需要外接波特率发生电路:振荡 器+分频器。
同步方式
同步字符 同步字符 数据长度

数据
数据
…………

3. PXI

优点: 传输速度快,兼容PCI
特点



并行通讯一次传送1字节(1BYTE),串行通 讯一次传送一位(1Bit)。 并行通讯需要大量导线(>10),串行通讯需 要线路少(1~3)。 通过改善通讯线路驱动方式,传送距离和传送 速度上,串行通讯都远远大于并行通讯。
51 单片机的3总线结构
读写时序
P0 ALE 373出 P2
A0~A7 A8~A15 A0~A7 A8~A15 A0~A7 A8~A15 D0~D7 A0~A7 D0~D7 A0~A7 D0~D7 A0~A7
• 74LS373 是一种“透明”的8D锁存器,当LE引脚为 “高”时,输出=输入。低电平时锁定数据。 • Intel 8282 类似,但引脚不一样。 • 不能用其它锁存器代替。
; r0为循环计数器 ; ; r1为片内RAM地址指针
;写片内RAM一个单元 ;地址指针加1 ;循环计数器减1,不等于0,


mov mov mov
dptr,#0 r2,#10h r0,#30h
;DPTR为片外RAM地址指针 ;r2为循环计数器 ; r0为片内RAM地址指针
;读片内RAM一个单元 ;写入外部RAM一个单元 ;片外RAM地址指针加1 ;片内RAM地址指针加1 ;循环计数器减1,不等于0,转移


扩展电路可以是存储器,也可以是接口芯片。 存储器: 6116(2K),6264(8K),62256(32K),2716(2K),27 64(8K),27256(32K)…… 接口:8255,8253,8279,8259,8251…以 及ADC0809,0804,DAC0832,AD75176……
地址推导举例
图中:A15,A14为限定状态,只有 它们全为0时,译码器才能译码, 因此在表中写0。
相关主题