找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2799|回复: 1
打印 上一主题 下一主题
收起左侧

用ESP8266驱动1602液晶源程序

[复制链接]
跳转到指定楼层
楼主
ID:117433 发表于 2019-12-9 11:43 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
能驱动,能显示
单片机源程序如下:
  1. /*
  2. * lcd1602.c
  3. *
  4. *  Created on: 10月18日
  5. */

  6. #include "c_types.h"
  7. #include "osapi.h"  //串口1需要的头文件
  8. #include "lcd1602.h"
  9. #include "i2c_master.h"

  10. uint8 flag;


  11. void  ICACHE_FLASH_ATTR i2c_write_1602(uint8 com)
  12. {
  13.         i2c_master_start();
  14.         i2c_master_writeByte(0x4e);
  15.         flag = i2c_master_getAck();


  16.         i2c_master_writeByte(com);
  17.         flag = i2c_master_getAck();


  18.         i2c_master_stop();
  19. }



  20. void  ICACHE_FLASH_ATTR lcd1602_write_com(uint8 com)
  21. {
  22.         os_delay_us(5000);


  23.         i2c_write_1602((com&0xf0)|0x0c);

  24.         os_delay_us(5);
  25.         i2c_write_1602((com&0xf0)|0x08);
  26.         os_delay_us(5);
  27.         i2c_write_1602((com<<4)|0x0c);
  28.         os_delay_us(5);
  29.         i2c_write_1602((com<<4)|0x08);

  30. }
  31. void ICACHE_FLASH_ATTR lcd1602_write_dat(uint8 com)
  32. {
  33.         os_delay_us(5000);
  34.         i2c_write_1602((com&0xf0)|0x0d);
  35.         os_delay_us(5);

  36.         i2c_write_1602((com&0xf0)|0x09);
  37.         os_delay_us(5);
  38.         i2c_write_1602((com<<4)|0x0d);
  39.         os_delay_us(5);
  40.         i2c_write_1602((com<<4)|0x09);

  41. }
  42. void ICACHE_FLASH_ATTR lcd1602_init()
  43. {
  44.         i2c_master_gpio_init();
  45.     i2c_master_init();
  46.     lcd1602_write_com(0x02);
  47.     lcd1602_write_com(0x08);
  48.         //lcd1602_write_com(0x32);//实验N次的结果,28,38都不行
  49.         //lcd1602_write_com(0x32);//实验N次的结果,28,38都不行
  50.         lcd1602_write_com(0x0c);
  51.         lcd1602_write_com(0x01);
  52. }
  53. void ICACHE_FLASH_ATTR print(unsigned char a,unsigned char *str)
  54. {
  55.         lcd1602_write_com(a | 0x80);
  56.         while(*str != '\0'){
  57.                 lcd1602_write_dat(*str++);
  58.         }
  59.         *str = 0;
  60. }
复制代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:117433 发表于 2019-12-9 11:44 | 显示全部楼层
驱动程序是关键,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表