当前位置:
文档之家› 51单片机接口(并口串口)10
51单片机接口(并口串口)10
串行通讯的异步模式
空闲 起始 D0 D1 D2 D3 D4 D5 D6 D7 休止 空闲
½T
T
• 移位时钟由收发双方各自产生,因此只需要1条信号线 • 双方约定数据格式:发送速率BPS=(数据位宽T)-1;数 据位数;数据顺序;起始位;休止位等。
异步通讯数据格式
波特率:数据传送速率BPS,即“位/每秒” 空闲:高电平,宽度不限 起始位:低电平,1位宽度 数据位数:通常是8位,还可设为:6位;7位和9 位等。 数据顺序:通常D0先发,也可以反过来D7先发。 数据逻辑:通常是正逻辑,也有使用负逻辑的 休止位:高电平,1~1.5位宽度 以上全部并含三个“通常”都是默认的,除非特殊 强调。
常用译码器
图中E;E1;E2;E3;G1;G2均为使能控制端,可以连接到地址线, 也可以连接固定电平。当这些引脚“有效”时才能译码,否则 芯片输出高电平。ABCD连接低位地址。
3-8译码器举例
高3位地址用于译码, 可得8条选择线,每线 可以选择(64/8=8) 8KB的地址范围: Y0选择0000H~1FFFH;
2.
UART电路可以集成在MCU中,也可以是独立芯片。例如常
见的独立芯片UART有:Ins 8250;Intel8251;MC6850; MC6852;Z80SIO等。它们通常需要外接波特率发生电路:振荡 器+分频器。
同步方式
同步字符 同步字符 数据长度
数据
数据
…………
校验
同步方式是一种连续传送(块/包)方式,字节间不需要起始 位,休止位,因而节约传送时间。 同步字符用于判断数据开始,现代通讯还包含了“传输速率” 的信息。 接受方利用“同步字符”校准锁相环电路从而产生自适应的接 收波特率。 这种方式具有异步通讯不需要移位时钟的特点,又有“块方式” 特点,因此传输效率高,自适应能力强。 数据格式通常称为“通讯协议”,不同公司开发的产品使用的 协议可能不同。例如同步帧/字符位数,代码等。
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 类似,但引脚不一样。 • 不能用其它锁存器代替。
Y4 0
0
1
0
0
0/1
0/1
XXX
2000H
练习
如图,采用8051做CPU,请给出RAM的地址,如果 将#30H放如RAM的第一个单元,如何编写程序
线选法
由于单片机通常不需要太多的扩展,往往只需 扩展2~3个芯片即可,因此没有必要使用译码 器。 直接使用P2.X连接到CS,称为“线选法” 线选法客观上会导致“地址重叠”,软件上需 要考虑不去访问重叠地址。译码法没有这个问 题。
地址推导举例
图中:A15,A14为限定状态,只有 它们全为0时,译码器才能译码, 因此在表中写0。
这与前面图差别在于:前图中 A15,A14参与了译码。
A15 A14 A13 A12 A11 A10 Y0 0 Y1 0 Y2 0 Y3 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0/1 0/1 0/1 0/1
(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使用,称为“线选法”。
Y1选择2000H~3FFFH;
Y2选择4000H~5FFFH;
对于存储器RAM 6264或EPROM 2764;E2PROM 2864,地址A0~A12 可以直接连接到存储器的地址线,Yi连接到CS就行了。对于某些芯片, 它们不需要太多的地址线时,我们只需连接低位地址。例如8255,只 需连接A0和A1就行。
;读片内RAM一个单元 ;写入外部RAM一个单元 ;片外RAM地址指针加1 ;片内RAM地址指针加1 ;循环计数器减1,不等于0,转移 ; r0为循环计数器 ;DPTR为片外RAM地址指针 ;40H为和数的存放单元
;读片外RAM一个单元到a中 ;寄存到b中 ; ;求和
ROM的扩展
10.2 串行通讯与并行通讯特点
串行通讯方式的
单工、双工、半双工
TXD TXD RXD TXD RXD TXD RXD
RXD
TXD RXD
TXD
RXD
串行通讯的同步模式(位同步)
串行数据
同步时钟
写入并行数据
D Q 同步时钟
CK
读出并行数据
D Q
CK
D Q
CK
D Q SDATA
CK
D Q
CK
D Q
CK
SCLK
• 特点:需要两条信号线:SDATA,SCLK
串行通讯基本入门知识
同步方式:这里仅指“位同步”方式 异步方式:指约定波特率方式,传送1字节8位 数据需要10位以上宽度。(每字节前面有“起 始位”,后面有“休止位”。 异步方式有一些“标准”需要学习,他们主要 有:RS-232C;RS-422;RS-423;RS-485, 这些主要指“驱动方式” 通常讲解时,默认使用TTL电平。
ReaWri: mov a,@r0 movx @dptr,a inc dptr inc r0 djnz r2,ReaWri mov r0,#10h mov dptr,#0 mov 40h,#0 addAga: movx a,@dptr MOV B,A MOV A,40H Add a,B
RAM 的扩展
地址 控制时序 编程
RAM 的扩展
根据前面的电路原理图,编写数据传送程序,内部RAM30H~3FH单元置 初值00H~0FH,然后传送到外部RAM(6264)的ห้องสมุดไป่ตู้000H~000FH单元中, 再将0000H~000FH中内容求和送到P1口显示。
Org 0000h Mov r0,#10h Mov a,#0 Mov r1,#30h WriAga: mov @r1,a inc a inc r1 djnz r0,WriAga mov dptr,#0 mov r2,#10h mov r0,#30h ; r0为循环计数器 ; ; r1为片内RAM地址指针 ;写片内RAM一个单元 ;地址指针加1 ;循环计数器减1,不等于0,转移 ;DPTR为片外RAM地址指针 ;r2为循环计数器 ; r0为片内RAM地址指针
UART
1.
UART电路模块具有:
能够对发送数据自动添加休止位,起始位,按照“异步方式”发 送数据 能够判定起始位,休止位,按照“异步方式”接收数据 这样的电路模块称为“通用异步收发器”——UART( Universal Asynchronous Reseiver and Transmitter) 可以兼顾同步通讯的UART又称为USART(Universal Synchronous Asynchronous Reseiver and Transmitter)
51单片机接口
串行接口
串行通讯与并行通讯
发送方 数据准备好 数据D0~D7 接收方
8条数据线
数据收到
甲方 发送数据 接收数据
上图:并行单向通讯 下图:串行双向通讯
乙方 接收数据 发送数据
10.1 接口/存储器的扩展
并口应用中已经介绍了地址/数据总线的扩展,本节举例应用要点。 数据线D0~D7(P0口AD0~AD7),8位 地址线A0~A15(P0-74LS373=A0~A7,P2=A8~A15) 扩展电路可以是存储器,也可以是接口芯片。 存储器: 6116(2K),6264(8K),62256(32K),2716(2K),2764(8K),27256(32K)… … 接口:8255,8253,8279,8259,8251…以及 ADC0809,0804,DAC0832,AD75176…… 所有这类芯片都有:CS/CE,WR/RD(OE)以及数据/线地址线。地址 线的多少主要看芯片内部寄存器/存储器数量多少而定。 CS/CE引脚称为“片选:Chip Select”或者“芯片使能:Chip Enable”,CPU将其用于选中芯片以确定访问对象,它通常代表一个地 址范围,由“地址译码器”提供。
A9 0/1 0/1 0/1 0/1
其它 XXX XXX XXX XXX
起始地址 0000H 0800H 1000H 1800H
Y4 0
0
1
0
0
0/1
0/1
XXX
2000H
地址推导举例
图中:A15,A14为限定状态,只有 它们全为0时,译码器才能译码, 因此在表中写0。