久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1663|回復: 2
收起左側

單片機dht11 LCD1602顯示濕度值總為0為什么啊?編譯沒有問題,一個警告

[復制鏈接]
ID:1068594 發表于 2023-3-27 19:09 來自觸屏版 | 顯示全部樓層 |閱讀模式
#include <reg52.h>
#define uint unsigned int;
#define uchar unsigned char;
unsigned char rec[5]={'\o'};
unsigned char code array[]={"humi:"};
sbit ledl=pl^1;
sbit dht=Po^4;
sbit EN=P3^4;10
sbit rs=P3^5;
uint num;
void delayms (unsigned int xms) {
unsigned int i j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--); }
void delayus(unsigned char xus)
{
while(xus--);
}
void DHTll Start(void) {
dht=1;
delayus(2);
dht=0;
delayms(20);
dht=1;
delayus (40);
dht=1;
if(dht=-0)
{
while(!dht);
while(dht);}
unsigned char dhTll receive byte() {
unsigned char i;        
60        unsigned char flag=o;
for(i=0;i<8;i++)
while(!dht);
delayus(30);
flag<<=1;
if(dht==1)
flag+=1;
while(dht);
}
return flag; }
void DHTll receive()
{
unsigned char R h,R L,receive;
dht=1;
delayus(30);
dht=0;
delayms(20);
dht=1;
delayus(30);
dht=1;
if(dht==0)
{
while(!dht);
while(dht);
R H=DHTll receive byte;
R L=DHTll receive byte;
receive=DHTll receive byte;
dht=0;
delayus(55);
dht=1;        
if((R H+R L)==receive)
{
rec[0]=R H;        
         rec[1]=RL;
rec[2]=receive;        
} } }
void Lcd1602 write cmd(unsigned char cmd) { RS=0; P0=cmd;
delayms(5);
EN=1;
delayms (5) ;
EN=0; }
void Lcd1602 write data(unsigned char date)
RS=1;
P0=date;
delayms (5);
EN=1;
delayms (5) ;
EN=0;}
void Lcd1602 init() {
Lcd1602 write cmd(0x38);
Lcd1602 write cmd(0x0c);
Lcd1602 write cmd(0x06);
Lcd1602 write cmd(0x0l); }
void DHT display() {
Lcd1602 write cmd(0x85);
Lcd1602 write data(rec[0]/10+0x30);
Lcd1602 write cmd(0x86);
Lcd1602 write data(rec[0]810+0x30);
Lcd1602 write cmd(0x87);
Lcd1602 write data('.');        
         Lcd1602 write cmd(0x88);
Lcd1602 write data(rec[1]/10+0x30);
Lcd1602 write cmd(0x89);
Lcd1602 write data('%');
}
void main ( ) {
Lcd1602 init0;
delayms(1500);
Lcd1602 write cmd(0x80);        
         for(num=0;num<5;num++)
Lcd1602 write data(array[num]);
}
while(1)

delayms(1000);
DHT11 Start();
DHT display();
}
}
回復

使用道具 舉報

ID:1068594 發表于 2023-3-27 19:15 來自觸屏版 | 顯示全部樓層
大家有時間幫我看看啊,我改了好幾天了,實在想不出來了。明天就到截止日期了
回復

使用道具 舉報

ID:155507 發表于 2023-3-27 21:35 | 顯示全部樓層
錯誤的地方太多了
給你改了,對比一下就知道哪里錯了。

  1. #include <reg52.h>
  2. #define uint unsigned int  //;
  3. #define uchar unsigned char //;
  4. unsigned char rec[5]={'\0'}; //{'\o'};
  5. unsigned char code array[]={"humi:"};
  6. sbit led1=P1^1; //pl^1;
  7. sbit dht=P0^4; //Po^4;
  8. sbit EN=P3^4; //10
  9. sbit rs=P3^5;
  10. uint num;
  11. void delayms(unsigned int xms) {
  12.         unsigned int i, j;
  13.         for(i=xms;i>0;i--)
  14.                 for(j=110;j>0;j--);
  15. }
  16. void delayus(unsigned char xus)
  17. {
  18.         while(xus--);
  19. }
  20. void DHTll_Start(void) {
  21.         dht=1;
  22.         delayus(2);
  23.         dht=0;
  24.         delayms(20);
  25.         dht=1;
  26.         delayus (40);
  27.         dht=1;
  28.         if(dht=-0)
  29.         {
  30.                 while(!dht);
  31.                 while(dht);}
  32. }
  33. unsigned char DHTll_receive_byte() {
  34.         unsigned char i;        
  35.         //60        
  36.         unsigned char flag=0;//o;
  37.         for(i=0;i<8;i++)
  38.         while(!dht);
  39.         delayus(30);
  40.         flag<<=1;
  41.         if(dht==1)
  42.         {
  43.         flag+=1;
  44.         while(dht);
  45.         }
  46.         return flag;
  47. }
  48. void DHTll_receive()
  49. {
  50.         unsigned char R_h,R_L,receive;
  51.         dht=1;
  52.         delayus(30);
  53.         dht=0;
  54.         delayms(20);
  55.         dht=1;
  56.         delayus(30);
  57.         dht=1;
  58.         if(dht==0)
  59.         {
  60.                 while(!dht);
  61.                 while(dht);
  62.                 R_H=DHTll_receive_byte(); //DHTll_receive byte;
  63.                 R_L=DHTll_receive_byte(); //DHTll_receive byte;
  64.                 receive=DHTll_receive_byte(); //DHTll receive byte;
  65.                 dht=0;
  66.                 delayus(55);
  67.                 dht=1;        
  68.                 if((R_H+R_L)==receive)
  69.                 {
  70.                         rec[0]=R_H;        
  71.                         rec[1]=R_L;
  72.                         rec[2]=receive;        
  73.                 }
  74.         }
  75. }
  76. void Lcd1602_write_cmd(unsigned char cmd) {
  77.         RS=0; P0=cmd;
  78.         delayms(5);
  79.         EN=1;
  80.         delayms (5) ;
  81.         EN=0;
  82. }
  83. void Lcd1602_write_data(unsigned char date)
  84. {
  85.         RS=1;
  86.         P0=date;
  87.         delayms (5);
  88.         EN=1;
  89.         delayms (5) ;
  90.         EN=0;
  91. }
  92. void Lcd1602_init() {
  93.         Lcd1602_write_cmd(0x38);
  94.         Lcd1602_write_cmd(0x0c);
  95.         Lcd1602_write_cmd(0x06);
  96.         Lcd1602_write_cmd(0x0l);
  97. }
  98. void DHT_display() {
  99.         Lcd1602_write_cmd(0x85);
  100.         Lcd1602_write_data(rec[0]/10+0x30);
  101.         Lcd1602_write_cmd(0x86);
  102.         Lcd1602_write_data(rec[0]810+0x30);
  103.         Lcd1602_write_cmd(0x87);
  104.         Lcd1602_write_data('.');        
  105.         Lcd1602_write_cmd(0x88);
  106.         Lcd1602_write_data(rec[1]/10+0x30);
  107.         Lcd1602_write_cmd(0x89);
  108.         Lcd1602_write_data('%');
  109. }
  110. void main() {
  111.         Lcd1602_init();
  112.         delayms(1500);
  113.         Lcd1602_write_cmd(0x80);        
  114.         for(num=0;num<5;num++)
  115.         Lcd1602_write_data(array[num]);
  116.         //}
  117.         while(1)
  118.         { //{
  119.         delayms(1000);
  120.         DHT11_Start();
  121.         DHT_display();
  122.         }
  123. }

復制代碼


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久久久亚洲精品 | 电影91久久久 | 2019中文字幕视频 | 精品欧美一区二区三区久久久 | 中文字幕 国产 | 欧美一区二区免费电影 | 韩国久久 | 人人插人人| 欧美视频免费在线 | 亚洲在线电影 | 欧美片网站免费 | 亚洲精品在线免费看 | 欧美日韩高清 | 午夜精品久久久久久不卡欧美一级 | 欧美一区二区网站 | 亚洲精品无 | 成人在线视频一区 | 国产网站久久 | 欧美国产日韩成人 | 中文字幕在线一区二区三区 | 国产精品国产精品国产专区不卡 | 精品二区视频 | 中文字幕av在线播放 | 国偷自产av一区二区三区 | 国产精品无码专区在线观看 | 在线观看视频亚洲 | 国产精品久久 | 午夜爽爽男女免费观看hd | 91视频在线 | 久久久.com | 91久久精品日日躁夜夜躁欧美 | 亚洲国产精品久久久 | 国产精品国产三级国产aⅴ无密码 | 日韩图区 | 欧美三级电影在线播放 | 久久久久久久久毛片 | 国产www在线| 99re视频在线免费观看 | 黑人精品 | 免费一区二区三区 | 91不卡在线 |