基于单片机的温湿度串口监控系统设计(#0429)

时间:2022-11-01 16:03:29


温湿度是我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉大概,传统的指针式的温度计只能指示温度,但是精度低,显示不够直观,本系统可以数字化显示温湿度,并可以在电脑端查看。

功能描述

1、采用51单片机作为主控芯片;

2、采用LCD1602作为显示模块;

3、采用DHT11传感器检测温湿度信息;

4、采用串口将温湿度信息发送至电脑端;

5、当温湿度超过设定的阈值时,报警指示灯闪烁,蜂鸣器报警;

6、可以通过按键设定温湿度报警阈值;

基于单片机的温湿度串口监控系统设计(#0429)

基于单片机的温湿度串口监控系统设计(#0429)

按键说明

1、设置键:进入设置模式;

2、加值键:对选中参数进行+1;

3、减值键:对选中参数进行-1;

电路设计

采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

基于单片机的温湿度串口监控系统设计(#0429)

仿真设计

采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

基于单片机的温湿度串口监控系统设计(#0429)

程序设计

/*********************************************************/
// 10us级延时程序
/*********************************************************/
void Delay10us()
{
_nop_(); // 执行一条指令,延时1微秒
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
} /*********************************************************/
// 读取DHT11单总线上的一个字节
/*********************************************************/
uchar DhtReadByte(void)
{
bit bit_i;
uchar j;
uchar dat=0; for(j=0;j<8;j++)
{
while(!DHT11_P); // 等待低电平结束
Delay10us(); // 延时
Delay10us();
Delay10us();
if(DHT11_P==1) // 判断数据线是高电平还是低电平
{
bit_i=1;
while(DHT11_P);
}
else
{
bit_i=0;
}
dat<<=1; // 将该位移位保存到dat变量中
dat|=bit_i;
}
return(dat);
}

源文件获取

关注公众号【电子开发圈】,首页回复“温湿度”获取;