基于单片机温湿度PT100热敏传感器检测仿真-毕设课设资料
【资源下载】下载地址如下1527:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
可以检测温湿度,温度检测分别用PT100热敏温度传感器和ds18b20作为温度检测传感器。
#include<reg51.h>
#include <intrins.h>
#include <math.h> //Keil library
#include <stdio.h> //Keil library
#define unchar unsigned char
#define unint unsigned int
#define port P1 //LCD12864的8位数据口
typedef union //定义共同类型
{ unsigned int i; //i表示测量得到的温湿度数据(int 形式保存的数据)
unsigned char c;
float f; //f表示测量得到的温湿度数据(float 形式保存的数据)
} value;
/******************************************12864函数声明******************************************/
void delay_12864(); //延时函数
void check_busy(); //检查是否“忙”
void write_cmd(unchar cmd); //给LCD12864写命令。
void set_page(unchar page); //设置显示的“页”。
void set_line(unchar line); //设置显示的“行”。
void set_column(unchar column); //设置显示的“列”。
void write_data(unchar dat); //写数据。
void set_onoff(unchar onoff); //开关屏幕函数。
void select_screen(unchar screen); //选择屏幕函数。
void clear_screen(unchar screen); //清屏函数。
void initial(); //初始化LCD 12864
void hz_LCDDisp16(unchar page,unchar column, unchar code *hzk,unchar num); //显示函数。
void print_SHT11_temp(); //显示输出SHT11的温度
void print_SHT11_humi(); //显示输出SHT11的湿度
void print_PT100_temp(); //显示输出PT100的温度
void delay(int z); //z为毫秒数延时
/*******************************12864的端口定义、文字库**********************************/
//首先要选择“读,写”是对与谁。以人来说,读是LCD12864来读取人的指令或数据。写是给人写。
sbit rs=P2^0; //rs=1时,为读写数据。rs=0时,为读写指令。
sbit rw=P2^1; //rw=1时,为读数据(指令)。rw=0时,为写数据(指令)。(以人来说。)
sbit en=P2^2; //使能信号。
sbit cs1=P2^3; //片选信号,0时选中左半屏。
sbit cs2=P2^4; //片选信号,0时选中右半屏。
char code hz_wen[]= //温
{
0x10,0x60,0x02,0x8C,0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,
0x04,0x04,0x7E,0x01,0x40,0x7E,0x42,0x42,0x7E,0x42,0x7E,0x42,0x42,0x7E,0x40,0x00
}; //度
char code hz_du[]=
{
0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0x25,0x26,0x24,0xFC,0x24,0x24,0x24,0x04,0x00,
0x40,0x30,0x8F,0x80,0x84,0x4C,0x55,0x25,0x25,0x25,0x55,0x4C,0x80,0x80,0x80,0x00
};