标题:
用ESP8266驱动1602液晶源程序
[打印本页]
作者:
xizhe2005
时间:
2019-12-9 11:43
标题:
用ESP8266驱动1602液晶源程序
能驱动,能显示
单片机源程序如下:
/*
* lcd1602.c
*
* Created on: 10月18日
*/
#include "c_types.h"
#include "osapi.h" //串口1需要的头文件
#include "lcd1602.h"
#include "i2c_master.h"
uint8 flag;
void ICACHE_FLASH_ATTR i2c_write_1602(uint8 com)
{
i2c_master_start();
i2c_master_writeByte(0x4e);
flag = i2c_master_getAck();
i2c_master_writeByte(com);
flag = i2c_master_getAck();
i2c_master_stop();
}
void ICACHE_FLASH_ATTR lcd1602_write_com(uint8 com)
{
os_delay_us(5000);
i2c_write_1602((com&0xf0)|0x0c);
os_delay_us(5);
i2c_write_1602((com&0xf0)|0x08);
os_delay_us(5);
i2c_write_1602((com<<4)|0x0c);
os_delay_us(5);
i2c_write_1602((com<<4)|0x08);
}
void ICACHE_FLASH_ATTR lcd1602_write_dat(uint8 com)
{
os_delay_us(5000);
i2c_write_1602((com&0xf0)|0x0d);
os_delay_us(5);
i2c_write_1602((com&0xf0)|0x09);
os_delay_us(5);
i2c_write_1602((com<<4)|0x0d);
os_delay_us(5);
i2c_write_1602((com<<4)|0x09);
}
void ICACHE_FLASH_ATTR lcd1602_init()
{
i2c_master_gpio_init();
i2c_master_init();
lcd1602_write_com(0x02);
lcd1602_write_com(0x08);
//lcd1602_write_com(0x32);//实验N次的结果,28,38都不行
//lcd1602_write_com(0x32);//实验N次的结果,28,38都不行
lcd1602_write_com(0x0c);
lcd1602_write_com(0x01);
}
void ICACHE_FLASH_ATTR print(unsigned char a,unsigned char *str)
{
lcd1602_write_com(a | 0x80);
while(*str != '\0'){
lcd1602_write_dat(*str++);
}
*str = 0;
}
复制代码
作者:
xizhe2005
时间:
2019-12-9 11:44
驱动程序是关键,
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1