报告:基于温度采集无线监测系统论文(5)

2019-01-27 15:53

}

}

}

检测端(接收端)主程序:

#include \#include \#include \#include \#include \ //0 1 2 3 4 5 6 7 8 9 .

unsigned code lcdtable[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2e};//lcd显示代码;

uchar d1,d2,d3,po4,po3,po2,po1; //个位,十位,百位,1/10位,1/100位,1/1000位,1/10000位; uchar low,tdatalow,tdataheight; //温度低字节,未处理温度的小数位

uint temp,tempold,tempnew,point;//采集温度,旧温度,新温度,实际温度的小数位

void convert(uchar c) { d1=0x00; d2=0x00; d3=0x00; po1=0x00; po2=0x00; po3=0x00; po4=0x00;

d3=(c00)/100; //取百位 d2=(c0)/10; //取十位 d1=(c)/1; //取个位 po4=(point000)/1000; //取1/10位 po3=(point00)/100; //取1/100位 po2=(point0)/10; //取1/1000位 po1=(point)/1; //取1/10000位 }

21

void display()//LCD显示函数 { //显示温度 wr_byte_ram(1,0x42,lcdtable[d3]); //显示百位 wr_byte_ram(1,0x43,lcdtable[d2]); //显示十位 wr_byte_ram(1,0x44,lcdtable[d1]); //显示个位

wr_byte_ram(1,0x45,lcdtable[10]); //显示小数点 wr_byte_ram(1,0x46,lcdtable[po4]); //显示1/10位 wr_byte_ram(1,0x47,lcdtable[po3]); //显示1/100位 wr_byte_ram(1,0x48,lcdtable[po2]); //显示1/1000位 wr_byte_ram(1,0x49,lcdtable[po1]); //显示1/10000位 wr_length_ram(1,0x4A,\显示温度单位 }

void dispNegativeTemp(uchar l) //LCD显示负温度 { convert(l);//转换 wr_length_ram(1,0x40,\ \擦除字符 wr_length_ram(1,0x40,\显示负温度 display(); //LCD显示函数 }

void dispPositiveTemp(uchar l) //LCD显示正温度 { convert(l); //转换 wr_length_ram(1,0x40,\ \擦除字符 wr_length_ram(1,0x40,\显示正温度 display(); //LCD显示函数 }

main() { ini_lcd1602(); //初始化LCD; Config905(); //配置905 init_serialcomm(); //初始化串口

22

wr_length_ram(1,0x00,\显示提示字符 while(1) { temp=0x0000;

SetRxMode();//设置为接收模式 temp=RxPacket();//接收温度函数

if(temp!=tempold) //数据有变化者,重新显示 { tempnew=temp; tdatalow=temp&0xff; tdataheight=temp>>8; }

point=temp&0x000F;//取小数位; point=point*625;//转换为实际温度

if(temp & 0x8000) //处理负温度 { temp=temp&0x0FFF;//去除高4位的符号; temp=temp^0x0FFF;//取反; temp+=1; temp>>=4; //计算温度,除以16; low=temp|0x00; //取低字节

dispNegativeTemp(low); //LCD显示负温度

low=low|0x80; }

else //处理正温度 { temp>>=4;//计算温度,除以16; low=temp|0x00;//取低字节 }

dispPositiveTemp(low); //LCD显示正温度

send_char_com(low);//向串口发送一个字符

23

}

}

计算机监控软件主程序:

package com.Frame;

import java.awt.BorderLayout; import java.awt.Color;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent;

import java.awt.event.MouseMotionAdapter; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.EOFException; import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration;

import java.util.TooManyListenersException;

import javax.comm.CommPortIdentifier; import javax.comm.SerialPort;

import javax.comm.SerialPortEvent;

import javax.comm.SerialPortEventListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel;

import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JSlider;

import javax.swing.SwingConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener;

24

import com.Serial.SerialComm;

public class MainFrame { private SerialComm serialcomm=null; //串口实例 private SerialPort serialPort=null; //串口实例 private File file=null;//保存报警值 private DataOutputStream fileout=null;//写报警值数据流; private DataInputStream filein=null;//读报警值数据流; private int readdata=0; //串口数据存储 private int temp_old=0; private Boolean flag_start=false; //监控标志 private Boolean flag_alarm=false; //报警标志 private JFrame frame; private final JPanel panel = new JPanel(); private final JLabel Label1 = new JLabel(); private final JComboBox comboBoxPortID = new JComboBox(); private final JButton buttonStart = new JButton(); private final JSlider sliderTemp = new JSlider(); private final JLabel labelSliderTemp = new JLabel(); private final JLabel label = new JLabel(); private final JLabel label_1 = new JLabel(); private final JSlider sliderAlarm = new JSlider(); private final JLabel labelSliderAlarm = new JLabel(); private final JButton buttonExit = new JButton(); /** * Launch the application * @param args */ public static void main(String args[]) { try { MainFrame window = new MainFrame(); window.frame.setVisible(true); }

25


报告:基于温度采集无线监测系统论文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于青春的英语演讲稿

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

马上注册会员

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