久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機濕度計 無法顯示濕度傳感器的數據
[打印本頁]
作者:
懶爺駕到
時間:
2024-5-15 11:06
標題:
單片機濕度計 無法顯示濕度傳感器的數據
要求:上電或案件復位后自動顯示"P",進入測量準備階段;按測量開始鍵開始測量,當前環境的濕度在顯示器上穩定顯示;按測量結束鍵停止測量并返回"P"狀態。問題:LCD無法顯示"P";在按下“開始建”后,只顯示個別字符(如圖)且10秒(左右)后就消失了;無法顯示濕度傳感器的數據;按下“結束鍵”任何反應。
求各位大佬指點指點,在此謝過了
/******************************
基于51單片機的濕度計
主代碼
********************************/
#include <reg52.h>
#include <intrins.h>
#include <absacc.h>
#include <math.h>
#include "DHT11.h"
#include "LCD.h"
#include "delay.h"
sbit Key_Begin = P2^0;
sbit Key_Over = P2^1;
unsigned char humiH,humiL;
void main()
{
while(1)
{
LCD1602_Init();//LCD1602初始化
LCD1602_Write_Cmd(0x82);//確定顯示位置
LCD1602_Write_Data('P');//確定顯示"P"
while(Key_Begin == 0)
{
LCD1602_Init();//LCD1602初始化
LCD1602_Come();//顯示字符
DHT11_Rst();//DHT11初始化
DHT11_Check();//DHT11校驗
DHT11_Read_Byte();//DHT11讀取數據
DHT11_Read_Date(&humiH,&humiL);
Delay1000ms();
LCD1602_Write_Cmd(0x87);//確定顯示地址
LCD1602_Write_Data(humiH);//確定顯示內容 humiH
LCD1602_Write_Cmd(0x88);//地址
LCD1602_Write_Data(humiL);//內容 humiL
}
if(Key_Over ==0)
{
LCD1602_Init();//LCD1602初始化
LCD1602_Write_Cmd(0x82);//確定顯示位置:第一行第一個
LCD1602_Write_Data('P');//確定顯示"P"
}
}
}
/************************************
函數名稱:LCD1602_Write_Cmd
輸入參數:cmd-指令
輸出參數:無
函數功能:LCD1602寫指令
*********************************/
void LCD1602_Write_Cmd(char cmd)//接收數據
{
RS = 0;
RW = 0;
EN = 0;
//配置DB0-DB7的電平
Lcd_DataPort = cmd;
_nop_();
//延時tsp+tsp2的時間
EN = 1;
//EN變為高電平,讓Lcd1602開始讀取DB0-DB7的引腳電平
_nop_();
//延時tpm一段時間
EN = 0;
_nop_();
//延時tc-tpw時間
}
void LCD1602_Write_Data(char cmd)//讀取數據
{
RS = 1;
RW = 0;
EN = 0;
//配置DB0-DB7的電平
Lcd_DataPort = cmd;
_nop_();
//延時tsp+tsp2的時間
EN = 1;
//EN變為高電平,讓Lcd1602開始讀取DB0-DB7的引腳電平
_nop_();
//延時tpm一段時間
EN = 0;
_nop_();
//延時tc-tpw時間
}
void LCD1602_Init(void)//初始化
{
//Delay15ms();
LCD1602_Write_Cmd(0x38);//寫指令38H
// Delay5ms();
LCD1602_Write_Cmd(0x38);//顯示模式設置
//Delay5ms();
LCD1602_Write_Cmd(0x38);//顯示模式設置
LCD1602_Busy_Check();
LCD1602_Write_Cmd(0x38);
LCD1602_Busy_Check();
LCD1602_Write_Cmd(0x08);//顯示關閉
LCD1602_Busy_Check();
LCD1602_Write_Cmd(0x01);//顯示清屏
LCD1602_Busy_Check();
LCD1602_Write_Cmd(0x06);//顯示光標移動設置
LCD1602_Busy_Check();
LCD1602_Write_Cmd(0x0c);//顯示開及光標設置
}
void LCD1602_Busy_Check(void)//LCD1602忙信號檢測
{
char tmp;//用來保存Lcd_date的電平狀態
Lcd_DataPort = 0xff;//一開始的時候,Lcd_date設置成輸入狀態
do{
RS = 0;
RW = 1;
EN = 1;
_nop_();
//延時CP
tmp = Lcd_DataPort;
_nop_();
//延時PQ
EN = 0;
}while(tmp&0x80);//判斷最高位是否為1
}
void LCD1602_Come(void)//LCD1602的讀取主函數之字符顯示
{
LCD1602_Write_Cmd(0x83);//確定顯示位置
LCD1602_Write_Data('H');//確定顯示內容
LCD1602_Write_Cmd(0x84);//地址
LCD1602_Write_Data('u');//內容,H
LCD1602_Write_Cmd(0x85);//地址
LCD1602_Write_Data('m');//內容,H
LCD1602_Write_Cmd(0x86);//地址
LCD1602_Write_Data(0x3A);//內容,:
LCD1602_Write_Cmd(0x89);//地址
LCD1602_Write_Data(0x25);//內容,%
while(1);
}
/**************************************************
復制代碼
51hei圖片仿真.png
(89.97 KB, 下載次數: 27)
下載附件
2024-5-15 11:03 上傳
作者:
cy009
時間:
2024-5-15 22:26
第22行,初始化請放到 while(1) 的前面
作者:
lkc8210
時間:
2024-5-16 09:00
LCD1602無需頻繁刷寫
更無需頻繁初始化
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
特黄色一级毛片
|
91社区在线高清
|
亚洲国产中文在线
|
欧美一区在线视频
|
91丨九色丨国产在线
|
国产人成精品一区二区三
|
日本精品视频在线观看
|
天天操人人干
|
精品在线看
|
久久久美女
|
久久国产精品精品
|
毛片站
|
亚洲不卡一
|
成人国产在线观看
|
精品人伦一区二区三区蜜桃网站
|
欧美精品一区二区三区蜜桃视频
|
国产欧美综合在线
|
精品自拍视频在线观看
|
国产精品99久久久久久动医院
|
久久草在线视频
|
亚洲天天干
|
五月综合激情婷婷
|
亚洲欧美日韩国产综合
|
国产日韩欧美电影
|
亚洲成人免费在线观看
|
国产资源在线视频
|
色婷婷综合久久久中字幕精品久久
|
中文字幕一区二区在线观看
|
精品国产区
|
一级黄色毛片免费
|
特级a欧美做爰片毛片
|
91精品国产自产精品男人的天堂
|
人人干人人舔
|
久久久久国产一级毛片高清网站
|
九九视频在线观看
|
欧美一区二区黄
|
亚洲成人一区
|
成人免费精品
|
国产精品免费看
|
免费三级黄
|
日韩欧美一级
|