单片机设计温湿度传感器的设计程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档