第8章-数据通信1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章-数据通信1.ppt

//发送字符串子函数 void SendString(char *s) { while (*s) //检查字符串结束标志 { SendData(*s++); //发送当前字符并修改字符串指针 } } */367 二、RS232串行通信接口 在以计算机为中心的数据采集与自动控制系 统中,通常需要用单片机采集数据,然后将数据 用异步串行通信方式传给计算机;要完成的控制 命令由计算机通过串行通信方式传给单片机,由 单片机进行控制。 计算机和单片机之间的串行通信一般采用RS- 232或RS-485总线标准接口。这里介绍RS-232 接口串行通信的设计方法。 */367 RS-232 是早期为公用电话网络数据通信而制定的标准。 其逻辑电平与TTL/CMOS电平完全不同。逻辑“0”规定为+5~+15V之间,逻辑“1”规定为-5~-15V之间。 由于RS-232发送和接收之间有公共地,传输采用非平衡模式,因此共模噪声会耦合到信号系统中,标准中建议的最大通信距离为15米。 下面通过一个实例,介绍计算机与单片机进行RS232通信的硬件接口设计和软件设计。 */367 【例8-6】 计算机向单片机发送一个数据,单片 机接收到数据后,将接收到的数据按位取反后回 发给计算机。 假设单片机的系统时钟为11.0592MHz,通信 参数为“9600,n,8,1”(这是常见的通信参数 表示方法,即波特率为9600bit/s,8个数据位, 1个停止位,没有奇偶校验)。在计算机上显示 从单片机发送过来的数据。在这种方式中,计算 机通常称为上位机。 */367 1、硬件接口设计 从硬件上讲,计算机的串行口是RS-232电平的,而单片机的串口是TTL电平的。因此,必须通过电路实现TTL电平和RS-232电平的转换。 常用的电平转换集成电路是MAX232或者与它兼容转换芯片。该芯片采用单电源(+5V)供电,RS232电平由内部电荷泵产生。 */367 单片机与计算机进行串行通信的硬件连接如图所示。 */367 图8-20 单片机与计算机进行串行通信的硬件连接 目前,较新的个人计算机都没有了DB9串行口,特别是笔记本电脑,而USB接口较多。在这种情况下,我们可以使用USB转串口的芯片进行转换, 常见的USB转串口芯片有CH340T、CP2010等。 */367 CH340T与单片机的接口电路如图所示。 */367 图8-21 CH340T与单片机的接口电路 USB转串口电路只是实现USB传输协议和UART传输协议之间的转换,对于用户而言,程序设计上没有本质的改变,相当于一个串口使用。 唯一需要注意的是,在计算机上编程选择串口的时候,串口号的选择要正确。 */367 2、软件设计 软件设计往往因应用系统要求的不同而不同。软件设计分为上位机程序设计和单片机程序设计两部分。如果仅仅为了测试串口的电路连接以及单片机通信程序设计正确与否,上位机程序可以直接使用现成的串口调试助手软件。当然,也可以使用Visual C++等可视化程序开发环境自行设计。 串口调试助手软件可以从中下载。 */367 下面的单片机程序设计中,利用STC15F2K60S2单片机的串口2和上位计算机通信。 如果采用串行口1进行通信,则可以选择定时器1作为波特率发生器,也可以选择定时器2作为波特率发生器,程序设计方法与此类似,请读者自行实验。 */367 汇编语言程序如下(假设系统晶振为11.0592MHz,波特率为9600bit/s): $INCLUDE (STC15.INC) ;包含STC15F2K60S2单片机寄存器定义文件 BITTEST DATA 20H S2TIbit BIT 01H S2RIbit BIT 00H ORG 0000H LJMP MAIN ORG 0043H LJMP UART2_ISR ORG 0100H MAIN: MOV SP,#60H ;设置堆栈 MOV S2CON,#50H ;8位可变波特率,无奇偶校验位,允许接收 MOV T2L,#0FDH MOV T2H, #0FFH MOV AUXR,#11H ;T2R = 1(启动T2), S1S2 = 1 MOV IE2, #01H ;允许串口2中断,ES2=1 SETB EA SJMP $ */367 UART2_ISR: MOV BITTEST,S2CON;将S2CON保存到20H单元以便位寻址 JBC S2RIbit,R

文档评论(0)

heroliuguan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档