80-基于51单片机自动灭蚊灯Proteus仿真程序、原理图、元件清单

功能介绍:本设计采用51单片机作为系统主控芯片,采用DHT11传感器采集温湿度,杀虫灯系统的工作状态由温湿度传感器控制,在环境温度低和阴雨天,系统停止工作,雨停后,温度升高,系统将恢复工作。LCD1602显示温湿度、天气状态、灭蚊灯工作状态,程序采用C语言编写,使用keil5和Proteus仿真,程序有中文注释,新手容易看懂,文末有资料分享下载链接:

下面是仿真演示视频和相关仿真图片

80-基于51单片机自动灭蚊灯Proteus仿真(程序+仿真+原理图+元件清单全套资料)

程序打开办法:特别注意:下载资料包以后一定要先解压!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。 

下面是程序部分展示(程序有中文注释,新手容易看懂)

程序部分展示:sbit Buzzer_P  = P2^1;    // 蜂鸣器sbit DHT11_P   = P2^0;     // 温湿度传感器DHT11数据接入sbit LcdRs_P   = P1^0;    // 1602液晶的RS管脚       sbit LcdRw_P   = P1^1;    // 1602液晶的RW管脚 sbit LcdEn_P   = P1^2;    // 1602液晶的EN管脚sbit qing   = P3^5;    // 晴天sbit yu   = P3^6;    // 雨天sbit LED  = P3^7;    // 杀虫灯
uchar temp;          // 保存温度uchar humi;          // 保存湿度uchar tianqi=1;     //保存天气状态

/*********************************************************/// 毫秒级的延时函数,time是要延时的毫秒数/*********************************************************/void DelayMs(uint time){  uint i,j;  for(i=0;i<time;i++)    for(j=0;j<112;j++);}

/*********************************************************/// 1602液晶写命令函数,cmd就是要写入的命令/*********************************************************/void LcdWriteCmd(uchar cmd)  LcdRs_P = 0;  LcdRw_P = 0;  LcdEn_P = 0;  P0=cmd;  DelayMs(2);  LcdEn_P = 1;      DelayMs(2);  LcdEn_P = 0;  }

/*********************************************************/// 1602液晶写数据函数,dat就是要写入的数据/*********************************************************/void LcdWriteData(uchar dat){  LcdRs_P = 1;   LcdRw_P = 0;  LcdEn_P = 0;  P0=dat;  DelayMs(2);  LcdEn_P = 1;      DelayMs(2);  LcdEn_P = 0;}

/*********************************************************/// 1602液晶初始化函数/*********************************************************/void LcdInit(){  LcdWriteCmd(0x38);        // 16*2显示,5*7点阵,8位数据口  LcdWriteCmd(0x0C);        // 开显示,不显示光标  LcdWriteCmd(0x06);        // 地址加1,当写入数据后光标右移  LcdWriteCmd(0x01);        // 清屏}

/*********************************************************/// 液晶光标定位函数/*********************************************************/void LcdGotoXY(uchar line,uchar column){  // 第一行  if(line==0)            LcdWriteCmd(0x80+column);   // 第二行  if(line==1)            LcdWriteCmd(0x80+0x40+column); }

程序打开方法:采用keil5打开,公众号有软件安装包

原理图采用【AD】altium designer打开,公众号有安装包

下面是资料包里面包含的相关文件展示

 百度云盘资料下载链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值