导航:首页 > 操作系统 > 51单片机温湿度检测

51单片机温湿度检测

发布时间:2024-11-30 06:56:19

⑴ 跪求基于单片机的温湿度监控系统代码

#include <reg51.h>
#include <intrins.h> //Keil library (is used for _nop()_ operation)
#include <math.h> //Keil library
#include <stdio.h> //Keil library
unsigned char Tem,Hum;
unsigned char Set_Tem,Set_Hum;

sbit SS = P1^0; //片选
sbit SCLK = P1^1; //ISD4003 时钟
sbit MOSI = P1^2; //数据输入
sbit MISO = P1^3; //数据输出
sbit LED = P1^7; //指示灯
sbit ISD_INT = P3^2; //中断
sbit AN = P1^6; //执行
sbit STOP = P1^5; //复位
sbit PR = P1^4; //PR=1 录音 PR=0 放音
sbit DATA=P2^0;
sbit SCK=P2^1;
sbit SCL=P1^1;
sbit SDA=P1^0;

#define TEMP 0
#define HUMI 1
typedef union
{ unsigned int i;
float f;
} value;
//蔽塌enum {,EMP,HUMI};
//以上所示为系统的主程序结构,其中子程序可根据系统整个具体的要求进行添加代码,
//刷新LED显示子程序write_led();硬件采用译码器;按键检测子哗仿程序check_key();的执行通过读单片机I/O口高低电平识别按键。
//以下所示代码为读温湿度传感器子程序read_ sensor()的程序内容:
/********************************************************************
工程名 SHTxx demo program (V2.1)
文件名: SHTxx_Sample_Code.c
MCU: 80C51 family
编译器: Keil Version 6.14
*******************************************************************/乱并纤
//-------------------------------------------------------------------
// mol-var
//-------------------------------------------------------------------
void warning(void);
void Delay(unsigned int time);

#define noACK 0
#define ACK 1

unsigned int *p_value;

#define STATUS_REG_W 0x06 //000 0011 0
#define STATUS_REG_R 0x07 //000 0011 1
#define MEASURE_TEMP 0x03 //000 0001 1
#define MEASURE_HUMI 0x05 //000 0010 1
#define RESET 0x1e //000 1111 0
//-------------------------------------------------------------------
char s_write_byte(unsigned char value)
//-------------------------------------------------------------------
// 写一个字节,检查应答信号
{
unsigned char idata i,error=0;
for (i=0x80;i>0;i/=2)
{ if (i & value) DATA=1;
else DATA=0;
SCK=1;
_nop_();_nop_();_nop_(); //时钟脉冲宽度 5 us
SCK=0;
}
DATA=1; //释放DATA
SCK=1; //9个CLK后应答
error=DATA; //检查应答信号 (DATA 被拉低)
SCK=0;
return error; // 如果没有应答则error=1
}//
//-------------------------------------------------------------------
char s_read_byte(unsigned char ack)
//-------------------------------------------------------------------
// 读一个字节,检查应答信号
{
unsigned char i,val=0;
DATA=1; //释放DATA信号
for (i=0x80;i>0;i/=2)
{ SCK=1;
if (DATA) val=(val | i);
SCK=0;
}
DATA=!ack; //如果 "ack==1" ,拉低DATA
SCK=1; //clk #9 for ack
_nop_();_nop_();_nop_(); //延时5微秒
SCK=0;
DATA=1; //释放DATA
return val;
}

//-------------------------------------------------------------------
void s_transstart(void)
//-------------------------------------------------------------------
// generates a transmission start
// _____ ________
// DATA: |_______|
// ___ ___
// SCK : ___| |___| |______
{
DATA=1; SCK=0; //初始状态
_nop_();
SCK=1;
_nop_();
DATA=0;
_nop_();
SCK=0;
_nop_();_nop_();_nop_();
SCK=1;
_nop_();
DATA=1;
_nop_();
SCK=0;
}

//-------------------------------------------------------------------
void s_connectionreset(void)
//-------------------------------------------------------------------
//通讯复位: 至少在9 SCK 周期后,DATA=1 传输开始
// _____________________________________________________
// DATA: //|_______|
// _ _ _ _ _ _ _ _ _ ___ ___
// SCK : __| |__| |__| |__| |__| |__| |__| |__| |__| |______| |___|
{
unsigned char i;
DATA=1; SCK=0; //初始状态
for(i=0;i<9;i++) //9 SCK周期
{ SCK=1;
SCK=0;
}
s_transstart(); //通讯开始
}
//-------------------------------------------------------------------
char s_softreset(void)
// resets the sensor by a softreset
{
unsigned char error=0;
s_connectionreset(); //复位通讯
error+=s_write_byte(RESET); //发送复位命令
return error; //如果传感器没有响应则error=1
}

//-------------------------------------------------------------------
char s_read_statusreg(unsigned char *p_value,unsigned *p_checksum)
//-------------------------------------------------------------------
//读效验寄存器状态 (8-bit)
{
unsigned char error=0;
s_transstart(); //通讯开始
error=s_write_byte(STATUS_REG_R); //发送命令
*p_value=s_read_byte(ACK); //读状态寄存器(8-bit)
*p_checksum=s_read_byte(noACK); //读效验和
return error; //如果传感器没有响应则error=1
}

//-------------------------------------------------------------------
char s_write_statusreg(unsigned char *p_value)
//-------------------------------------------------------------------
// writes the status register with checksum (8-bit)
{
unsigned char error=0;
s_transstart(); //通讯开始
error+=s_write_byte(STATUS_REG_W);// 发送命令
error+=s_write_byte(*p_value); //发送状态寄存器的值
return error; //如果传感器没有响应则error=1

}
//-------------------------------------------------------------------
char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)
//-------------------------------------------------------------------
// makes a measurement (humidity/temperature) with checksum
{
unsigned char idata error=0;
unsigned int i;
s_transstart(); //通讯开始
switch(mode)
{ //发送名令
case TEMP : error+=s_write_byte(MEASURE_TEMP); break;
case HUMI : error+=s_write_byte(MEASURE_HUMI); break;
default : break;
}
for (i=0;i<65535;i++) if(DATA==0) break; //等待传感器完成测量
if(DATA) error+=1;
*(p_value) =s_read_byte(ACK); //读取第一个字节
*(p_value+1)=s_read_byte(ACK); //读取第二个字节
*p_checksum =s_read_byte(noACK); //读取效验和
return error;
}
//-------------------------------------------------------------------
//-------------------------------------------------------------------
void calc_sth11(float *p_humidity ,float *p_temperature)
//-------------------------------------------------------------------
// 计算温度和湿度
// input : humi [Ticks] (12 bit)
// temp [Ticks] (14 bit)
// output: humi [%RH]
// temp
{ const float xdata C1=-4.0;
const float xdata C2=+0.0405;
const float xdata C3=-0.0000028;
const float xdata T1=+0.01;
const float xdata T2=+0.00008;

float rh=*p_humidity; //计算湿度值
float t=*p_temperature; // 计算温度值
float rh_lin;
float rh_true;
float t_C;
t_C=t*0.01 - 40;
rh_lin=C3*rh*rh + C2*rh + C1;
rh_true=(t_C-25)*(T1+T2*rh)+rh_lin;
if(rh_true>100)rh_true=100; //如果结果超出了可能的范围就取消
if(rh_true<0.1)rh_true=0.1;
*p_temperature=t_C;
*p_humidity=rh_true;
}

//-------------------------------------------------------------------
float calc_dewpoint(float h,float t)
//-------------------------------------------------------------------
// calculates dew point
// input: humid,ty , temperature
// output: dew point
{ float dew_point,logEx;
logEx=0.66077+7.5*t/(237.3+t)+(log10(h)-2);
dew_point = (logEx - 0.66077)*237.3/(0.66077+7.5-logEx);
return dew_point;
}
//-------------------------------------------------------------------
void main_measure()

//-------------------------------------------------------------------
// 使用SHT10功能步骤:
// 1.通讯复位
// 2. 测量温度,湿度
// 3. 计算温度,湿度
// 45. 显示温度,湿度

{ value humi_val,temp_val;
float dew_point,error;
unsigned char checksum;
unsigned int idata i;

s_connectionreset();
while(1)
{ error=0;
error+=s_measure((unsigned char*) &humi_val.i,&checksum,HUMI); //测量湿度
error+=s_measure((unsigned char*) &temp_val.i,&checksum,TEMP); //测量温度
if(error!=0) s_connectionreset();
//如果有错误就复位
else
{ humi_val.f=(float)humi_val.i; //将整数转换成浮点数
temp_val.f=(float)temp_val.i;
calc_sth11(&humi_val.f,&temp_val.f);
//计算温度,湿度
dew_point=calc_dewpoint(humi_val.f,temp_val.f);
//计算dew
//printf("temp:%5.1fC humi:%5.1f%% dew point:%5.1f,\n",temp_v,l.f,humi_v,l.f,dew_point);
}
for (i=0;i<40000;i++);//----------延时0.8s
}
}
//语音功能子程序
//下面代码为语音芯片使用范例,该功能放在主程序中的warning()子程序中执行。

void delay(unsigned int time) //延迟 n 微秒
{
while(time!=0)
{
time-- ;
}
}
void delayms(unsigned int time) //延迟 n 毫秒
{
TMOD=0x01;
for(time;time>0;time--)
{
TH0 = 0xfc;
TL0 = 0x18;
TR0 = 1;
while(TF0!=1)
{;}
TF0=0;
TR0=0;
}
}
//************************************
//ISD4002 spi 串行发送子程序,8 位数据
//************************************
void spi_send(unsigned char isdx)
{
unsigned char idata k;
SS=0;//SS=0; //,s=0,打开 spi 通信端
SCLK=0;
for(k=0;k<8;k++) //先发低位再发高位,依发送。 { i
{
if((isdx&0x01)==1)
MOSI=1;
else
MOSI=0;
isdx=isdx>>1;
SCLK=1;
delay(2);
SCLK=0;
delay(2);
}
}
//*******************************
//发送 stop 指令
//*******************************
void isd_stop(void)
{
delay(10);
spi_send(0x30);
SS=1;
delayms(50);
}
//*******************************
//发送上电指令,并延迟 50ms
//*******************************
void isd_pu(void)
{ delay(10);
SS=0;
spi_send(0x20);
SS=1;
delayms(50);
}
//发送掉电指令,并延迟 50ms
//*******************************

void isd_pd(void)
{
delay(10);
spi_send(0x10);
SS=1;
delayms(50);
}
//*******************************
//发送 play 指令
//*******************************
void isd_play(void)
{
LED=0;
spi_send(0xf0);
SS=1;
}
//*******************************
//发送 rec 指令
//*******************************
void isd_rec(void)
{
LED=0;
spi_send(0xb0);
SS=1;
}
//*******************************
//发送 setplay 指令
//*******************************
void isd_setplay(unsigned char adl,unsigned char adh)
{
spi_send(adl); //发送放音起始地址低位
adh=adh||0xe0;
spi_send(adh); //发送放音起始地址高位
SS=1;
}
//*******************************
//发送 setrec 指令
//*******************************
void isd_setrec(unsigned char adl,unsigned char adh)
{
spi_send(adl); //发送放音起始地址低位
adh=adh||0xa0;
spi_send(adh); //发送放音起始地址高位
SS=1;
}
//************************************
//芯片溢出,LED 闪烁提醒停止录音
//************************************
void isd_overflow(void)
{
while(AN==0)
{
LED=1;
delayms(300);
LED=0;
delayms(300);
}
}
//************************************
//检查芯片是否溢出(读,OVF,并返回 OVF 值)
//************************************
unsigned char chk_isdovf(void)
{
SS=0;
delay(2);
SCLK=0;
delay(2);
SCLK=1;
SCLK=0;
delay(2);
if (MISO==1)
{
SCLK=0;
SS =1; //关闭 spi 通信端
isd_stop(); //发送 stop 指令
return 1; //OVF 为 1,返回 1
}
else
{
SCLK=0;
SS =1; //关闭 spi 通信端
isd_stop(); //发送 stop 指令
return 0; //OVF 为 0,返回 0
}
}
//**********************************************************************
//主程序
//功能:1.录音时,按住 AN 键,LED 点亮开始录音,松开 AN 即可停止录音
// 再次按下 AN 键,LED 点亮开始录第二段音,依次类推,直到芯片溢出。
// 按 stop 键芯片复位
// 2.放音时,按一下 AN 键,即播放一段语音。按 stop 键芯片复位。
//************************************************************************

void voice(void)
{
unsigned char ovflog;
while(1)
{
P0=P1=P2=P3=0xff; //初始化
while (AN==1) //等待 AN 键按下
{
if (AN==0) //按键防抖动
{delayms(20);}
}
isd_pu(); // AN 键按下,ISD 上电并延迟 50ms
isd_pd();
isd_pu();
if (PR==1) //如果 PR=1 则转入录音部分
{
delayms(500); //延迟录音
isd_setrec(0x00,0x00); //发送 0x0000h 地址的 setplay 指令
do
{
isd_rec(); //发送 rec 指令
while(AN==0) //等待录音完毕
{
if (ISD_INT==0)//如果芯片溢出,进行 LED 闪烁提示,
isd_overflow(); //如果取消录音(松开AN键)则停止录音,芯片复位
}
if (ISD_INT==0)
break;
LED=1; //录音完毕,LED 熄灭
isd_stop(); //发送停止命令
while(AN==1) //如果 AN 再次按下,开始录制下一段语音
{
if(STOP==0) //如果按下 STOP 按键,则芯片复位
break;
if (AN==0)
delayms(500);
}
}while(AN==0);
}
else //如果 PR==0 则转入放音部分
{
while(AN==0){;}
isd_setplay(0x00,0x00); //发送 setplay 指令,从 0x0000 地址开始放音
do
{
isd_play(); //发送放音指令
delay(20);
while(ISD_INT==1) //等待放音完毕的 EOM 中断信号
{;}
LED=1;
isd_stop(); //放音完毕,发送 stop 指令
if (ovflog=chk_isdovf())//检查芯片是否溢出,如溢出则停止放音,芯片复位
break;
while(AN==1) //等待 AN 键再次按下
{
if (STOP==0)
break;
if(AN==0)
delayms(20);
}
}while(AN==0); // AN 键再次按下,播放下一段语音
}
isd_stop();
isd_pd();
}
}
#define ZLG7290 0x70
#define RADR 0x01
#define uchar unsigned char
#define uint unsigned int

/************************************/
void I2cStart(void)
{
SDA=1;
SCL=1;
Delay(10);
SDA=0;
Delay(10);
SCL=0;
}
/************************************/
void I2cStop(void)
{
SDA=0;
SCL=1;
Delay(10);
SDA=1;
Delay(10);
SCL=0;
}
/************************************/
void WriteI2cByte(uchar dat)
{
uchar k;

SCL=0;
for (k=0;k<8;k++)
{
SDA=(bit)(dat&0x80);
SCL=1;
Delay(10);
SCL=0;
dat<<=1;
}
SCL=0;
}
/*************************************/
uchar ReadI2cByte(void)
{
uchar dat,k;

for (k=0;k<8;k++)
{
SCL=0;
SDA=1; //一定要将SDA置为高电平,否则不能正常连续取数据
Delay(10);
SCL=1;
dat<<=1;
if (SDA)
dat|=0x01;
SCL=0;
Delay(10);
}
SCL=0;

return dat;
}
/*************************************/
void SendAck(void)
{
SDA=0;
Delay(10);
SCL=1;
Delay(10);
SCL=0;
}
/*************************************/
void SendNoAck(void)
{
SDA=1;
SCL=1;
Delay(10);
SCL=0;
}
/************************************/
void I2cWaitAck(void)
{
uchar ack;

SDA=1;
SCL=1;
Delay(10);
ack=SDA;
SCL=0;
}
/***********************************************************/
void I2cReadSequence(uchar sla,uchar sbua,uchar *s,uchar len)
{
uchar l;

I2cStart();
WriteI2cByte(sla);
I2cWaitAck();
WriteI2cByte(sbua);
I2cWaitAck();

I2cStart();
WriteI2cByte(sla+1);
I2cWaitAck();
for (l=0;l<len-1;l++)
{
*s=ReadI2cByte();
SendAck();
s++;
}
*s=ReadI2cByte();
SendNoAck();
I2cStop();
}
/************************************************************/
void I2cWriteSequence(uchar sla,uchar sbua,uchar *s,uchar len) //wr
{
uchar k;

I2cStart();
WriteI2cByte(sla);
I2cWaitAck();
WriteI2cByte(sbua);
I2cWaitAck();
for (k=0;k<len;k++)
{
WriteI2cByte(*s);
I2cWaitAck();
s++;
}
I2cStop();
}
/**************************************************************/
void I2cWriteByteToSlaver(uchar sla,uchar sbua,uchar dat)
{
I2cStart();
WriteI2cByte(sla);
I2cWaitAck();
WriteI2cByte(sbua);
I2cWaitAck();
WriteI2cByte(dat);
I2cWaitAck();
I2cStop();
Delay(10);
}
/**************************************************************/
uchar I2cReadByteFromSlaver(uchar sla,uchar sbua)
{
uchar dat;

I2cStart();
WriteI2cByte(sla);
I2cWaitAck();
WriteI2cByte(sbua);
I2cWaitAck();

I2cStart();
WriteI2cByte(sla+1);
I2cWaitAck();

dat=ReadI2cByte();
SendAck();
SendNoAck();
I2cStop();

return dat;
}
/**************************************************/
void main()
{
voice();//完成语音芯片的初始化 置入工作状态
s_softreset();
while(1)//进入程序主循环
{
main_measure();//读温湿度传感器 得到温度值Tem 湿度值Hum
/* if(Tem>Set_Tem && Hum >Set_Hum)//设置报警区间
{
warning();//执行警告 启动报警
} */
}
}

⑵ 有没有基于51单片机的DHT11传感器和LCD12864显示器来实现温湿度控制的电路原理图,在protel 99中绘制的。

你是做基于单片机的温湿度采集系统吧?如果单纯要显示温湿度,用LCD1602就可以了的。我有一些类似的设计,不知道是否适合你,需要直接找我吧,在线等待,不在的话可以给我留言,看到后马上回复。

⑶ 大学PLC课程设计一般有哪些题目

1. 基于FX2N-48MRPLC的交通灯控制
2. 西门子PLC控制的四层电梯毕业设计论文
3. PLC电梯控制毕业论文
4. 基于plc的五层电梯控制
5. 松下PLC控制的五层电梯设计
6. 基于PLC控制的立体车库系统设计
7. PLC控制的花样喷泉
8. 三菱PLC控制的花样喷泉系统
9. PLC控制的抢答器设计
10. 世纪星组态 PLC控制的交通灯系统
11. X62W型卧式万能尘裤铣床设计
12. 四路抢答器PLC控制
13. PLC控制类毕业设计论文
14. 铁路与公路交叉口护栏自动控制系统
15. 基于PLC的机械手自动操作系统
16. 三相异步电动机正反转控制
17. 基于机械手分选大小球的自动控制
18. 基于PLC控制的作息时间控制系统
19. 变频恒压供水控制系统
20. PLC在电网备用自动投入中的应用
21. PLC在变电站变压器自动化中的应用
22. FX2系列PCL五层电梯控制系统
23. PLC控制的自动售货机毕业设计论文
24. 双恒压供水西门子PLC毕业设计
25. 交流变频宴兄棚调速PLC控制电梯系统设计毕业论文
26. 基于PLC的三层电梯控制系统设计
27. PLC控制自动门的课程设计
28. PLC控制锅炉输煤系统
29. PLC控制变频调速五层电梯系统设计
30. 机械手PLC控制设计
31. 基于PLC的组合机床控制系统设计
32. PLC在改造z-3040型摇臂钻床中的应用
33. 超高压水射流机器人切割系统电气控制设计
34. PLC在数控技术中进给系统的开发中的应用
35. PLC在船用牵引控制系统开发中的应用
36. 智能组合秤控制系统设计
37. S7-200PLC在数控车床控制系统中的应用
38. 自动送料装车系统PLC控制设计
39. 三菱PLC在五层电梯控制中的应用
40. PLC在交流双速电梯控制系统中的应用
41. PLC电梯控制毕业论文
42. 基于PLC的电机故障诊断系统设计
43. 欧姆龙PLC控制交通灯系统毕业论文
44. PLC在配料生产线上的应用毕业论文
45. 三菱PLC控制的四层电梯毕业设计论文
46. 全自动洗衣机PLC控制毕业设计论文
47. 工业洗衣机的PLC控制毕业论文
48. 《双恒压无塔供水的PLC电气控制》
49. 基于三菱PLC设计的四层电梯控制系统
50. 西门子PLC交通灯毕业设计
51. 自动铣床PLC控制系统毕业设计
52. PLC变频调速恒压供水系统
53. PLC控制的行车自动化控制系统
54. 基于PLC的自动售货机的设计
55. 基于PLC的气动机械手控制系统
56. PLC在电梯自动化控制中的应用
57. 组态控制交通灯
58. PLC控制的升降横移式自动化立体车库
59. PLC在电动单梁天车中的应用
60. PLC在液体混合控制系统中的应用
61. 基于西门子PLC控制的全自动洗衣机仿真设计
62. 基于三菱PLC控制的全自动洗衣机
63. 基于plc的污水处理系统
64. 恒压供水系统的PLC控制设计
65. 基于欧姆龙PLC的变频恒压供水系统设计
66. 西门子PLC编写的花样喷泉控制程序
67. 欧姆龙PLC编写的全自动洗衣机控制程序
68 景观温室控制系统的设计
69. 贮丝生产线PLC控制的系统
70. 基于PLC的霓虹灯控制系统
71. PLC在砂光机控制系统上的应用
72. 磨石晌则粉生产线控制系统的设计
73. 自动药片装瓶机PLC控制设计
74. 装卸料小车多方式运行的PLC控制系统设计
75. PLC控制的自动罐装机系统
76. 基于CPLD的可控硅中频电源
77. 西门子PLC编写的花样喷泉控制程序
78. 欧姆龙PLC编写的全自动洗衣机控制程序
79. PLC在板式过滤器中的应用
80. PLC在粮食存储物流控制系统设计中的应用
81. 变频调速式疲劳试验装置控制系统设计
82. 基于PLC的贮料罐控制系统
83. 基于PLC的智能交通灯监控系统设计

1.基于labVIEW虚拟滤波器的设计与实现
2.双闭环直流调速系统设计
3.单片机脉搏测量仪
4.单片机控制的全自动洗衣机毕业设计论文
5.FPGA电梯控制的设计与实现
6.恒温箱单片机控制
7.基于单片机的数字电压表
8.单片机控制步进电机毕业设计论文
9.函数信号发生器设计论文
10.110KV变电所一次系统设计
11.报警门铃设计论文
12.51单片机交通灯控制
13.单片机温度控制系统
14.CDMA通信系统中的接入信道部分进行仿真与分析
15.仓库温湿度的监测系统
16.基于单片机的电子密码锁
17.单片机控制交通灯系统设计
18.基于DSP的IIR数字低通滤波器的设计与实现
19.智能抢答器设计
20.基于LabVIEW的PC机与单片机串口通信
21.DSP设计的IIR数字高通滤波器
22.单片机数字钟设计
23.自动起闭光控窗帘毕业设计论文
24.三容液位远程测控系统毕业论文
25.基于Matlab的PWM波形仿真与分析
26.集成功率放大电路的设计
27.波形发生器、频率计和数字电压表设计
28.水位遥测自控系统 毕业论文
29.宽带视频放大电路的设计 毕业设计
30.简易数字存储示波器设计毕业论文
31.球赛计时计分器 毕业设计论文
32.IIR数字滤波器的设计毕业论文
33.PC机与单片机串行通信毕业论文
34.基于CPLD的低频信号发生器设计毕业论文
35.110kV变电站电气主接线设计
36.m序列在扩频通信中的应用
37.正弦信号发生器
38.红外报警器设计与实现
39.开关稳压电源设计
40.基于MCS51单片机温度控制毕业设计论文
41.步进电动机竹竿舞健身娱乐器材
42.单片机控制步进电机 毕业设计论文
43.单片机汽车倒车测距仪
44.基于单片机的自行车测速系统设计
45.水电站电气一次及发电机保护
46.基于单片机的数字显示温度系统毕业设计论文
47.语音电子门锁设计与实现
48.工厂总降压变电所设计-毕业论文
49.单片机无线抢答器设计
50.基于单片机控制直流电机调速系统毕业设计论文
51.单片机串行通信发射部分毕业设计论文
52.基于VHDL语言PLD设计的出租车计费系统毕业设计论文
53.超声波测距仪毕业设计论文
54.单片机控制的数控电流源毕业设计论文
55.声控报警器毕业设计论文
56.基于单片机的锁相频率合成器毕业设计论文
57.基于Multism/protel的数字抢答器
58.单片机智能火灾报警器毕业设计论
59.无线多路遥控发射接收系统设计毕业论文
60.单片机对玩具小车的智能控制毕业设计论文
61.数字频率计毕业设计论文
62.基于单片机控制的电机交流调速毕业设计论文
63.楼宇自动化--毕业设计论文
64.车辆牌照图像识别算法的实现--毕业设计
65.超声波测距仪--毕业设计
66.工厂变电所一次侧电气设计
67.电子测频仪--毕业设计
68.点阵电子显示屏--毕业设计
69.电子电路的电子仿真实验研究
70.基于51单片机的多路温度采集控制系统
71.基于单片机的数字钟设计
72.小功率不间断电源(UPS)中变换器的原理与设计
73.自动存包柜的设计
74.空调器微电脑控制系统
75.全自动洗衣机控制器
76.电力线载波调制解调器毕业设计论文
77.图书馆照明控制系统设计
78.基于AC3的虚拟环绕声实现
79.电视伴音红外转发器的设计
80.多传感器障碍物检测系统的软件设计
81.基于单片机的电器遥控器设计
82.基于单片机的数码录音与播放系统
83.单片机控制的霓虹灯控制器
84.电阻炉温度控制系统
85.智能温度巡检仪的研制
86.保险箱遥控密码锁 毕业设计
87.10KV变电所的电气部分及继电保护
88.年产26000吨乙醇精馏装置设计
89.卷扬机自动控制限位控制系统
90.铁矿综合自动化调度系统
91.磁敏传感器水位控制系统
92.继电器控制两段传输带机电系统
93.广告灯自动控制系统
94.基于CFA的二阶滤波器设计
95.霍尔传感器水位控制系统
96.全自动车载饮水机
97.浮球液位传感器水位控制系统
98.干簧继电器水位控制系统
99.电接点压力表水位控制系统
100.低成本智能住宅监控系统的设计
101.大型发电厂的继电保护配置
102.直流操作电源监控系统的研究
103.悬挂运动控制系统
104.气体泄漏超声检测系统的设计
105.电压无功补偿综合控制装置
106.FC-TCR型无功补偿装置控制器的设计
107.DSP电机调速
108.150MHz频段窄带调频无线接收机
109.电子体温计
110.基于单片机的病床呼叫控制系统
111.红外测温仪
112.基于单片微型计算机的测距仪
113.智能数字频率计
114.基于单片微型计算机的多路室内火灾报警器
115.信号发生器
116.基于单片微型计算机的语音播出的作息时间控制器
117.交通信号灯控制电路的设计
118.基于单片机步进电机控制系统设计
119.多路数据采集系统的设计
120.电子万年历
121.遥控式数控电源设计
122.110kV降压变电所一次系统设计
123.220kv变电站一次系统设计
124.智能数字频率计
125.信号发生器
126.基于虚拟仪器的电网主要电气参数测试设计
127.基于FPGA的电网基本电量数字测量系统的设计
128.风力发电电能变换装置的研究与设计
129.电流继电器设计
130.大功率电器智能识别与用电安全控制器的设计
131.交流电机型式试验及计算机软件的研究
132.单片机交通灯控制系统的设计
133.智能立体仓库系统的设计
134.智能火灾报警监测系统
135.基于单片机的多点温度检测系统
136.单片机定时闹钟设计
137.湿度传感器单片机检测电路制作
138.智能小车自动寻址设计--小车悬挂运动控制系统
139.探讨未来通信技术的发展趋势
140.音频多重混响设计
141.单片机呼叫系统的设计
142.基于FPGA和锁相环4046实现波形发生器
143.基于FPGA的数字通信系统
144.基于单片机的带智能自动化的红外遥控小车
145.基于单片机AT89C51的语音温度计的设计
146.智能楼宇设计
147.移动电话接收机功能电路
148.单片机演奏音乐歌曲装置的设计
149.单片机电铃系统设计
150.智能电子密码锁设计
151.八路智能抢答器设计
152.组态控制抢答器系统设计
153.组态控制皮带运输机系统设计
154..基于单片机控制音乐门铃
155.基于单片机控制文字的显示
156.基于单片机控制发生的数字音乐盒
157.基于单片机控制动态扫描文字显示系统的设计
158.基于LMS自适应滤波器的MATLAB实现
159.D功率放大器毕业论文
160.无线射频识别系统发射接收硬件电路的设计
161.基于单片机PIC16F877的环境监测系统的设计
162.基于ADE7758的电能监测系统的设计
163.智能电话报警器
164.数字频率计 课程设计
165.多功能数字钟电路设计 课程设计
166.基于VHDL数字频率计的设计与仿真
167.基于单片机控制的电子秤
168.基于单片机的智能电子负载系统设计
169.电压比较器的模拟与仿真
170.脉冲变压器设计
171.MATLAB仿真技术及应用
172.基于单片机的水温控制系统
173.基于FPGA和单片机的多功能等精度频率计
174.发电机-变压器组中微型机保护系统
175.基于单片机的鸡雏恒温孵化器的设计
176.数字温度计的设计
177.生产流水线产品产量统计显示系统
178.水位报警显时控制系统的设计
179.红外遥控电子密码锁的设计
180.基于MCU温控智能风扇控制系统的设计
181.数字电容测量仪的设计
182.基于单片机的遥控器的设计
183.200电话卡代拨器的设计
184.数字式心电信号发生器硬件设计及波形输出实现
185.电压稳定毕业设计论文
186.基于DSP的短波通信系统设计(IIR设计)
187.一氧化碳报警器
188.网络视频监控系统的设计
189.全氢罩式退火炉温度控制系统
190.通用串行总线数据采集卡的设计
191.单片机控制单闭环直流电动机的调速控制系统
192.单片机电加热炉温度控制系统
193.单片机大型建筑火灾监控系统
194.USB接口设备驱动程序的框架设计
195.基于Matlab的多频率FMICW的信号分离及时延信息提取
196.正弦信号发生器
197.小功率UPS系统设计
198.全数字控制SPWM单相变频器
199.点阵式汉字电子显示屏的设计与制作
200.基于AT89C51的路灯控制系统设计
200.基于AT89C51的路灯控制系统设计
201.基于AT89C51的宽范围高精度的电机转速测量系统
202.开关电源设计
203.基于PDIUSBD12和K9F2808简易USB闪存设计
204.微型机控制一体化监控系统
205.直流电机试验自动采集与控制系统的设计
206.新型自动装弹机控制系统的研究与开发
207.交流异步电机试验自动采集与控制系统的设计
208.转速闭环控制的直流调速系统的仿真与设计
209.基于单片机的数字直流调速系统设计
210.多功能频率计的设计
211.18信息移频信号的频谱分析和识别
212.集散管理系统—终端设计
213.基于MATLAB的数字滤波器优化设计
214.基于AT89C51SND1C的MP3播放器
215.基于光纤的汽车CAN总线研究
216.汽车倒车雷达
217.基于DSP的电机控制
218.超媒体技术
219.数字电子钟的设计与制作
220.温度报警器的电路设计与制作
221.数字电子钟的电路设计
222.鸡舍电子智能补光器的设计
223.高精度超声波传感器信号调理电路的设计
224.电子密码锁的电路设计与制作
225.单片机控制电梯系统的设计
226.常用电器维修方法综述
227.控制式智能计热表的设计
228.电子指南针设计
229.汽车防撞主控系统设计
230.单片机的智能电源管理系统
231.电力电子技术在绿色照明电路中的应用
232.电气火灾自动保护型断路器的设计
233.基于单片机的多功能智能小车设计
234.对漏电保护器安全性能的剖析
235.解析民用建筑的应急照明
236.电力拖动控制系统设计
237.低频功率放大器设计
238.银行自动报警系统

⑷ 学了51单片机2个月了,自己独立做了个电子闹钟.不过觉得不是很自信,觉得没有掌握透51.我是不是该

可以在原有闹钟的基础上继续增加功能,比如原来用的数码管现在可以换成1602或者12864甚至TFT彩屏,加入时钟芯片如ds1302,扩展闹铃个数到6个甚至更多,可以掉电保存闹钟,再然后可以加入语音芯片语音报时报温湿度,响音乐等等,像按键可以做成电容式触摸按键。等你这些可以全部做到51就差不多完全掌握了。

⑸ 关于51单片机中DHT11温湿度传感器器问题

是不是你的delay函数有问题?内部软件延时跟晶振以及单片机工作速度有关,建议用keil模拟计算一下使用的单片机的实际延时,可能是延时时间不够,导致对应的时序出现问题。

阅读全文

与51单片机温湿度检测相关的资料

热点内容
压缩比不一样燃烧室不一样 浏览:101
androidbutton左对齐 浏览:172
怎么找到学校的服务器 浏览:368
android状态栏高度是多少 浏览:987
linuxcliphp 浏览:515
萝卜源码如何关闭用户注册验证 浏览:756
苹果手机头条app怎么没有tv 浏览:563
电脑qq文件夹怎么发不出去 浏览:613
解压小游戏测试钻石剑的硬度 浏览:962
java结束函数 浏览:622
打开远程桌面的命令 浏览:836
树莓派如何搭建mqtt服务器 浏览:587
怎么加密w8文件 浏览:609
linuxprogram 浏览:708
php接口编程思想 浏览:92
如何下载电话软件app 浏览:906
java命令行解析 浏览:572
云服务器白嫖 浏览:917
程序员小清新 浏览:989
编译器地址8字节对齐 浏览:464