当前位置:网站首页 > API设计与开发 > 正文

51单片机设计实例(51单片机设计100例)



功能描述:

a:实现51单片机测量温湿度

b:实现LCD显示时间和温湿度

c:实现温湿度阈值报警,且阈值可调

一、Proteus仿真设计

元件清单:

仿真图:

仿真运行:

程序框图设计

程序设计

while(1)

{

if((wendu>wen_lim)||(shidu>shi_lim))

beep=0;

else

beep=1;

if(!set)//设置

{

flag=!flag;

while(!set);

}

if(flag)

{

if(!wenjia)//调温

{

if(wen_lim<99)

wen_lim++;

while(!wenjia);

}

if(!wenjian)

{

if(wen_lim>0)

wen_lim--;

while(!wenjian);

}

if(!shijia)//调湿度

{

if(shi_lim<99)

shi_lim++;

while(!shijia);

}

if(!shijian)

{

if(shi_lim>0)

shi_lim--;

while(!shijian);

}

}

}

}

void time0() interrupt 1//定时器中断

{

if(dingshi<10)//定时0.5s

{

dingshi++;

}

else

{

dingshi=0;

Ds1302ReadTime(); //读取时间

dht11_recive();   //测量温湿度

wendu=dht11_dat[2];

shidu=dht11_dat[0];

a[0]=(TIME[2]>>4)+0x30;

    a[1]=(TIME[2]&0x0f)+0x30;

a[3]=(TIME[1]>>4)+0x30;

    a[4]=(TIME[1]&0x0f)+0x30;

a[6]=(TIME[0]>>4)+0x30;

    a[7]=(TIME[0]&0x0f)+0x30;

b[4]=wendu/10+0x30;

b[5]=wendu%10+0x30;

b[13]=shidu/10+0x30;

b[14]=shidu%10+0x30;

c[8]=wen_lim/10+0x30;

c[9]=wen_lim%10+0x30;

d[8]=shi_lim/10+0x30;

d[9]=shi_lim%10+0x30;

if(flag==0)//显示

{

write_string(1,0,a);

write_string(2,0,b);

}

else

{

write_string(1,0,c);

write_string(2,0,d);

}

}

TH0=0x3c;//定时50ms

TL0=0xb0;

}

三、项目获取

工程文件

工程渠道

链接:https://pan.baidu.com/s/1ZKdBTWVrqzbE3NWa46uaiA?pwd=yyds 

提取码:yyds 

到此这篇51单片机设计实例(51单片机设计100例)的文章就 介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在 编程的领域有一番成就!

版权声明


相关文章:

  • 单片机设计制作(单片机设计制作方法)2025-03-14 18:36:05
  • 单片机设计与开发(单片机设计与开发主要做什么)2025-03-14 18:36:05
  • 单片机设计原理(单片机设计原理图)2025-03-14 18:36:05
  • 51单片机设计交通信号灯(51单片机交通灯程序设计)2025-03-14 18:36:05
  • 单片机设计与开发是什么(单片机开发是( )设计)2025-03-14 18:36:05
  • 行为驱动设计(行为驱动设计理念)2025-03-14 18:36:05
  • ddd领域驱动设计视频教程(ddd领域驱动设计实战)2025-03-14 18:36:05
  • 行为驱动设计(行为驱动设计包括)2025-03-14 18:36:05
  • 字体图标设计图片(字体图标的用法)2025-03-14 18:36:05
  • esp8266 天气时钟(esp8266天气时钟的毕业设计)2025-03-14 18:36:05
  • 全屏图片