仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
1591089832(1).png (87.87 KB, 下載次數(shù): 69)
下載附件
仿真圖
2020-6-2 17:25 上傳
單片機源程序如下:
- //*******************************
- //*********主函數(shù)*****************
- void main(void)
- {
- uchar i,j;
- unsigned int temp,humi;
- value humi_val,temp_val; //定義兩個共同體,一個用于濕度,一個用于溫度
- unsigned char error; //用于檢驗是否出現(xiàn)錯誤
- unsigned char checksum; //CRC
-
- s_connectionreset(); //啟動連接復位
- LCD_init();
-
- while(1)
- {
-
- error=0; //初始化error=0,即沒有錯誤
- error+=s_measure((unsigned char*)&temp_val.i,&checksum,TEMP); //溫度測量
- error+=s_measure((unsigned char*)&humi_val.i,&checksum,HUMI); //濕度測量
- if(error!=0) s_connectionreset(); ////如果發(fā)生錯誤,系統(tǒng)復位
- else
- {
- humi_val.f=(float)humi_val.i; //轉換為浮點數(shù)
- temp_val.f=(float)temp_val.i; //轉換為浮點數(shù)
- calc_sth10(&humi_val.f,&temp_val.f); //修正相對濕度及溫度
- temp=temp_val.f*10;
- //temp是溫度值,temp,小數(shù)點位,個位求出來,一個一個的顯示
-
- humi=humi_val.f*10-35;
- //humi是濕度值,小數(shù)點位,個位求出來,一個一個的顯示
-
- //添加程序
- //第一行顯示濕度
- LCD_disp_char(0x00,1,1);
- for(i=0;i<1;i++)
- {
- DisplayListChar(0x01,0,&table1[i],6);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)//十位
- {
- i=humi/100;
- DisplayListChar(0x07,0,&digit1[i],1);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)//個位
- {
- i=humi%100/10;
- DisplayListChar(0x08,0,&digit1[i],1);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)//小數(shù)點
- {
- DisplayListChar(0x09,0,&dian[i],1);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)
- {
- i=humi%10;
- DisplayListChar(0x0A,0,&digit1[i],1);
- delay_n40us(10);
- }
- //在LCD第2行顯示溫度
- LCD_disp_char(0x40,0,1);
- for(i=0;i<1;i++)//wendu:
- {
- DisplayListChar(0x41,1,&table[i],6);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)//十位
- {
- i=temp/100;
- DisplayListChar(0x47,1,&digit[i],1);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)//個位
- {
- i=temp%100/10;
- DisplayListChar(0x48,1,&digit[i],1);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)//小數(shù)點
- {
- DisplayListChar(0x49,1,&dian[i],1);
- delay_n40us(10);
- }
- for(i=0;i<1;i++)
- {
- i=temp%10;
- DisplayListChar(0x4A,1,&digit[i],1);
- delay_n40us(10);
- }
-
- }
- }
- }
復制代碼
全部資料51hei下載地址:
LCD1602顯示溫濕度-程序.zip
(45.87 KB, 下載次數(shù): 56)
2020-6-2 17:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
LCD1602顯示溫濕度.zip
(29.87 KB, 下載次數(shù): 34)
2020-6-2 17:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|