收费系统中PC机与LED显示屏的串行通信
电子元件,电子元器件深圳市创唯电子有限公司
您现在的位置: 首页 > 电子技术
收费系统中PC机与LED显示屏的串行通信  2012/3/1
近年来路桥收费管理系统不断地向自动化、智能化的方向发展,它除了要完成基本的收费功能外,还需要对一些外部设备进行管理。这些外部设备是收费站与车辆司乘人员最直接的交流窗口,它不仅要控制车辆的放行和禁止,而且还要能够给出有关车辆的车型、收费金额等提示信息。这些信息的给出是由信号灯、led显示屏、数码管显示器、语音报价器等外设来完成的。在我们所设计的路桥收费管理系统中,道口工作站对这些外部设备的控制是通过两者之间
 

近年来路桥收费管理系统不断地向自动化、智能化的方向发展,它除了要完成基本的收费功能外,还需要对一些外部设备进行管理。这些外部设备是收费站与车辆司乘人员最直接的交流窗口,它不仅要控制车辆的放行和禁止,而且还要能够给出有关车辆的车型、收费金额等提示信息。这些信息的给出是由信号灯、led显示屏、数码管显示器、语音报价器等外设来完成的。

在我们所设计的路桥收费管理系统中,道口工作站对这些外部设备的控制是通过两者之间的串行通信实现的。下面我们仅以led显示屏为例,介绍工作站与外设的串行通信实现方案以及led显示字符点阵数据的提取方法。 1道口工作站与led显示屏的串行通信

为了实现道口工作站和led显示屏的串行通信,我们首先在两者之间定义了一个通信协议 。在本协议中主控器即道口工作站的pc机程序由vb语言编写,被控器单片机程序由c51语言编写。该串行通信是在pc机的rs-232串行口和mcs-51系列单片机的uart串行口之间进行的。下面首先给出通信协议的定义。

1.1通信协议

(1)通信常量的定义

通信常量的定义见表1。

当主控器或被控器发送命令时,对前几个需要发送的字节作异或处理得到bcc校验码 ,并将该校验码作为最后一个字节发送。接收命令时,接收方对收到的所有字节进行异或处理,若为零,则表示数据传输无误,否则进行出错处理。

(2)主控器写命令执行方式
主:

(若末收到被控器发出的ack或收到的bcc校验出错,该命令重发一次,共允许重发三次)

(若收到被控器发出的nac或接收的bcc校验出错,该命令重发一次,共允许重发三次)

(4)错误定义

信息传输失败:主控器发出一条信息后收到被控器的错误应答(包括校验出错),计为一次传输失败。

超时:主控器发出一条信息后,过0.5s被控器无回音;被控器发出一条信息后,过0.1s主控器无回音。 超数:一条信息传输失败,重试三次仍失败。

(5)错误处理

当主控器收到被控器的错误应答(包括校验出错)时,在不超数的情况下,主控器将重新发送命令。若被控器超时一次,计为信息传输失败一次。若被控器超数,则丢失本次传输所有数据,回到正常工作状态。

1.2 通信程序的编写

根据通信协议,我们使用vb语言在主控器pc机的通信窗体**编写了三个函数:通信的初始设置函数、主控器写命令函数、主控器读命令函数。其中初始设置函数主要完成串口的打开与关闭、通信端口号的设置以及波特率、校验方式、数据位、停止位的设置等。主控器写命令函数主要完成工作站的pc机向led显示屏发送各种需要显示的问候语以及收费金额、余额等信息。主控器读命令函数主要用于读取led显示屏的状态信息。

在该通信窗体中,我们使用了一个active x控件mscomm,该控件通过串行端口发送和接收数据,下面是有关该控件的一些属性说明。

图1给出了主控器写命令函数的程序流程图。由图1可知,在整个通信过程中,我们在主控器pc机的程序里设置了三个出错检测点:a)检测被控器·发出的ack信号以及bcc校验是否正确;b)检测被控器的响应是否超时;c)检测信息传输失败是否连续超过3次。经过我们的实践证明,该串行通信实现方案较好地保证了信息传输的可靠性,运行也非常稳定。

与《收费系统中PC机与LED显示屏的串行通信》相关列表
电话:400-900-3095
QQ:800152669
库存查询
Copyright(C) 2011-2021 Szcwdz.com 创唯电子 版权所有 备案号:粤ICP备11103613号
专注电子元件代理销售  QQ:800152669  电子邮件:sales@szcwdz.com  电话:400-900-3095