高速铁路防风防雨安全监测报警系统
0的数据或命令;而地址不符的单片机则保持SM2=1,不能产生中断标志,信息将抛弃,从而实现了上位机与单片机的一对一通信。通信初始化为
MOV SCON,#0F0H
MOV PCON,#00H
MOV TMOD,#20H
MOV TH1,#0F3H
MOV TL1,#0F3H
(2)PC机软件设计
在串行通信中调用Windows的API接口方法,是实现VB直接控制串行口硬件的有效方案。VB提供了一个名为Mscomm的控件(或Winsock控件),能为应用程序提供串行通信功能。初始化和定时数据通信程序如下:
Dim Cindata As Variant
Dim Coutdata(0) As Byte
Private Sub Form_Load()
MSComm1.CommPort=2 '端口设置为2
MSComm1.PortOpen=True '打开端口
MSComm1.Settings="2400,n,8,1" '通信方式设置
MSConn1.InputMode=comliputModeBinary '以二进制形式传送
End Sub
Private Sub Timer2_Timer()
Coutdata(0)=CUMADDRESS '发送下位机地址
MSComm1.Output=Coutdata
Do
DoEvents
Loop Until MSComm1.InBufferCount>=1
Cindata=MSComm1.Input
If Cindata(0)=CUMADDRESS Then
Do
DoEvents
Loop Until MSComm1.InBufferCount>=DATALENGTH
Cindata=MSComm1.Input
┆
End Sub
(3)软件抗干扰设计
调试中发现常有死机、接触不灵敏问题,因此必须考虑抗干扰设计方法。单片机受干扰导致出错而无法自动恢复正常状态,通常是由于RAM区数据被破坏的缘故。我们利用AT89C52的数据RAM单元在每一个主要程序模块入口设置检验标导,结束时验证其标志是否与入口时一致,还要验证重要的数据标志是否正确(如键盘的键值),否则程序将进行出错处理。另外,设备软件看门狗,利用AT89C52不用的T2定时监视程序是否正常运行,这样保证了运行的可靠性。
《高速铁路防风防雨安全监测报警系统(第2页)》