基于51单片机的双机串行通信设计内容摘要:

抗与分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。 此时可利用 RS232 标准总线接口,将单片机输出的 TTL电平转换为 RS232标准电平(逻辑 1为 15— 5V;逻辑 0为 +5— +15V)。 用RS232可将传输距离提高到 15m,如果想远距离传输 ,可以采用 RS422或者 RS485。 电平转换芯片 MAX232是美信公司( MAXIM)生产,专用于进行将 TTL电平转换为 RS232电平的芯片, MAX232内部有泵电源,能将 +5V电源电压在芯片内提高到 RS232电平所需的 +10V或者 10V电平。 图 MAX232 最终设计电路如下图 3所示,发送方的数据由串行口 TXD 段输出,经过电平转换芯片MAX232 将 TTL电平转换为 RS232 电平输出,经过传输线将信号传送到接收端。 接收方也使用 MAX232 芯片进行电平转换后,信号到达接收方串行口的接收端。 接受方接收后,通过 P1口在数码管上显示接收的信息。 6 图 三、 软件设计 通过通信协议进行发送接收,主机先送 AAH 给从机,当从机接收到 AAH 后,向主机回答 BBH。 主机收到 BBH后就把数码表 TAB[16]中的 10 个数据送给从机,并发送检验和。 从机收到 16 个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送 00H 给主机;否则发送 FFH 给主机,重新接受。 从机收到 16 个正确数据后送到一个数码管显示。 ( 1) 串行口工作于方式 1; 用定时器 1 产生 9600bit/s 的波特率 ,工作于方式 2。 ( 2) 功能 :将本机 ROM 中 数码表 TAB[16]中的 16个数发送到从机 ,并保存在从机内部 ROM中 ,从机收到这 16 个数据后送到一个数码管循环显示。 ( 3) 通信协议 :主机首先发送连络信号 (AAH),从机接收到之后返回一个连络信号 (BBH)表示从机已准备好接收。 ( 4) 通信过程使用第九位发送奇偶校验位。 ( 5) 从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回 00H,否则返回 FFH。 ( 6) 主机发送一个数据后,等待从机返回数据;若为 00H,则继续发送下一个数据,若为FFH,则重新发送数据。 7 ( 1)发送端程序流程图 ( 2) 接收 方程序流程图 主程序开始 从机是否回答BBH。 程序初始化 主机发送 AAH N 主机发送数据,检验和 输出完成。 N 清除标志位 8。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。