1 方案整体设计和论证
串行口是计算机与外部设备之间进行数据交换的重要介质,作为一种灵活、方便、可靠的通信方式被广泛采用,这种通信的实现,经常要组成上位机为PC机而下位机为单片机的二级系统,通过RS232进行通信。可将PC机与单片机组成通信系统利用vB的通信控件Mscomm及编程方法进行串口通信,这样可以很好地实现PC机与单片机之间的实时数据传送。在本系统设计时,需要把单片机采集的温度在上位机PC上显示出来。再利用图片框控件PictureBox以图形方式表现出来。
初步确定设计系统由PC机Visual Basic:模块,单片机模块,传感器测温模块、串行通信模块4个模块组成,电路系统框图如图1所示。

2系统各电路设计
2.1温度传感器设计
由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。而DSl8B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。电路图如图2所示。

温度传感器程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序等。
读出温度子程序:程序主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
温度转换命令子程序:主要是发温度转换开始命令,当采用12位分辨率时转换时间为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
计算温度子程序:程序将RAM中读取进行BCD码的转换运算,并进行温度值正负的判定。
2.2串行通信模块
1.Mscomm提供了两种处理通信问题的方法,一是事件驱动方法,一是查询法。
(1)事件驱动法
在使用事件驱动法设计程序时,每当有新字符到达或端口状态改变,或发生错误时,Mscomm控件将触发OnComm事件,而应用程序在捕获该事件后,通过检查Mscomm控件的CommEvent属性可以获知所发生的事件或错误,从而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。
(2)查询法
查询法适合较小的应用程序,在这种情况下,每当应用程序执行完某一串行口操作后,将不断检查Mscomm控件的CommEvent属性。以检查执行结果或检查某一事件是否发生。
进行串行通信时有两种传输方式:
(1)字符形式:通常采用以小于ASCII码128的字符码来传递,这种方式通常用于传送指令。
(2)二进制形式:将数据以二进制编码的方式传递,它可能含有ASCII码128以上的字符码,这种方式通常用来传送数据,以提高速度。
欧美仪器一般通讯设置"9600,n,8,1.",日本的设备常用的设置"9600,e,7,2",一般我们采用欧美标准。如图3的通讯端口(COMl),我们一般默认设置为第一通信通道。

2.3 MAX232与PC的连接电路
MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA一232一E电平。典型的RS一232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在一5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS一232电平再返回TTL电平。电容可以取O.1uF到10uF、左右的电容,有极性无极性均可,但是使用有极性的电容一定注意正负方向。
MAX232将通过如图4接插件与外部设备进行联接,可以看到此接插件只用到了其中的三个管脚,而其余的管脚没有用,连接很简单和容易实现。

据查阅资料:由RS一232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为15m,在实际应用中。约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过15m,一般能满足个人和近距离设备的需要。
MAX232的不足之处:
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率最大为19200bps。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离受限。
2.4系统整体电路设计
若在本设计的基础上,在8051的I/O口上接18B20传感器电路,则可以实现网络式的监测系统,这也正式本设计的出发点。

3件系统的设计
3.1 18820温度传感器程序流程图
(1)读出温度子程序流程图(见图6所示)

(2)温度转换命令子程序流程图(见图7所示)

(3)计算温度子程序流程图(见图8所示)


|