找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3042|回復: 0
打印 上一主題 下一主題
收起左側

單片機+DHT11在LCD12864上的顯示不穩(wěn)定的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:790136 發(fā)表于 2021-2-27 18:34 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
10黑幣
有沒有大神可以幫忙看看呀?

問題一:溫濕度顯示不穩(wěn)定(有事可以顯示,有時會出現(xiàn)亂碼),倘若把DHT11的顯示代碼放While(1)里面,那么當進行按鍵中斷時,DHT11測試到的依然在屏幕二進行顯示,如下圖所示
問題二:當按了一次設置鍵時就直接可以對溫度上限進行加或減操作。(理想的效果應該是:當按鍵中斷的問題,當按第一次設置鍵時,LCD12864進行屏幕轉換,當再按一次設設置鍵時設置最高溫度,當按第三下設置鍵時,設置最低溫度,以此類推,當設置鍵的按鍵次數(shù)大于5次時返回屏幕一。)

單片機源程序如下:
#include<reg52.h>
//#include<motor.h>
#include<DHT.h>
//#include<DHT.h>

#define uchar unsigned char
#define uint unsigned int
#define u8 unsigned char
#define u16 unsigned int

sbit RS = P1^0;    //12864的RS控制端,硬件接到P1.0,在此一定要寫P1.0
sbit RW = P1^1;    //12864的RW控制端,硬件接到P1.1,在此一定要寫P1.1
sbit E  = P1^2;    //12864的使能控制端,硬件接到P1.2,在此一定要寫P1.2
sbit PSB = P1^3;//并串口選擇信號
sbit RST = P1^4;//復位信號
sbit beep = P3^3;
sbit LED = P1^4;
sbit Kset = P3^2; //日期時間設置按鈕,硬件接到P3.2
sbit Kadd = P1^5; //"加1"鍵,硬件接到P1.6
sbit Ksub = P1^6; //"減1"鍵,硬件接到P1.7
u8 ;Turn=0,WH=65,WL=12,SH=75,SL=21;//安全溫濕度范圍設置的變量
uchar j;

u8 table0[]="溫度濕度控制系統(tǒng)";
u8 table1[]="濕度為:       %  ";
u8 table2[]="溫度為:      ℃  ";
//u8 table3[]= "℃";
u8 table4[]="開發(fā)者:大白菜  ";
u8 table5[]="最高溫:     ℃      ";
u8 table6[]="最低溫:     ℃      ";
u8 table7[]="最高濕:      %    ";
u8 table8[]="最低濕:      %     ";
u8 table9[]="0123456789";

void delay_ms(uint z)
{
   uint i,j;
   for(i=z;i>0;i--)
      for(j=110;j>0;j--);
}

  /**********************************************************************
函數(shù)名稱:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表