资源简介

本设计采用ds18b20和dht11采集温湿度并且串口传输显示仿真,串口波特率9600,采用虚拟串口显示。

资源截图

代码片段和文件信息

#include 
#include
#include

/**********************************8/
/**********LCD1602接口程序**********/

#define DD P2
sbit Rs=P3^0;
sbit Rw=P3^1;
sbit E=P3^2;
sbit busy_p=ACC^7;
/********************************/
void delay_1ms(unsigned char i)   //最小延时1ms
{ unsigned char j;
while(i--)
for(j=0;j<125; j++);
}
void delay_10ns(unsigned char i) //最小延时10ns
{ unsigned char j;
while(i--)
for(j=0;j<10; j++);
}

void write_com(unsigned char combit p)   //写指令
{if(p)

delay_10ns(5);
E=0;
Rs=0;
Rw=0; 
DD=com;
delay_10ns(50); //>40ns
E=1; 
delay_1ms(2); //>150ns
E=0;
delay_10ns(4); //>25+10ns 
}
void write_date(unsigned char DATA)   //写数据


delay_10ns(50);
E=0;
Rs=1;
Rw=0; 
DD=DATA; 
delay_10ns(50);
E=1;

delay_10ns(50);
E=0;
delay_10ns(4);
}
void addr_x_y(unsigned char xbit y)   //写坐标,定位置


{ unsigned char temp=0x80;
if(y)
   {temp|=0x40;}
   temp|=x;
write_com(temp0);
}
void desplay_char(unsigned char xbit yunsigned char p) 

//在指定位置显示一个字符。
{ addr_x_y(xy);
write_date(p);
}
void init(void)
{delay_1ms(15);
write_com(0x380); 
delay_1ms(5);
write_com(0x380); 
delay_1ms(5); 
write_com(0x380); 
delay_1ms(5);
write_com(0x381); 
write_com(0x081); 
write_com(0x011); 
write_com(0x061); 
write_com(0x0c1); 
}
void xs_int(unsigned int shujubit t)   //显示一个数字
{unsigned char huancun[6]={0};
unsigned char biaozhi=0i;
if   (shuju < 10) biaozhi = 1;
else if(shuju < 100) biaozhi = 2;
else if(shuju < 1000) biaozhi = 3;
else if(shuju < 10000) biaozhi = 4;
else if(shuju < 65535) biaozhi = 5;
switch(biaozhi)
   {case 5:huancun[5] = shuju/10000; 
    case 4:huancun[3] = shuju%10000/1000;
    case 3:huancun[2] = shuju%1000/100;
    case 2:huancun[1] = shuju%100/10;
    case 1:huancun[0] = shuju%10; 
break;
    default:break;
}
for(i=6;i>1;i--)
   {if(i==5)desplay_char(101‘.‘);
        else desplay_char(15-it0x30+huancun[i-1]); } 
desplay_char(15t‘V‘); 
}


/************************************************************/
/**********ADC0832接口程序************************************/


sbit ADC_CS =P3^4;

sbit ADC_CLK=P3^5;

sbit ADC_DO =P3^6;

sbit ADC_DI =P3^7;

/*******************************************************************/

 

void Delay(unsigned char j)



 unsigned char i; 

 for(i=0;i
}

unsigned char ADC0832(void) //把模拟电压值转换成8位二进制数并返回



 unsigned char idata_c;

 data_c=0;

 ADC_CS=0;

 ADC_DO=0;//片选,DO为高阻态

 for(i=0;i<10;i++)

    {;}

 ADC_CLK=0;

 Delay(2);

 ADC_DI=1; 

 ADC_CLK=1; 

 Delay(2); //第一个脉冲,起始位 

 ADC_CLK=0; 

 Delay(2); 

 ADC_DI=1; 

 ADC_CLK=1;

 Delay(2); //第二个脉冲,DI=1表示双通道单极性输入

 ADC_CLK=0;

 Delay(2);

 ADC_DI=1; 

 ADC_CLK=1;

 Delay(2); //第三个脉冲,DI=1表示选择通道1(CH2)

 ADC_DI=0; 

 ADC_DO=1;//DI转为高阻态,DO脱离高阻态为输出数据作准备

 ADC_CLK=1;

 Delay(2);

 ADC_CLK=0; 

 Delay(2);//经实验,这里加一个脉冲AD便能正确读出数据,

    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-05-11 23:04  串口温湿度计_51\
     文件     1097728  2017-05-07 13:31  串口温湿度计_51\2015年单片机课程设计报告模板.doc
     文件      240786  2017-05-07 14:55  串口温湿度计_51\4——26.docx
     文件      114688  2017-05-07 12:34  串口温湿度计_51\51单片机寄存器功能一览表(最全).doc
     文件        3638  2010-06-16 23:03  串口温湿度计_51\ADC0832.c
     文件        1242  2017-05-11 19:55  串口温湿度计_51\ADC0832.h
     文件        7891  2017-05-11 19:53  串口温湿度计_51\ADC0832.LST
     文件       11561  2017-05-11 19:53  串口温湿度计_51\ADC0832.OBJ
     文件          46  2017-05-11 19:53  串口温湿度计_51\ADC0832.__i
     文件        7020  2012-04-27 17:25  串口温湿度计_51\DHT
     文件         466  2017-05-11 19:15  串口温湿度计_51\DHT11.h
     文件       40956  2017-05-11 21:41  串口温湿度计_51\DHT11_4
     文件           0  2017-04-30 15:49  串口温湿度计_51\DHT11_4.build_log.htm
     文件        3461  2017-05-11 21:13  串口温湿度计_51\DHT11_4.c
     文件       16635  2017-05-11 21:41  串口温湿度计_51\DHT11_4.hex
     文件         124  2017-05-11 21:41  串口温湿度计_51\DHT11_4.lnp
     文件        6989  2017-05-11 21:13  串口温湿度计_51\DHT11_4.LST
     文件       38695  2017-05-11 21:41  串口温湿度计_51\DHT11_4.M51
     文件        5913  2017-05-11 21:13  串口温湿度计_51\DHT11_4.OBJ
     文件       87243  2017-05-11 21:41  串口温湿度计_51\DHT11_4.plg
     文件       73903  2017-04-30 00:23  串口温湿度计_51\DHT11_4.uvgui.Administrator
     文件       74294  2017-05-11 23:04  串口温湿度计_51\DHT11_4.uvgui.lifu
     文件       73627  2017-05-10 12:56  串口温湿度计_51\DHT11_4.uvgui.tuhao
     文件       73902  2017-04-29 22:59  串口温湿度计_51\DHT11_4.uvgui_Administrator.bak
     文件       73029  2017-05-11 18:04  串口温湿度计_51\DHT11_4.uvgui_lifu.bak
     文件       73249  2017-05-07 22:21  串口温湿度计_51\DHT11_4.uvgui_tuhao.bak
     文件        7693  2017-05-11 23:04  串口温湿度计_51\DHT11_4.uvopt
     文件       14074  2017-05-11 23:04  串口温湿度计_51\DHT11_4.uvproj
     文件        6715  2017-04-30 00:23  串口温湿度计_51\DHT11_4_uvopt.bak
     文件       13748  2017-04-29 07:24  串口温湿度计_51\DHT11_4_uvproj.bak
     文件     1989188  2017-05-10 12:47  串口温湿度计_51\DHT11的读写原理--一线制通信协议解析_3783750147_新浪博客.png
............此处省略20个文件信息

评论

共有 条评论