云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于51单片机的智能窗户设计

基于51单片机的智能窗户设计

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 19:15:13

附(二):PCB板

24

附(三):程序

#include #include

#define uint unsigned int #define uchar unsigned char sbit BEEP=P3^4; uint tnum=0;

uchar num[10]=\

/*************************************************/ //DHT11温度传感器程序模块

/*************************************************/ sbit TRH=P1^4;//温湿度传感器DHT11数据接入 uint TH_data,TL_data,RH_data,RL_data,CK_data; uint TH_temp,TL_temp,RH_temp,RL_temp,CK_temp; uint com_data,untemp,temp;

uint respond,WEN,SHI; // 温度、湿度、?

/*************************************************/ //5us级延时程序

/*************************************************/ void delay_us() {

_nop_();_nop_();_nop_();_nop_();_nop_(); }

void delay_ms(unsigned x ) {

unsigned char i; while(x--) {

for(i = 0; i<250; i++) {

_nop_(); _nop_(); _nop_(); _nop_(); } } }

/************************************************/ //收发信号检测,数据读取????????

/*************************************************/ char receive() {

uint i;

com_data=0;

for(i=0;i<=7;i++) {

25

respond=2; //?

while((!TRH)&&respond++); //没数据接入就延时 delay_us(); delay_us(); delay_us();

if(TRH) //有数据接入 {

temp=1; respond=2;

while((TRH)&&respond++); } else temp=0;

com_data<<=1;

com_data|=temp; }

return(com_data); }

/********************************************/ //湿度读取子程序

//温度高8位== TL_data //温度低8位== TH_data //湿度高8位== RH_data //湿度低8位== RH_data //校验 8位 == CK_data

//调用的程序有 delay_ms();, Delay_5us();,RECEIVE(); /*******************************************/ void read_TRH() {

//主机拉低18ms TRH=0;

delay_ms(18); TRH=1;

//DATA总线由上拉电阻拉高 主机延时20us delay_us(); delay_us(); delay_us(); delay_us();

//主机设为输入 判断从机响应信号 TRH=1;

//判断DHT11是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!TRH) {

respond=2;

//判断DHT11发出 80us 的低电平响应信号是否结束 while((!TRH)&& respond++);

26

respond=2;

//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while(TRH && respond++); //数据接收状态 RH_temp = receive(); RL_temp = receive(); TH_temp = receive(); TL_temp = receive(); CK_temp = receive(); TRH=1; //数据校验

untemp=(RH_temp+RL_temp+TH_temp+TL_temp); if(untemp==CK_temp) {

RH_data = RH_temp; RL_data = RL_temp; TH_data = TH_temp; TL_data = TL_temp; CK_data = CK_temp; }

WEN=TH_data; SHI=RH_data; } }

/*************************************************/ //LCD12864液晶显示程序模块

/*************************************************/ sbit RS=P2^0; sbit RW=P2^1; sbit E=P2^2;

#define LCD_DATA P0 /*----写命令到 LCD---*/

void LCD_WriteCom(unsigned char command) {

RS=0; RW=0;

// delay_ms(1); E=1;

LCD_DATA=command;

delay_ms(1);//////////////////// 在数据写入的时候加入适当的延时 E=0;

// delay_ms(1); }

/*----写数据到 LCD---*/

void LCD_WriteDat(unsigned char date) {

27

搜索更多关于: 基于51单片机的智能窗户设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

附(二):PCB板 24 附(三):程序 #include #include #define uint unsigned int #define uchar unsigned char sbit BEEP=P3^4; uint tnum=0; uchar num[10]=\/*************************************************/ //DHT11温度传感器程序模块 /*************************************************/ sbit TRH=P1^4;//温湿度传感器DHT11数据接入 uin

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com