教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

基于单片机的智能加湿器设计 - 图文(9)

来源:网络收集 时间:2026-09-14
导读: 基于单片机的智能加湿器设计 附录1 实物图 36 基于单片机的智能加湿器设计 附录2 源程序 /**软件程序**/ #include #include #define uint unsigned int #define uchar unsigned char #define yh 0x80 //LCD第一行的

基于单片机的智能加湿器设计

附录1 实物图

36

基于单片机的智能加湿器设计

附录2 源程序

/**软件程序**/ #include #include #define uint unsigned int #define uchar unsigned char

#define yh 0x80 //LCD第一行的初始位置 #define er 0xc0 //LCD第二行初始位置 sbit DHT=P1^2; //

sbit set_key=P1^4; //“设置”键 K2 sbit add_key=P1^5; //“加”键 K3 sbit cut_key=P1^6; // “减”键 K4 sbit mode_key=P1^7; // K0 sbit key=P1^3; // K1 sbit speak=P3^7; sbit led=P2^0; // led sbit rs=P2^7; sbit en=P2^6; uchar shiZ,shiY,check; uchar temp,a,b;

uchar code tab1[]={\ %\ uchar code tab2[]={\ %\ uchar set_deta=60; uchar set_deta1=40; uchar XX[2]; uchar tate[4]; uchar read_data[5]; uchar unsigned flog4; void delay_10us()

37

基于单片机的智能加湿器设计

{ uchar i; i--;i--;i--; i--;i--;i--; }

void delay_1ms(uint xms) { uint x,y;

for(x=xms;x>0;x--) for(y=124;y>0;y--);

}

void delay_400ms(void) { uchar Temp_A = 5; uint Temp_B; while(Temp_A--) { Temp_B=7269;

while(Temp_B--);

}

}

//****1602LCD写入指令程序****// void write_1602com(uchar com) { rs=0;

P0=com;//送入数据 delay_1ms(1); en=1; delay_1ms(1); en=0;

}

//***1602LCD写入数据程序****// void write_1602dat(uchar dat) { rs=1;

P0=dat;//送入数据

38

基于单片机的智能加湿器设计

}

delay_1ms(1); en=1; delay_1ms(1); en=0;

/***************设置显示位置**************************/ void LCD_set_xy( uchar x, uchar y ) {

unsigned char address; if (y == 1)

address = 0x80 + x; else

address =0xc0+ x; write_1602com(address); }

/****************显示一个字符**********************/ void LCD_dsp_char( uchar x,uchar y,uchar dat) {

LCD_set_xy( x, y ); write_1602dat(dat); }

/***************显示字符串函数***************/ void LCD_dsp_string(uchar X,uchar Y,uchar *s) {

LCD_set_xy( X, Y );

while (*s)

{

write_1602dat(*s); s ++; }

39

基于单片机的智能加湿器设计

}

//***液晶初始化函数****// void lcd_init() { }

/*****************温湿度传感器DHT11 读一个字节函数******************/ uchar read_byte() {

uchar value,i;

for(i=0;i<8;i++) //一个字节有八位 所以用for循环 {

value=value<<1; //从字节高位开始读 需要移位 while(DHT==0); delay_10us(); delay_10us(); delay_10us();

if(DHT) //判断读到是“1”还是“0”

{ value=value|0x01; //如果是“1” value的值就要加一

while(DHT!=0) { DHT=1; }

40

write_1602com(0x38); write_1602com(0x0c); write_1602com(0x06); write_1602com(0x01); write_1602com(er+0); for(a=0;a<7;a++) {

write_1602dat(tab2[a]);

}

write_1602com(yh+0); for(a=0;a<5;a++)

{ write_1602dat(tab1[a]); }

…… 此处隐藏:120字,全部文档内容请下载后查看。喜欢就下载吧 ……
基于单片机的智能加湿器设计 - 图文(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/445814.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)