• 大小: 4.55MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-11
  • 语言: 其他
  • 标签: c语言  空气净化  

资源简介

基于单片机的室内空气净化系统。#include #include "XPT2046.h" typedef unsigned char uint8; typedef unsigned int uint16; sbit rs=P2^6; // 数据命令选择 sbit rw=P2^5; //读写选择 sbit e=P2^7; //使能 sbit k1=P3^3; //模式 sbit k2=P2^1; //加 sbit k3=P2^2; //减 sbit moto=P3^6; sbit beep=P3^7; uint8 mode=0; char temph=20; uint8 temp,flag; uint8 code num[10]="0123456789"; uint8 code str1[]="GAS:"; uint8 code str2[]="SET:"; void delay(uint16 i) { while(i--); } void wrc(uint8 c) //写命令 { delay(1000); rs=0; rw=0; e=0; P0=c; e=1; delay(10); e=0; } void wrd(uint8 dat) //写数据 { delay(1000); rs=1; rw=0; e=0; P0=dat; e=1; delay(10); e=0; rs=0; } void lcd_init() // LCD1602初始化 { delay(1000); wrc(0x38); wrc(0x38); //功能设置命令,选择8位总线,双行显示 5*7点阵字符 wrc(0x38); wrc(0x06); //光标和显示模式设置 光标右移 整屏不移动 wrc(0x0c); //显示开关控制 开显示 无光标 光标不闪烁 wrc(0x01); //清零指令 固定的 } void key_pros() //按键处理函数 { if(k1==0) { delay(1000); if(k1==0) { mode++; flag=0; if(mode==2) { mode=0; flag=1; } } while(!k1); } if(mode==1) //对空气检测报警值设定 { if(k2==0) //加 { delay(1000); if(k2==0) { temph+=1; if(temph>=100)temph=100; } while(!k2); } if(k3==0) //减 { delay(1000); if(k3==0) { temph-=1; if(temph<=0)temph=0; } while(!k3); } } } void lcd_init_display() //LCD初始化显示 { uint8 i; for(i=0;i<4;i++) { wrc(0x80+i); wrd(str1[i]); } for(i=0;i<4;i++) { wrc(0xc0+i); wrd(str2[i]); } } void data_pros() //数据处理函数 { uint8 tempbuf[3],temp_buf[3],i; tempbuf[0]=temp/100+0x30; tempbuf[1]=temp0/10+0x30; tempbuf[2]=temp0+0x30; temp_buf[0]=temph/100+0x30; temp_buf[1]=temph0/10+0x30; temp_buf[2]=temph0+0x30; for(i=0;i<3;i++) { wrc(0x84+i); wrd(tempbuf[i]); } for(i=0;i=temph&&flag;==1) { moto=0; sound(); }

资源截图

代码片段和文件信息

#include
#include “XPT2046.h“

typedef unsigned char uint8;
typedef unsigned int uint16;
sbit rs=P2^6;  // 数据命令选择
sbit rw=P2^5;  //读写选择
sbit e=P2^7;   //使能

sbit k1=P3^3; //模式
sbit k2=P2^1; //加
sbit k3=P2^2; //减

sbit moto=P3^6;
sbit beep=P3^7;


uint8 mode=0;
char temph=20;
uint8 tempflag;

uint8 code num[10]=“0123456789“;

uint8 code str1[]=“GAS:“;  
uint8 code str2[]=“SET:“; 



void delay(uint16 i)
{
while(i--);
}

void wrc(uint8 c)  //写命令
{
delay(1000);
rs=0;
rw=0;
e=0;
P0=c;
e=1;
delay(10);
e=0;
}
void wrd(uint8 dat)   //写数据
{
delay(1000);
rs=1;
rw=0;
e=0;
P0=dat;
e=1;
delay(10);
e=0;
rs=0;
}
void lcd_init()    // LCD1602初始化
{
delay(1000);
wrc(0x38);
wrc(0x38);  //功能设置命令,选择8位总线,双行显示  5*7点阵字符
wrc(0x38);
wrc(0x06); //光标和显示模式设置  光标右移  整屏不移动
wrc(0x0c); //显示开关控制  开显示  无光标 光标不闪烁
wrc(0x01); //清零指令  固定的
}

void key_pros()  //按键处理函数
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
mode++;
flag=0;
if(mode==2)
{
mode=0;
flag=1;
}

}
while(!k1);
}
if(mode==1)   //对空气检测报警值设定
{
if(k2==0)   //加
{
delay(1000);
if(k2==0)
{
temph+=1;
if(temph>=100)temph=100;
}
while(!k2);
}
if(k3==0)    //减
{
delay(1000);
if(k3==0)
{
temph-=1;
if(temph<=0)temph=0;
}
while(!k3);
}
}

}

void lcd_init_display()    //LCD初始化显示
{
uint8 i;
for(i=0;i<4;i++)
{
wrc(0x80+i);
wrd(str1[i]);
}

for(i=0;i<4;i++)
{
wrc(0xc0+i);
wrd(str2[i]);
}
}

void data_pros() //数据处理函数
{
uint8 tempbuf[3]temp_buf[3]i;
tempbuf[0]=temp/100+0x30;
tempbuf[1]=temp%100/10+0x30;
tempbuf[2]=temp%100%10+0x30;

temp_buf[0]=temph/100+0x30;
temp_buf[1]=temph%100/10+0x30;
temp_buf[2]=temph%100%10+0x30;

for(i=0;i<3;i++)
{
wrc(0x84+i);
wrd(tempbuf[i]);
}

for(i=0;i<3;i++)
{
wrc(0xc4+i);
wrd(temp_buf[i]);
}
}

void sound()
{
uint8 i=100;
while(i--)
{
beep=~beep;
delay(100);
}
}
void baojinpros() //报警处理
{
if(temp>=temph&&flag==1)
{
moto=0;
sound();
}
else
{
moto=1;
beep=1;
}
}

void main()
{
moto=1;
beep=1;
lcd_init();
lcd_init_display();    //LCD初始化显示
while(1)
{
key_pros();
data_pros();
baojinpros();
temp = Read_AD_Data(0x94)/40;
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-22 12:15  基于单片机的室内空气净化系统\
     文件       54788  2016-10-11 09:00  基于单片机的室内空气净化系统\原理图截图.png
     文件         253  2016-10-11 09:00  基于单片机的室内空气净化系统\必看.txt
     目录           0  2018-11-22 12:15  基于单片机的室内空气净化系统\程序设计\
     文件       11831  2016-10-11 09:00  基于单片机的室内空气净化系统\程序设计\1
     文件        2533  2016-10-11 09:00  基于单片机的室内空气净化系统\程序设计\1.c
     文件        2627  2016-10-11 09:00  基于单片机的室内空气净化系统\程序设计\1.hex
     文件         230  2018-06-08 22:24  基于单片机的室内空气净化系统\程序设计\1.plg
     文件       56854  2018-06-08 22:24  基于单片机的室内空气净化系统\程序设计\1.uvopt
     文件       13384  2018-06-08 22:24  基于单片机的室内空气净化系统\程序设计\1.uvproj
     文件        7062  2016-10-11 09:00  基于单片机的室内空气净化系统\程序设计\1_uvopt.bak
     文件       13414  2016-10-11 09:00  基于单片机的室内空气净化系统\程序设计\1_uvproj.bak
     文件        1745  2016-10-11 09:00  基于单片机的室内空气净化系统\程序设计\XPT2046.c
     文件         542  2016-10-11 09:00  基于单片机的室内空气净化系统\程序设计\XPT2046.h
     目录           0  2018-11-22 12:15  基于单片机的室内空气净化系统\芯片资料和清单\
     文件      352446  2016-10-11 09:00  基于单片机的室内空气净化系统\芯片资料和清单\LCD1602液晶完整中文资料.pdf
     文件     4849748  2016-10-11 09:00  基于单片机的室内空气净化系统\芯片资料和清单\STC90C51 52RC-RD _GUIDE-CHINESE.pdf
     文件     1326108  2016-10-11 09:00  基于单片机的室内空气净化系统\芯片资料和清单\xpt2046中文.pdf
     文件       10336  2016-10-11 09:00  基于单片机的室内空气净化系统\芯片资料和清单\元件清单

评论

共有 条评论