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

当前位置:首页 > 基于单片机的粮仓温湿度控制系统设计 - 图文

基于单片机的粮仓温湿度控制系统设计 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 16:26:11

陕西理工学院毕业设计

附录D 实物图

第 29 页 共 39 页

陕西理工学院毕业设计

附录E 元器件清单

元器件名称 型号 数量 功能

蜂鸣器 Bell 1 报警 电容 10uF 1 电容 20uF 2 发光二极管 8 报警提示 继电器 Relay-SPDT 8 调控段外部用电器开关 显示屏 OLED12864 1 显示模块实时显示 电源接口 Header 2 2

PNP三极管 9012 9 放大电流 电阻 2K 17 上拉电阻 电阻 10K 5 保护电路 按键 SW-PB 5 单片机 STC89C52 1 温湿度传感器 DHT11 4

晶振 12M 1 起振单片机

第 30 页 共 39 页

陕西理工学院毕业设计

附录F 粮仓温湿度控制系统C语言程序

#include \#include \#include \#include \//

#define uchar unsigned char #define uint unsigned int

sbit dht_dat=P1^0; //用哪个 I/O 口自选,注意不要用 P3 口 sbit dht1_dat=P1^1; sbit dht2_dat=P1^2; sbit dht3_dat=P1^3; sbit jdq1= P2^0; sbit jdq2= P2^1; sbit jdq3= P2^2; sbit jdq4= P2^3; sbit jdq5= P2^4; sbit jdq6= P2^5; sbit jdq7= P2^6; sbit jdq8= P2^7; sbit beep= P1^4;

sbit key1= P3^4; sbit key2= P3^5; sbit key3= P3^7; sbit key4= P3^6;

uchar Tmax=30,Hmax=65; uchar setflag=0,rhflag=0;

uchar dht_t1[4]={0,0,0,0},dht_t2[4]={0,0,0,0}; //依次为温度整数部分和温度小数部分 uchar dht_d1[4]={0,0,0,0},dht_d2[4]={0,0,0,0}; //依次为湿度整数部分和湿度小数部分 uchar dht_chk[4]={0,0,0,0}; //和校验,可选择是否使用,具体参照数据手册 uchar dht_num[4]={0,0,0,0}; //用于 while 循环中计数,超时则跳出循环 #ifndef __INF_NEC__ #define __INF_NEC__

extern void dht_delay_10us();

extern void dht_delay_10ms(uchar t); extern uchar dht_readat(); extern void dht_getdat(); extern void dht_init(); #endif

void dht_delay_10us() //自己调,一定要尽量精确到 10us,很重要 {

uchar i=0;

for(i=0;i<1;i++); }

第 31 页 共 39 页

陕西理工学院毕业设计

void dht_delay_10ms(uchar t) //大概 10ms 就行,粗略延时 {

uchar i=0,j=0,k=0; for(i=0;i

for(j=0;j<40;j++)for(k=0;k<75;k++); } }

void dht_init() //DHT11 的初始化函数,别忘了写程序时先加上之 {

dht_delay_10ms(100); //DHT11 上电前准备时间,大概 1s dht_dat=1; //总线准备 }

/***********************************************第一DHT11*****************************/

/***********************************************第一DHT11*****************************/

/***********************************************第一DHT11*****************************/

/***********************************************第一DHT11*****************************/

uchar dht_readat() //接收一个 8 位数据,先高位后低位 {

uchar i=0,dat=0; for(i=0;i<8;i++) {

dht_num[0]=2;

while((dht_dat==0)&&(dht_num[0]++));

dht_delay_10us();dht_delay_10us();dht_delay_10us();dht_delay_10us(); dat=dat<<1; if(dht_dat==1) {

dht_num[0]=2; dat=dat|0x01;

while((dht_dat==1)&&(dht_num[0]++)); } }

return dat; }

void dht_getdat() // 给 1 DHT11 一个开始信号,然后读取一次数据,共五个 8 位字节{

uchar i=0; dht_dat=0;

dht_delay_10ms(4);

dht_dat=1; //单片机给起始脉冲信号

第 32 页 共 39 页

个个个个

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

陕西理工学院毕业设计 附录D 实物图 第 29 页 共 39 页 陕西理工学院毕业设计 附录E 元器件清单 元器件名称 型号 数量 功能 蜂鸣器 Bell

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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