新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AT89C52单片机与VB串行通信的实现

AT89C52单片机与VB串行通信的实现

作者:时间:2012-03-23来源:网络收藏

1. 引言:

本文引用地址:http://www.eepw.com.cn/article/171802.htm

随着计算机系统的应用和微机网络的发展,各种控制设备之间的功能越来越显得重要。在设计的减振控制系统中,控制器(下位机)采用两片,分别用于对左右减振器实施控制,同时将测量的温度、电流、速度等信号按一定采样时间保存在E2PROM ATC256中。为了能测试控制器的工作情况,包括初始安装时的状况测试和读取历史记录并做测试诊断以及能根据参数变化情况进行故障诊断,为此,同时开发了系统,上位机采用便携式PC机,上、下位机之间通过MAX485芯片数据

2. 通信系统硬件电路设计

通信系统硬件电路设计的突出特点是,控制器的外围一改传统的并行扩展,而采用新型芯片进行总线扩展。与传统的并行扩展相比,具有体积小、性能价格比高、工作可靠性高的优点。存储器ATC256、通信芯片MAX485均是I2C总线器件。的串行数据发送端TXD和串行数据接受端 RXD分别与MAX485驱动器输入端DI和驱动器输出端D0,接受器输出使能端RE接地,驱动器输出使能端DE接的T1端(P3.5脚)。存储器 ATC256的串行数据线SDA和串行时钟线SCL分别的P3.7和P3.6相连,具体硬件电路框图如图1所示:

47.gif

3.数据的存储—ATC256①

测得的温度、电流和速度等信号需实时保存,以便根据参数变化情况进行故障诊断和对加速度变化情况进行分析等。系统设计存储器采用美国ATMEL公司推出的串行E2PROM——24C256。24C256遵从I2C总线协议,通过数据线SDA和时钟线SLA两根线直接与单片机相连,不需要其它器件和外围电路。它具有256Kbit的位存储容量,按8位一个字节的方式可提供32K字节的存储空间。对ATC256的读写操作完全符合I2C总线的数据传送,传送的每一帧数据为一个字节,要求每传送一个字节后,对方回应一个应答位。发送时先放送数据最高位,每次传送开始有起始信号,结束时有停止信号。在系统的设计中,对ATC256的写操作采用字节写,读操作采用顺序读的方式。根据系统要求,每到一分钟就向ATC256中写入1条记录(包括三个温度、电流、速度等 5个数据),上位机需要读取数据时,可根据上位机的读取指令读取任意条记录。

对ATC256的读/写程序流程如图2所示:

48.gif
图2 字节写(左),连续读(右)程序流程

4.串行数据通信程序设计

4.1通信协议

本系统串行通信采用异步通信方式。协议如下:

1. 一帧数据由1位起始位、8位数据位、无奇偶校验位、1位停止位共10位组成。

2. 波特率设为2400bps。单片机串行口按方式1工作,波特率由定时器T1控制,

PC机串口波特率通过通讯控件的Settings属性设置,为保证数据传送的准确性,两者的波特率必须一致。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭