采用PC机实现单片机优化控制
。用此属性处理在数据传输过程中的异常事件。
handshaking
设置并返回硬件握手协议
语法为:object.handshaking[=value]
value为一整型值
value=0 没有握手
value=1 (xon/xoff)握手
value=2 (rts/cts)握手
value=3 (xon/xoff和rts/cts两种皆可)握手
说明:handshaking是指内部通讯协议,通过该协议,数据从硬件端口传输到接收缓冲区。握手协议保证在缓冲区过载时数据不丢失。
控件事件:
oncomm
无论何时当commevent属性的值变化时,就产生oncomm事件。它标志发生了一个通讯事件或一个错误。Commevent属性包括实际错误或产生oncomm事件的编码。但是,当rthreshold或sthreshold属性被设置为0时,则会分别使comevreceive和 comevsend事件无效。
3.单片机和PC机的连机串行通讯
经过此过程将单片机和PC机进行连机通信控制,真正实现PC机的高级编程控制单片机。在通讯中,我用的是串行通信。用串行通讯的好处是简单,抗干扰性强,传输距离远。接口是RS232C接口。但是由于RS232C或其他的串行通信接口都不能满足TTL电平的传输要求,所以要在这种接口中加个电平转换装置。这里采用的是Max公司的Max232电平转换芯片。
系统的上位机由一台(PC586)微机构成,高级语言采用VISUAL BASIC编程。通过VB的编程设计,很容易的作出了十分直观的界面。在界面上,有“温度计”显示当前控制现场的温度,同时还有“数码”配合显示温度;界面上的予置按钮可以设置现场的控制温度值;为了安全,在控制界面上做出了上下限温度控制装置,超过规定的范围将进行提示、报警,并且系统自动调节炉温,处于安全范围。如果1分钟内不能解决问题,系统将自动关闭。而且,如果要改变炉子的温度,通过计算机予置数据就可以实现,不用改变单片机的固化的程序。因此,当控制对象的工艺条件改变时,在PC机的作用下,很容易就能够满足控制条件,从而实现了控制的优化。
本系统CPU采用ATMel89C51芯片,89C51自带2K闪存,用起来很方便;89C51与所有的51系统都兼容,性能好,价格也比较低廉。 89C51利用自身的串行口接收来自PC机的予置串行数据,然后从并口输出到数据锁存器74LS373,最后把锁存的数据送到D/A转换接口芯片 DAC0832,变成模拟信号,送到温度控制系统。温度控制系统接收到来自D/A的模拟信号,并把它变成脉冲的形式去出发双向可控硅,通过改变双向可控硅的导通角的大小,从而改变了加热装置中电流的大小。根据Q=I2Rt可知,改变了热量,也就改变了温度。同时,通过温度传感器的作用,从现场采集回来现场的温度,经过采样保持、数据锁存、D/A变换之后,送到89C51中,和预置的数据比较分析,得出误差数据。通过误差数据去调整 89C51的输出,经过一系列的变换之后,从而改变现场的温度,提高控制的精度。另外,单片机系统通过串行口把现场的温度数据送到PC机上,在控制界面上显示出来。
3.1 PC机部分
VB通信控件设计软件如下:
Global comm._time as integer ;定义全局变量
Global data(1000) As Integer
Global Receive(1000) As Integer ;串行数据接收、发送
Private Sub Form_load( )
Comm1.Comport=1
Comm1.Settings=”9600,N,8,1”
Comm1.Inputlen=0
Comm1.Inbuffersize=256
Comm1.Outbuffersize=256
Comm1.Portopen=ture
Comm1.Sthreshold=1
Comm1.Rthreshold=1
End Sub
Public Sub send-data( ) ;(数据发送程序)
For i=0 to n
Comm1.output=Chr(data(i))
Next I
End Sub
Public Sub Comm1_oncomm( ) ;(接收程序)
Select Case Comm1.CommEvent
Case comEvreceive
Receive(comm._time)=Asc(Comm1.Input)
Comm_time=Comm_time+1
End Select
End Sub
(还有许多程序,由于篇幅限制,其他的程序清单略)
三、结束语
本系统成功开发之后,使用效果良好。如果控制对象有多个,可以构成集散系统。当然,由于水平有限肯定存在许多不足,还请各位读者给予指正。
参 考 文 献
[1] 吴成宾编著. VB⒌0实用编程指南.电子科技大学出版社.1998.3.
[2] 李华主编.MCS-51系列单片机实用接口技术.北京航空航天大学出版社(第三次印刷).1997.8.- DSP与PC机的无线交换调制模块设计(09-17)
- DSP 与PC 机串行通讯的设计(01-13)
- 基于PIC32单片机的新型LED点阵显示控制系统设计(10-01)
- 与PC机间串行通信的实现(12-21)
- PC机与PLC的串行通信通过Modbus TCP协议实现(12-19)
- RS232串口通信的应用(12-16)