串行口的应用课件_第1页
串行口的应用课件_第2页
串行口的应用课件_第3页
串行口的应用课件_第4页
串行口的应用课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、SB与Ethernet并吞。低成本简单9/21/20223例說89S51-C語言89S51-C语言串行口常见名称通用异步传输,UART(Universal Asynchronous Receiver-Transmitter),也可称为通用异步串行口 ,就是微控制器里常用的通信方式。RS-232C是一种串行口的通信接口,在RS-232C里,传输的准位提升,使传输距里增加、抗噪声能力提高,为微型计算机里常见的接口。9/21/20224例說89S51-C語言89S51-C语言半双工与全双工若在系统上,只有一条传输线,而在该传输线同一个时间里,不是进行数据接收,就是数据发送,称之为“半双工”。 若在系

3、统上有两条传输线,而这两条传输在线,可同时进行数据接收与发送,称之为“全双工”。 9/21/20226例說89S51-C語言89S51-C语言波特率 通常以每秒传输多少位(bit per second,简称bps)表示串行式数据传输的速率,若每个传输单元为1 bit时,又称为波特率(baud rate)。 9/21/20227例說89S51-C語言89S51-C语言8051的串行接收数据在8051里,若要通过串行口接收数据,则8051会自动接收串行数据,数据收集在串行缓冲器里,当8位数据到齐(串行缓冲器满了),8051就会中断,要我们把这笔数据提走。 9/21/20229例說89S51-C語言

4、89S51-C语言串行口的四种工作方式 mode 0:此方式属于半双工同步传输,其波特率为系统时钟脉冲的12分之1,即fOSC/12,以12MHz的系统为例,则其波特率为1Mbps。mode 1或mode 3:此方式为可变波特率的异步数据传输,主要是为了配合所连接系统的时序,以达到不同系统的数据传输。 mode 2:此方式提供两种不同波特率的选择,即fOSC/32或fOSC/64,其中的fOSC为系统时钟脉冲,属于异步数据传输。9/21/202210例說89S51-C語言89S51-C语言mode 0接收数据 9/21/202211例說89S51-C語言89S51-C语言mode 0发送数据

5、9/21/202212例說89S51-C語言89S51-C语言mode 1串行数据传输 9/21/202213例說89S51-C語言89S51-C语言mode 1的数据格式 9/21/202214例說89S51-C語言89S51-C语言SCON寄存器 9/21/202216例說89S51-C語言89S51-C语言方式设置9/21/202217例說89S51-C語言89S51-C语言 Timer 2应用在波特率产生方式示意图 9/21/202219例說89S51-C語言89S51-C语言Timer 2产生的常用波特率表 fOSC波特率611.059212161100 xf9-0 x57-0 xe

6、e-0 x3f3000 xfd-0 x8f0 xfb-0 x800 xfb-0 x1e0 xf9-0 x7d6000 xfe-0 xc80 xfd-0 xc00 xfd-0 x8f0 xfc-0 xbf12000 xff-0 x640 xfe-0 xe00 xfe-0 xc80 xfe-0 x5f24000 xff-0 xb20 xff-0 x700 xff-0 x640 xff-0 x3048000 xff-0 xd90 xff-0 xb80 xff-0 xb20 xff-0 x989600-0 xff-0 xdc0 xff-0 xd90 xff-0 xcc19200-0 xff-0 xee

7、-0 xff-0 xe638400-0 xff-0 xf7-0 xff-0 xf376800-0 xff-0 xfa-9/21/202220例說89S51-C語言89S51-C语言帧错误检测示意图 9/21/202221例說89S51-C語言89S51-C语言UART mode 1 时序图 9/21/202222例說89S51-C語言89S51-C语言UART mode 2/3 时序图 9/21/202223例說89S51-C語言89S51-C语言自动地址识别功能 由于在mode 0下,SM2=1没有作用,所以无法在mode 0下执行自动地址识别功能。在mode 1时,stop bit取代第九

8、位,当接收的地址与自己的地址相符,且stop bit是个正确的停止位(1),则RI位将自动设置为1。在mode 2或mode 3时,直接将第九位置入SCON寄存器的 RB8位,然后接收stop bit。若将SCON寄存器的SM2位设置为1,则接收到stop bit,且RB8=1时,将产生中断。 9/21/202224例說89S51-C語言89S51-C语言SADDR与SADEN设置范例 x 代表可为任意值0 代表不使用1 代表使用 SADDR值0 代表不使用1 代表使用 SADDR值0 代表不使用1 代表使用 SADDR值9/21/202226例說89S51-C語言89S51-C语言产生广播地

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

10、节时,将不会产生中断。 9/21/202229例說89S51-C語言89S51-C语言广播 由处理器A送出广播地址字节,其中第九位(bit 9)为1(即bit 9=1),代表该帧数据为地址字节。 每个处理器都可以接收到地址字节(bit 9=1),且会产生中断。在中断子程序里,所接收到的广播地址字节与自己的地址一定符合,所以SM2位设置为1。 处理器A再送出数据字节(bit 9=0),而所有处理器的SM2=1,接收到的是数据字节时,将会产生中断子程序里,将读取所接收到的数据字节。 9/21/202230例說89S51-C語言89S51-C语言噪声容限(Noise Margin) TTLVIL=0

11、.8V、VOL=0.4V VNML=VIL-VOL=0.4VVIH=2V、VOH=3.5V VNMH=VOH-VIH=1.5VCMOSVIL=0.3VDD、VOL 0V VNML=VIL-VOL=0.3VDDVIH=0.7VDD、VOH VDD VNMH=VOH-VIH=0.3VDD9/21/202231例說89S51-C語言89S51-C语言MAX232/MAX3232 9/21/202232例說89S51-C語言89S51-C语言MAX3232的电容建议表 9/21/202233例說89S51-C語言89S51-C语言RS232线路 9/21/202234例說89S51-C語言89S51-

12、C语言74164引脚图 9/21/202235例說89S51-C語言89S51-C语言74164时序图 9/21/202236例說89S51-C語言89S51-C语言74165引脚图 9/21/202237例說89S51-C語言89S51-C语言74165真值表 输入输出shift/loadclockinhibitclockserialinput并行输入AHoutout0ahhh100QhoQho101QnQn100QnQn11QhoQho9/21/202238例說89S51-C語言89S51-C语言实例演练8-8-1并行数据转串行数据实验9/21/202239例說89S51-C語言89S51

13、-C语言并行数据转串行数据实验电路图 9/21/202240例說89S51-C語言89S51-C语言 流程图 9/21/202241例說89S51-C語言89S51-C语言mode 0串行输入实验(ch08-8-1.c)9/21/202242例說89S51-C語言89S51-C语言实例演练8-8-2串行数据转并行数据实验9/21/202243例說89S51-C語言89S51-C语言串行数据转并行数据实验电路图 9/21/202244例說89S51-C語言89S51-C语言流程图 9/21/202245例說89S51-C語言89S51-C语言m ode 0串行输出实验(ch08-8-2.c)9/

14、21/202246例說89S51-C語言89S51-C语言实例演练8-8-3MODE 1自传实验9/21/202247例說89S51-C語言89S51-C语言自传实验电路图 9/21/202248例說89S51-C語言89S51-C语言8-8-3 mode 1实例演练9/21/202249例說89S51-C語言89S51-C语言流程图 9/21/202250例說89S51-C語言89S51-C语言Mode 1实验 (ch08-8-3.c) 9/21/202251例說89S51-C語言89S51-C语言思考一下!在本实验里,采用“查询”方式,所以程序几乎不能做其它事!请采用“中断”方式,而主程序

15、驱动蜂鸣器(P3.7),以产生1kHz的哔、哔声? 9/21/202252例說89S51-C語言89S51-C语言程序参考(CH08-8-3a.c)-1 9/21/202253例說89S51-C語言89S51-C语言程序参考(CH08-8-3a.c)-29/21/202254例說89S51-C語言89S51-C语言思考一下!同前一个问题,若使用8x52,请改采用Timer 2产生约9600 bps波特率?T2CON寄存器详见第七章。 9/21/202255例說89S51-C語言89S51-C语言程序参考 (CH08-8-3b.c)-1 9/21/202256例說89S51-C語言89S51-C

16、语言程序参考 (CH08-8-3b.c)-29/21/202257例說89S51-C語言89S51-C语言实例演练8-8-4MODE 2实验9/21/202258例說89S51-C語言89S51-C语言流程图 9/21/202259例說89S51-C語言89S51-C语言Mode 2实验(ch08-8-4.c) 9/21/202260例說89S51-C語言89S51-C语言思考一下!在本实验里,采用1/32fOSC的波特率,请将波特率修改为1/64fOSC? 在本实验里,采用“查询”方式,所以程序几乎不能做其它事!请采用“中断”方式,而主程序驱动蜂鸣器(P3.7),以产生1kHz的哔、哔声?(

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

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

19、IC的不同,其中的电容与接法有些不同,如下: 9/21/202268例說89S51-C語言89S51-C语言思考一下!若使用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电缆线*,连接到个人计算机的com1或co

20、m2。9/21/202269例說89S51-C語言89S51-C语言MAX232/MAX232A/MAX3232的应用电路图 9/21/202270例說89S51-C語言89S51-C语言DB9、DB15的RS232连接器引脚号码与名称 DB9 脚号DB25 脚号信号名称说明18CD载波信号检测(Carrier Detect)23RxD接收(Receive)32TxD发送(Transmit)420DTR数据端准备妥(Data Terminal Ready)57GND接地(Ground)66DSR数据设置准备妥(Data Set Ready)74RTS发送要求(Request To Send)85CTS清除发送(Clea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论