串行口的应用ppt课件.ppt

上传人:本田雅阁 文档编号:2297928 上传时间:2019-03-18 格式:PPT 页数:80 大小:15.91MB
返回 下载 相关 举报
串行口的应用ppt课件.ppt_第1页
第1页 / 共80页
串行口的应用ppt课件.ppt_第2页
第2页 / 共80页
串行口的应用ppt课件.ppt_第3页
第3页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《串行口的应用ppt课件.ppt》由会员分享,可在线阅读,更多相关《串行口的应用ppt课件.ppt(80页珍藏版)》请在三一文库上搜索。

1、2019/3/18,例说89S51-C语言,8-1,串行口的应用,第八章,2019/3/18,例说89S51-C语言,8-2,本章内容,硬件部分:认识8x51串行口、串行数据转并行数据IC、并行数据转串行数据IC,以及MAX232系列等。 程序与实践部分: mode 0串行口的接收与发送、其它工作方式的应用、两个8x51最小系统的互传应用、多处理器通信、RS-232通信等。,2019/3/18,例说89S51-C语言,8-3,串行口的思考,串行口一次传输一个bit,并行口一次传输一个byte,谁快? 使用串行口的场合越来越多,使用并行口场合越来越少,为什么? 并行口快要被串行口完全取代,而消失

2、了! 并行端口的最后一块版图打印机端口,逐渐被USB与Ethernet并吞。,低成本,简单,2019/3/18,例说89S51-C语言,8-4,串行口常见名称,通用异步传输,UART(Universal Asynchronous Receiver-Transmitter),也可称为通用异步串行口 ,就是微控制器里常用的通信方式。 RS-232C是一种串行口的通信接口,在RS-232C里,传输的准位提升,使传输距里增加、抗噪声能力提高,为微型计算机里常见的接口。,2019/3/18,例说89S51-C语言,8-5,单工及双工,串行式数据传输里,有单工及双工之分,单工就是一条线只能有一种用途,例如

3、输出线就只能发送数据、输入线就只能接收数据。而双工就是在同一条在线,可接收数据,也可发送数据。,2019/3/18,例说89S51-C语言,8-6,半双工与全双工,若在系统上,只有一条传输线,而在该传输线同一个时间里,不是进行数据接收,就是数据发送,称之为“半双工”。 若在系统上有两条传输线,而这两条传输在线,可同时进行数据接收与发送,称之为“全双工”。,2019/3/18,例说89S51-C语言,8-7,波特率,通常以每秒传输多少位(bit per second,简称bps)表示串行式数据传输的速率,若每个传输单元为1 bit时,又称为波特率(baud rate)。,2019/3/18,例说

4、89S51-C语言,8-8,8051的串行发送数据,在8051里,若要通过串行口发送数据,只要把8位数据放入串行缓冲器(SBUF)即可,8051就会帮我们把这些数据,一个位一个位送出去。,2019/3/18,例说89S51-C语言,8-9,8051的串行接收数据,在8051里,若要通过串行口接收数据,则8051会自动接收串行数据,数据收集在串行缓冲器里,当8位数据到齐(串行缓冲器满了),8051就会中断,要我们把这笔数据提走。,2019/3/18,例说89S51-C语言,8-10,串行口的四种工作方式,mode 0:此方式属于半双工同步传输,其波特率为系统时钟脉冲的12分之1,即fOSC/12

5、,以12MHz的系统为例,则其波特率为1Mbps。 mode 1或mode 3:此方式为可变波特率的异步数据传输,主要是为了配合所连接系统的时序,以达到不同系统的数据传输。 mode 2:此方式提供两种不同波特率的选择,即fOSC/32或fOSC/64,其中的fOSC为系统时钟脉冲,属于异步数据传输。,2019/3/18,例说89S51-C语言,8-11,mode 0接收数据,2019/3/18,例说89S51-C语言,8-12,mode 0发送数据,2019/3/18,例说89S51-C语言,8-13,mode 1串行数据传输,2019/3/18,例说89S51-C语言,8-14,mode

6、1的数据格式,2019/3/18,例说89S51-C语言,8-15,mode 2的数据格式,2019/3/18,例说89S51-C语言,8-16,SCON寄存器,2019/3/18,例说89S51-C语言,8-17,方式设置,2019/3/18,例说89S51-C语言,8-18,Timer 1产生的常用波特率表,2019/3/18,例说89S51-C语言,8-19,Timer 2应用在波特率产生方式示意图,2019/3/18,例说89S51-C语言,8-20,Timer 2产生的常用波特率表,2019/3/18,例说89S51-C语言,8-21,帧错误检测示意图,2019/3/18,例说89S

7、51-C语言,8-22,UART mode 1 时序图,2019/3/18,例说89S51-C语言,8-23,UART mode 2/3 时序图,2019/3/18,例说89S51-C语言,8-24,自动地址识别功能,由于在mode 0下,SM2=1没有作用,所以无法在mode 0下执行自动地址识别功能。 在mode 1时,stop bit取代第九位,当接收的地址与自己的地址相符,且stop bit是个正确的停止位(1),则RI位将自动设置为1。 在mode 2或mode 3时,直接将第九位置入SCON寄存器的 RB8位,然后接收stop bit。若将SCON寄存器的SM2位设置为1,则接收到

8、stop bit,且RB8=1时,将产生中断。,2019/3/18,例说89S51-C语言,8-25,产生自己的地址(given address),0 代表不使用,1 代表使用 SADDR值,x 代表可为任意值,2019/3/18,例说89S51-C语言,8-26,SADDR与SADEN设置范例,x 代表可为任意值,2019/3/18,例说89S51-C语言,8-27,产生广播地址(broadcast address),OR 运算,2019/3/18,例说89S51-C语言,8-28,主从式处理器结构,2019/3/18,例说89S51-C语言,8-29,主处理器从处理器,由处理器A送出目的处

9、理器的地址字节,其中第九位(bit 9)为1(即bit 9=1),代表该帧数据为地址字节。 每个处理器都可以接收到地址字节(bit 9=1),且会产生中断。在中断子程序里,将接收到的地址字节与自己的地址相比较。若相符合,则 SM2位设置为1;不相符合,则SM2位设置为0。 处理器A再送出数据字节(bit 9=0),而SM2=1的处理器,接收到的是数据字节时,将会产生中断子程序里,将读取所接收到的数据字节。当然,SM2=0的处理器,接收到的是数据字节时,将不会产生中断。,2019/3/18,例说89S51-C语言,8-30,广播,由处理器A送出广播地址字节,其中第九位(bit 9)为1(即bit

10、 9=1),代表该帧数据为地址字节。 每个处理器都可以接收到地址字节(bit 9=1),且会产生中断。在中断子程序里,所接收到的广播地址字节与自己的地址一定符合,所以SM2位设置为1。 处理器A再送出数据字节(bit 9=0),而所有处理器的SM2=1,接收到的是数据字节时,将会产生中断子程序里,将读取所接收到的数据字节。,2019/3/18,例说89S51-C语言,8-31,噪声容限(Noise Margin),TTL VIL=0.8V、VOL=0.4V VNML=VIL-VOL=0.4V VIH=2V、VOH=3.5V VNMH=VOH-VIH=1.5V CMOS VIL=0.3VDD、V

11、OL 0V VNML=VIL-VOL=0.3VDD VIH=0.7VDD、VOH VDD VNMH=VOH-VIH=0.3VDD,2019/3/18,例说89S51-C语言,8-32,MAX232/MAX3232,2019/3/18,例说89S51-C语言,8-33,MAX3232的电容建议表,2019/3/18,例说89S51-C语言,8-34,RS232线路,2019/3/18,例说89S51-C语言,8-35,74164引脚图,2019/3/18,例说89S51-C语言,8-36,74164时序图,2019/3/18,例说89S51-C语言,8-37,74165引脚图,2019/3/18

12、,例说89S51-C语言,8-38,74165真值表,2019/3/18,例说89S51-C语言,8-39,实例演练8-8-1,并行数据转串行数据实验,2019/3/18,例说89S51-C语言,8-40,并行数据转串行数据实验电路图,2019/3/18,例说89S51-C语言,8-41,流程图,2019/3/18,例说89S51-C语言,8-42,mode 0串行输入实验(ch08-8-1.c),2019/3/18,例说89S51-C语言,8-43,实例演练8-8-2,串行数据转并行数据实验,2019/3/18,例说89S51-C语言,8-44,串行数据转并行数据实验电路图,2019/3/1

13、8,例说89S51-C语言,8-45,流程图,2019/3/18,例说89S51-C语言,8-46,m ode 0串行输出实验(ch08-8-2.c),2019/3/18,例说89S51-C语言,8-47,实例演练8-8-3,MODE 1自传实验,2019/3/18,例说89S51-C语言,8-48,自传实验电路图,2019/3/18,例说89S51-C语言,8-49,8-8-3 mode 1实例演练,2019/3/18,例说89S51-C语言,8-50,流程图,2019/3/18,例说89S51-C语言,8-51,Mode 1实验 (ch08-8-3.c),2019/3/18,例说89S51

14、-C语言,8-52,思考一下!,在本实验里,采用“查询”方式,所以程序几乎不能做其它事!请采用“中断”方式,而主程序驱动蜂鸣器(P3.7),以产生1kHz的哔、哔声?,2019/3/18,例说89S51-C语言,8-53,程序参考(CH08-8-3a.c)-1,2019/3/18,例说89S51-C语言,8-54,程序参考(CH08-8-3a.c)-2,2019/3/18,例说89S51-C语言,8-55,思考一下!,同前一个问题,若使用8x52,请改采用Timer 2产生约9600 bps波特率?T2CON寄存器详见第七章。,2019/3/18,例说89S51-C语言,8-56,程序参考 (

15、CH08-8-3b.c)-1,2019/3/18,例说89S51-C语言,8-57,程序参考 (CH08-8-3b.c)-2,2019/3/18,例说89S51-C语言,8-58,实例演练8-8-4,MODE 2实验,2019/3/18,例说89S51-C语言,8-59,流程图,2019/3/18,例说89S51-C语言,8-60,Mode 2实验(ch08-8-4.c),2019/3/18,例说89S51-C语言,8-61,思考一下!,在本实验里,采用1/32fOSC的波特率,请将波特率修改为1/64fOSC? 在本实验里,采用“查询”方式,所以程序几乎不能做其它事!请采用“中断”方式,而主

16、程序驱动蜂鸣器(P3.7),以产生1kHz的哔、哔声?(可参考8-8-3节),2019/3/18,例说89S51-C语言,8-62,实例演练8-8-5,MODE 3实验,2019/3/18,例说89S51-C语言,8-63,8051互传实验(ch08-8-5.c),2019/3/18,例说89S51-C语言,8-64,思考一下!,在本实验里,采用约9600bps的波特率,请将波特率修改为4800 bps? 在本实验里,采用“查询”方式,所以程序几乎不能做其它事!请采用“中断”方式,主程序驱动蜂鸣器(P3.7),以产生1kHz哔、哔声?(可参考8-8-3节),2019/3/18,例说89S51-

17、C语言,8-65,实例演练8-8-6,点对点通信实验,2019/3/18,例说89S51-C语言,8-66,对传电路图,2019/3/18,例说89S51-C语言,8-67,8051互传实验(ch08-8-6.c),2019/3/18,例说89S51-C语言,8-68,思考一下!,1、在本实验里,两片采用mode 2,请试改以mode 1或mode 3,重新测试? 2、本实验的通信距离并不长,为加长通信距离与质量,请在本实验中的两个8x51系统里,各增加一个MAX232/MAX232A/MAX32322电路,如图818所示;再以RS232电缆连接两个8x51系统,以进行相同的实验。在图818里

18、,随着所使用IC的不同,其中的电容与接法有些不同,如下:,2019/3/18,例说89S51-C语言,8-69,思考一下!,若使用MAX232,则C1C5全部采用10F/16V电解电容,而C3的负脚连接到VCC。 若使用MAX232A,则C1C5全部采用0.1F陶瓷电容,而C3的负脚连接到VCC。 若使用MAX3232,则C1、C5采用0.1F陶瓷电容,C2C4采用0.47F电解电容,而C3的负脚连接到GND。MAX232/MAX232A/MAX3232的第11脚连接到8x51的TxD引脚(P3.1)、第12脚连接到8x51的RxD引脚(P3.0)。再通过DB9电缆线*,连接到个人计算机的co

19、m1或com2。,2019/3/18,例说89S51-C语言,8-70,MAX232/MAX232A/MAX3232 的应用电路图,2019/3/18,例说89S51-C语言,8-71,DB9、DB15的RS232 连接器引脚号码与名称,2019/3/18,例说89S51-C语言,8-72,实例演练8-8-7,多处理器通信实验,2019/3/18,例说89S51-C语言,8-73,地址表,2019/3/18,例说89S51-C语言,8-74,功能说明,通过串行口传“0000 0001”给Slave A,经过0.1秒后,再传“1111 1110”给 Slave A。 通过串行口传“0000 00

20、11”给Slave B ,经过0.1秒后,再传“1111 1100”给 Slave B。 通过串行口传“0000 0111”给Slave C ,经过0.1秒后,再传“1111 1000”给 Slave C。,2019/3/18,例说89S51-C语言,8-75,8051互传实验(ch08-8-70.c)-1,2019/3/18,例说89S51-C语言,8-76,8051互传实验(ch08-8-70.c)-2,2019/3/18,例说89S51-C语言,8-77,8051互传实验(ch08-8-70.c)-3,2019/3/18,例说89S51-C语言,8-78,8051互传实验(ch08-8-71.c)-1,2019/3/18,例说89S51-C语言,8-79,8051互传实验(ch08-8-71.c)-2,例說89S51-C語言,8-80,2019/3/18,串行口的应用,Bye Bye,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1