买了个1602IIC模块,完美解决1602接线过多的问题。因为人愚笨,硬是搞了一个星期才把这个1602给点亮了。
1602这个液晶经常给人摆脸色。要么是不显示,要么显一排方块,要么是乱码。搞得人心力憔悴。
历经千辛万苦,总算是把那温湿度显出来,但是湿度跳动太大,聊胜于无?
单片机源程序如下:
#include "AHT10.h"
#include "lcd1602IIC.h"
//#include <reg52.h>
unsigned char LCD_Buffer[2][16]={{"Temp: . C "},{"Humi: . % "}};
unsigned int Temp=0,Humi=0; //温度和湿度
void main()
{
M_8574_init();
init_lcd1602();
while(1)
{
AHT10_init();
delay1(5);
AHT10_Read_Data(&Temp,&Humi);
//快速测量可能会引起传感器升温,此处降低测量速率
//取位
LCD_Buffer[0][5] = Temp/1000 + 0x30;
LCD_Buffer[0][6] = (Temp%1000)/100 + 0x30;
LCD_Buffer[0][8] = (Temp%100)/10 + 0x30;
LCD_Buffer[0][9] = Temp%10 + 0x30;
LCD_Buffer[1][5] = Humi/10000 + 0x30;
LCD_Buffer[1][6] = (Humi%10000)/1000 + 0x30;
LCD_Buffer[1][8] = (Humi%1000)/100 + 0x30;
LCD_Buffer[1][9] = (Humi%100)/10 + 0x30;
LCD_Buffer[1][10] = Humi%10 + 0x30;
Lcd1602_Flash(LCD_Buffer);
}
}
89c52+Aht10+1602IIC显示温湿度已通过.7z
(28.64 KB, 下载次数: 14)
|