基于单片机人体自感应风扇仿真设计
1462下载地址 https://docs.qq.com/doc/DWEpnR2pOWU91b3p4?pub=1&dver=2.1.0
利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机AT89C52进行处理和热释电红外传感器,在液晶屏上显示当前环境温度值以及是否有人。检测到的当前环境温度可精确到小数点后两位位。同时通过测定温度和PWM脉宽调制方式来改变直流风扇电机的转速。
#include <DS18B20.h> #include <lcd.h> #define uchar unsigned char #define uint unsigned int //#define High_Time 10 //高电平时间,High_Time/ALL_Time=脉宽,单位为ms #define ALL_Time 20 //周期时间,单位为ms sbit PWM_OUT=P2^0; sbit Pin=P1^2;//是否有人 uint tt=0; uint High_Time=0;//高电平时间 void Led(unsigned int date) { if(fg==1)//正 { write_sfm_temp(date);//显示温度整数部分 write_sfm_temp1(1,xiaoshu1);//显示温度第一位小数 write_sfm_temp1(2,xiaoshu2);//显示温度第二位小数 } if(fg==0) //温度为负时显示的数据 { write_sfm_temp(date);//显示温度整数部分 write_sfm_temp1(1,xiaoshu1);//显示温度第一位小数 write_sfm_temp1(2,xiaoshu2);//显示温度第二位小数 } }