基于单片机和温度传感器的温度控制系统(7)

2018-12-21 11:59

(2)主程序的C代码如下:

void main() //主函数 {

uchar buff[4],i; dula=0; wela=0; init_com(); while(1) {

tempchange(); //温度转换函数 for(i=10;i>0;i--) {

dis_temp(get_temp()); //获取温度并显示 }

deal(temp); //进行温度处理

sprintf(buff,\将浮点型温度格式化为字符型for(i=10;i>0;i--) {

dis_temp(get_temp()); //温度显示 }

comm(buff); //串口发送数据 for(i=10;i>0;i--) {

dis_temp(get_temp()); } } }

27

5.2温度获取并转换

温度获取且转换的步骤是先对DS18B20复位初始化,延时一下,然后单点测温,写温度转换指令,下一步就是读取寄存器存储的温度数据,最后就是温度数据乘以10,返回数值。下图5-2是温度获取与转换子程序流程图。

图5-2温度获取与转换子程序流程图

5.3温度的控制

当空间温度在26℃-28℃范围时,并不需要对被检测空间进行热量的交换。当被检测空间温度在24℃

28

图5-3温度控制流成图

其C程序代码如下:

void deal(uint t) //温度控制函数 { uchar i;

if((t>warn_l2)&&(t<=warn_l1))//大于24度小于26度 {

warn(40,0x01); //第一个亮,蜂鸣器发出“滴”声 }

else if(t<=warn_l2) {

warn(10,0x03); }

else if((t=warn_h1))//第一第二个灯亮。蜂鸣器发出“滴”声 {

warn(40,0x04); }

29

else if(t>=warn_h2) {

warn(10,0x0c); }

else //在26度和28度之间时只是调用显示函数延时 { i=40; while(i--) {

dis_temp(get_temp()); } } }

30

6 单片机与上位机通信

在最后要在上位机上显示实时温度值,就要借助串口通信了。在我们调试实验的时候首先需要对串口进行调试,以确保其能正常通信。本毕业设设仅是采用VB6.0调用MSComm控件接收、处理和显示温度数据。在新建工程添加完MSComm控件和TextBox控件后,双击【TextBox】控件在Private Sub From_load()函数中增加如下代码:

MSComm1.Settings = \ '波特率9600bit/s,无校验,8位数据,1位停止位

MSComm1.CommPort = 3 '设定串口,3为com3(视具体情况而定,可以在计算机设备管理那里看到,我的是使用com3)

MSComm1.InBufferSize = 8 '设置返回接受缓冲区的大小,以字符为单位 MSComm1.OutBufferSize = 2

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False '关串口 MSComm1.RThreshold = 4 '设置并返回产生oncomm事件的字符数,以字符为单位

'Rthreshold为1,接收缓冲区收到每一个字符都会产生MSComm控件产生OnComm事件

MSComm1.SThreshold = 1

MSComm1.InputMode = comInputModeText '以文本方式接收 If MSComm1.PortOpen = False Then MSComm1.PortOpen = True MSComm1.InBufferCount = 0 '清空接收缓存区 Me.Caption = \温度\

编辑完以上代码双击窗体内MSComm控件,在Private Sub MSComm1_OnComm()函数中添加如下接收数据的代码:

Dim rec As String

Select Case MSComm1.CommEvent Case comEvReceive rec = MSComm1.Input

31


基于单片机和温度传感器的温度控制系统(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年度针灸康复科年终工作总结 (自动保存的)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: