单片机设计温湿度传感器的设计程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(GDAIB小远制作)Reg51.h
#ifndef __REG51_H__
#define __REG51_H__
/* BYTE Register */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98; sfr SBUF = 0x99;
/* BIT Register */ /* PSW */
sbit CY = 0xD7; sbit AC = 0xD6; sbit F0 = 0xD5; sbit RS1 = 0xD4; sbit RS0 = 0xD3; sbit OV = 0xD2; sbit P = 0xD0;
/* TCON */
sbit TF1 = 0x8F;
sbit TF0 = 0x8D; sbit TR0 = 0x8C; sbit IE1 = 0x8B; sbit IT1 = 0x8A; sbit IE0 = 0x89; sbit IT0 = 0x88;
/* IE */
sbit EA = 0xAF; sbit ES = 0xAC; sbit ET1 = 0xAB; sbit EX1 = 0xAA; sbit ET0 = 0xA9; sbit EX0 = 0xA8;
/* IP */
sbit PS = 0xBC; sbit PT1 = 0xBB; sbit PX1 = 0xBA; sbit PT0 = 0xB9; sbit PX0 = 0xB8;
/* P3 */
sbit RD = 0xB7; sbit WR = 0xB6; sbit T1 = 0xB5; sbit T0 = 0xB4; sbit INT1 = 0xB3; sbit INT0 = 0xB2; sbit TXD = 0xB1; sbit RXD = 0xB0;
/* SCON */ sbit SM0 = 0x9F; sbit SM1 = 0x9E; sbit SM2 = 0x9D; sbit REN = 0x9C; sbit TB8 = 0x9B; sbit RB8 = 0x9A; sbit TI = 0x99; sbit RI = 0x98;
#endif
Main.h
#ifndef _MAIN_H_
#define _MAIN_H_
#include
#define uchar unsigned char
#define uint unsigned int
void delay1m(uint x);
void RH_founction();//温湿度读取子程序
void init_1602();//初始化1602函数
void DHT11_display(uchar add,uchar shi,uchar ge);//温湿度显示函数
void key_shidu();
void key_wendu();
void alarm_function();
void w_string(uchar add, uchar *p);
#endif
Main.c
//温湿度实时监测显示,超限报警,温度测量范围为0~+50℃; 湿度测量范围为20%~90%; #include"main.h"
,. sbit s1=P1^4;//温度
sbit s2=P1^3;//湿度
sbit s3=P1^2;//+
sbit s4=P1^1;//-
sbit s5=P1^0;//确定
sbit alarm=P1^5;//蜂鸣器报警
extern uchar TH,RH;//温度整数,湿度整数部分
uchar code word1[16]={" My own design! "};
uchar code word2[16]={"Tem= C Hum= %"};//word2[4]word2[5]C word2[13]word2[14]%
uchar code hehe[16]= {"Set Temperature!"};//设置温度上下限界面
uchar code haha[16]= {" Set Humidity! "};//设置湿度上下限界面
uchar code word3[16]={"up= C down= C"};
uchar code word4[16]={"up= % down= %"};
uchar w_up=30;w_down=20;//温度上下限
uchar s_up=60;s_down=40;//湿度上下限
void main()
{
uint i;
init_1602();
delay1m(500);//延时等待1602稳定
RH_founction();
while(1)