DHT11传感器测量温湿度,按键调节上下限阈值,蜂鸣器报警。

DHT11传感器测量温湿度,按键调节上下限阈值,蜂鸣器报警。

前言

这个课设可以说写了四天,因为我接触单片机的时间也不是很长,基础也不是太扎实。写的代码bug真的是太多,绝大多数的时间都画在了找bug上了。但是幸运的是我有一个能够为我传道,授业,解惑的好老师,没有老师的帮忙,这个代码估计到现在也写不好。在实习的过程中也看到了很多厉害的同学,写代码思路很清晰,对于模块的理解也很透彻,写的也很快。我也是比较嫉妒的,希望有一天我的单片机也能学的很透彻。以后我一定要加强对于单片机方面的学习,我还想靠着单片机在一些比赛上拿一些奖项呢。

课设要求

在这里插入图片描述

代码呈现

main函数

#include "1602.h"
#include "DHT11.h"
#include "juzhen.h"
void Selay(unsigned char k);
unsigned char TTop=30;
unsigned char TLow=10;
unsigned char RHTop=80;
unsigned char RHLow=30;
extern T_Data_H;
volatile unsigned char KeyValue=0;
unsigned char Temp=0;
extern unsigned char DHT11_Data[17];
unsigned char *DHT11_Dis;
unsigned char SegData[4]={
   0};
unsigned char SegSata[4]={
   0};
void Init();
unsigned char k=0;
sbit led1=P2^4;
sbit led2=P2^5;
sbit led3=P2^6;
sbit led4=P2^7;
sbit buzzer=P1^0;

void main()
{
   
	unsigned char T;
	unsigned char RH;
	Init();
	LCD_Init();		//液晶初始化
	LCD_Cls();			//液晶清屏
	LCD_DisplayString(0,0,"S:",2);
	LCD_DisplayString(9,0,"X:",2);
	LCD_DisplayChar(2,0,TTop/10+0X30);
	LCD_DisplayChar(3,0,TTop%10+0X30);
	LCD_DisplayChar(11,0,TLow/10+0X30);
	LCD_DisplayChar(12,0,TLow%10+0X30);
	LCD_DisplayChar(5,0,RHTop/10+0X30);
	LCD_DisplayChar(6,0,RHTop%10+0X30);
	LCD_DisplayChar(14,0,RHLow/10+0X30);
	LCD_DisplayChar(15,0,RHLow%10+0X30);
	LCD_DisplayString(4,0,":",1);
	LCD_DisplayString(13,0,":",1);
	DHT11_Dis = Read_DHT11();					//获取温湿度
	LCD_DisplayString(0,1,DHT11_Dis,16);	//显示温湿度
	while(1)
	{
   	 
		KeyValue=keyscan();
		if(KeyValue)
		{
   	
			
			Temp = KeyValue;
			KeyValue=0;
			switch(Temp)
			{
   				
				case 1:TTop++;if(TTop>99)TTop=10;
					   LCD_DisplayChar(2,0,TTop/10+0X30);
					   LCD_DisplayChar(3,0,TTop%10+0X30);
				break;
				case 2:TTop--;if(TTop<10)TTop=99;
					   LCD_DisplayChar(2,0,TTop/10+0X30);
					   LCD_DisplayChar(3,0,TTop%10+0X30);
				break;
				case 3:TLow++;if(TLow>99)TLow=10;
					   LCD_DisplayChar(11,0,TLow/10+0X30);
					   LCD_DisplayChar(12,0,TLow%10+0X30);
				break;
				case 4:TLow--;if(TLow<10)TLow=99;
					   LCD_DisplayChar(11,0,TLow/10+0X30);
					   LCD_DisplayChar(12,0,TLow%10
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值