随着计算机技术特别是单片机技术的发展,在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,常常遇到计算机与外界的信息交换,即通讯。串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。鉴于
2.1 ADM101E芯片介绍
大多数PC机都有一个串行通讯端口RS-232用于两台计算机间进行串行通讯。


2.2串行接口介绍
将PC串行接口与经过转换的符合RS一
2.3 MSComm通讯控件简介

MSComm控件串口具有完善的串口数据的发送和接收功能。通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此控件的事件响应有两种处理方式,事件驱动方式:由
1) MSComm控件的主要属性和方法
a. CommPort:设置或返回串行端口号,其取值范围为1—99,缺省为
b. Setting:设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。如:
c. PortOpen:打开或关闭串行端口。
d. RThreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生
e. Input:从接收缓冲区移走一串字符。
f. Output:向发送缓冲区传送一字符串。
2)CommEvent属性
如果在通讯过程中发生错误或事件,就会引发OnComm事件并由
a. ComEvSend:其值为1,发送缓冲区的内容少于
b. ComEvReceive
c. ComEventRxParity
d. ComEvEOF:其值为7,接收数据中出现文件结束字符
3.1单片机的串口控制
单片机串口控制较为简单,此处只给出初始化程序:
MOV TL1,#0E8H
MOV TH1 , # 0E8H
MOV TMOD, # 20H
MOV SCON, # 50H
SETB TRl
MOV IE, # 90H
MOV SBUF
3.2地址信息、要求单片机接收极限值设置信息的发送
Private Sub mnN1_Click()
MSComml. PortOpen=True ‘打开通讯端口
MSComml. RTSEnable=False‘置通讯端口为发送状态
MSComml. Settings="2400,m,8,
MSComml. OutBufferCount = 0‘清发送缓冲区
MSComml. output= 1 ‘发送单片机机地址信息
MSComml. Settings=2400,s,8,1 奇偶校验位置
发送数据信息
MSComml.Output= " "发送要求单片机接收极限值设置信息
End Sub
3.3数据信息(应答信息)的接收
Private Sub cmdrecvans_Click()‘接收应答信息,初始化MSComm
MSComm1.InBufferCount = 0‘接收缓冲区
MSComml. RThreshold= 2‘设置接收数据的长度
MSComml. RTSEnable= True‘置为接收状态
Timer. Enabled=True
End Sub
Private Sub Timer_Click()
If MSComm1. InBufferCount=0 Then
MSComm1. Input
Frmsend. frm Show ‘Frmsend为极限值设定及发送窗口
Timer. Enabled=False
Else : Call errordeal‘应答信息错误,调应答信息错误处理子程序
End If
End Sub
PC程序设计流程如图3所示。
本文主要对利用MSComm控件比较方便地开发串行通信程序做了阐述,实现串行通讯原理已经得到实验结果验证,考虑到将来对系统实时性的要求,采用了
[责任编辑:net_studio]