河南科技大学毕业论文
void DelayUs(unsigned char us) { }
unsigned char uscnt;
//--延时函数
uscnt=us>>1; /*12MHz频率*/ while(--uscnt);
/*******1602显示*******************************************/ /**********写命令**********/ void lcd_write_com(uchar c) {
delay_1ms(5);//操作前短暂延时,保证信号稳定 E=0; RS=0; RW=0; _nop_(); E=1; Data=c; E=0; }
/**********写数据*************/ void lcd_write_dat(uchar c) {
delay_1ms(5); //操作前短暂延时,保证信号稳定 E=0; RS=1; RW=0; _nop_(); E=1; Data=c; E=0; RS=0;
42
河南科技大学毕业论文
}
/**********LCD初始化********/ void lcd_init() {
delay_1ms(15);
lcd_write_com(0x38); //display mode lcd_write_com(0x38); //display mode lcd_write_com(0x38); //display mode lcd_write_com(0x06); //显示光标移动位置 lcd_write_com(0x0c); //显示开及光标设置 lcd_write_com(0x01); //显示清屏 }
/*********显示单个字符**********/ void ShowChar(uchar pos,uchar c) {
unsigned char p; if (pos>=0x10)
p=pos+0xb0; //是第二行则命令代码高4位为0xc else
p=pos+0x80; //是第二行则命令代码高4位为0x8 lcd_write_com(p);//写命令 lcd_write_dat(c); //写数据 }
/*********显示字符串**********/ void ShowString (uchar line,char *ptr) {
unsigned char l,*p; p=ptr; l=line<<4; while((*p)!='\\0') {
43
河南科技大学毕业论文
ShowChar(l++,*(p)); } }
/*********温度显示函数***********/ void WENdisp(void) {
ShowString(0,WEN1); _nop_();
ShowString(1,WEN2);
p++;
}
/*********湿度显示函数***********/ void SHIdisp(void) {
ShowString(0,SHI1); _nop_();
ShowString(1,SHI2); }
/*********VOC调用的显示函数***********/ void VOCdisp(void) {
ShowString(0,VOC1); _nop_();
ShowString(1,VOC2); }
/***********报警用函数************/
void Beep(unsigned char i,j)//i用于确定亮灯方式,j用于确定蜂鸣器是否报警 {
unsigned char m; led1=led2=1;
for(m=0; m<250; m++)
44
河南科技大学毕业论文
{
switch(i) {
case 0:break;
case 1:led1=led2=0;break;//低电平点亮 case 2:led1=0;break; case 3:led2=0;break;
} beep = j; delay_1ms(2);
led1=led2=1;
beep = 0; delay_1ms(2); } }
void voc_warning() {
unsigned char voc_t; unsigned char voc_h;
voc_t=('0'+VOC2[6])*10+('0'+VOC2[8]); voc_h=('0'+VOC1[9])*10+('0'+VOC1[11]);
if(voc_t>voc_h)
{
Beep(1,1);
} else Beep(0,0); }
void wen_warning() {
unsigned char wen_t; unsigned char wen_h;
45
河南科技大学毕业论文
unsigned char wen_l;
wen_t=('0'+WEN2[6])*10+('0'+WEN2[7]); wen_l=('0'+WEN1[4])*10+('0'+WEN1[5]); wen_h=('0'+WEN1[10])*10+('0'+WEN1[11]);
if(wen_t>wen_h||wen_t { Beep(2,1); } } void shi_warning() { unsigned char shi_t; unsigned char shi_h; unsigned char shi_l; shi_t=('0'+SHI2[6])*10+('0'+SHI2[7]); shi_l=('0'+SHI1[4])*10+('0'+SHI1[5]); shi_h=('0'+SHI1[10])*10+('0'+SHI1[11]); if(shi_t>shi_h||shi_t { Beep(3,1); } else Beep(0,0); else Beep(0,0); } /*******************按键***************************/ /*************进入设定功能***************/ unsigned char key_set(void) { if(key_S==0) { delay_1ms(10); 46 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机空气质量检测仪设计(毕业设计)在线全文阅读。
相关推荐: