micropython 8266 驱动 12864G 液晶LCD屏幕

2023-05-16

 

 

1,接线顺序

#引脚定义
cs=Pin(4)   #片选 
reset=Pin(5)  #复位
rs=Pin(16)    #数据/指令 1数据 0 指令  #DC
sda=Pin(13)  #数据信号
sck=Pin(14)    #时钟信号

对照GPIO 按照下图链接即可

如图

 

 

2 驱动代码

·初始化

def init():
  
      rs.init(rs.OUT, value=0)
      reset.init(reset.OUT, value=0)
      cs.init(cs.OUT, value=1)  
      reset.off()# /*低电平复位*/
      time.sleep_us(100)#
      reset.on()# /*复位完毕*/
      time.sleep_us(100)#
      write_cmd(0xe2)# /*软复位*/
      time.sleep_us(5)#
      write_cmd(0x2c)# /*升压步聚 1*/
      time.sleep_us(5)#
      write_cmd(0x2e)# /*升压步聚 2*/
      time.sleep_us(5)#
      write_cmd(0x2f)# /*升压步聚 3*/
      time.sleep_us(5)#
      write_cmd(0x27)# /*粗调对比度,可设置范围 0x20~0x27*/
      write_cmd(0x81)# /*微调对比度*/
      write_cmd(0x2a)# /*0x1a,微调对比度的值,可设置范围 0x00~0x3f*/
      write_cmd(0xa2)# /*1/9 偏压比(bias)*/
      write_cmd(0xc8)# /*行扫描顺序:从上到下*/
      write_cmd(0xa0)# /*列扫描顺序:从左到右*/
      write_cmd(0x40)# /*起始行:第一行开始*/
      write_cmd(0xaf)# /*开显示*/ 
      time.sleep(1)
      # 初始化渐变效果 不需要的可以不要
      for a in range(1,3):
        time.sleep_ms(100)
        write_cmd(0x27-a)
      write_cmd(0xA7) #反显
      write_cmd(0x24)


#0xA0:常规 列地址从左到右,
#0xA1:反转:列地址从右到左
#0xA6:常规:正显
#0xA7:反显 
#0xA4:常规 显示全部点阵
#0xA5:显示全部点阵 
#0XE2 :软件复位。
#0XC0:普通扫描顺序:从上到下
#0XC8:反转扫描顺序:从下到上
#0x20~0x27,粗调 数值越大对比度越浓,越小越淡
#0x00~0x3F,微调 值越大对比 度越浓,越小越淡
#0xAC: 关, 0xAD: 开。静态图标的开关设置

 

 

· 写入指令

        cs.off()      选片低电压    

       rs.off()        低电压写入指令

       spi.write(bytearray([cmd])) 已bytearray 写入指令

· 写入需要绘画的图片或者字符串:

        cs.off()      选片低电压    

       rs.on()        高电压写入屏幕数据

       spi.write(bytearray([cmd])) 已bytearray 写入数据

 

·开始绘画

1.设置列地址 页地址,行地址

       write_cmd(0xb0+page); #设置页地址。每页是 8 行。一个画面的 64 行被分成 8 个页。我们平常所说的第 1 页,在 LCD驱动 IC 里是第 0 页,所以在这里减去 1*/

       write_cmd(((column>>4)&0x0f)+0x10) #设置列地址的高 4 位      

       write_cmd(column&0x0f) #设置列地址的低 4 位

2 写入数据(行列式)

 

def draw(arr,width,x=0,column=1):
  #arr :  16进制数组 0xff
  #width: 字符画宽度
  #x:     x坐标
  #column:y坐标
  index=0
  for a in range(0,len(arr)/width):
    lcd_address(x,column)
    column+=1
    write_data(arr[index:index+width])
    index+=width

从第一个像素往下画8个像素

然后在画第二列的8个像素 以此类推

用一个十六进制表示 一列的8个像素

*1不显示     
**不显示     
*1不显示     
*1不显示     
*1不显示     
*1不显示     
*1不显示     
*1不显示     
0XFF0X00     

 

所有代码 直接丢8266 可以直接跑

https://github.com/xinruoyusixian/12864G

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

micropython 8266 驱动 12864G 液晶LCD屏幕 的相关文章

  • Micropython——九轴传感器(MPU6050)的使用及算法(二)

    前言 xff1a 在上篇文章中 xff0c 简单地实现了九轴传感器 xff08 MPU6050 xff09 的获取加速度 角速度以及温度的数值 但是 xff0c 我们知道 xff0c 对于MPU6050来说 xff0c 其提供的数据会夹杂有
  • Micropython——九轴传感器(MPU6050)的使用及算法(三)

    简介 xff1a 上篇文章中 xff0c 关于九轴传感器 xff08 MPU6050 xff09 xff0c 学习其如何对其生成的数据偏移进行校准 xff0c 这节课我们来将其中的一个问题来进行解决 关于MPU6050地址问题 xff0c
  • 【雕爷学编程】MicroPython手册之 WiPy 特定端口库 wipy.machine.I2C.stop()

    MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器 与常规Python相比 MicroPython解释器体积小 仅100KB左右 通过编译成二进制Executable文件运行 执行效率较高 它使用
  • Micropython加速物联网开发4 - SPI驱动5110LCD屏

    5110是84 48点阵LCD屏 其性价比高 接口简单 速度快 功耗低 非常适合电池供电的便携式终端设备 本例使用TPYBoard开发板SPI1接口驱动5110LCD屏 连线图即接口说明 LCD驱动程序 5110LCD的通信协议是一个没有M
  • Micropython应用篇一--下载文件到F407VE Black开发板及开发板启动Flash选取

    Micropython应用篇一 下载文件到F407VE Black开发板及开发板启动选取 各位客官老爷们 咱又见面了 本来准备直接上例程来着 但由于怕各位老爷们对STM32的熟悉程度不一致 所以来一篇关于程序烧录及开发板启动 25Q128
  • 【低功耗蓝牙】⑤ 蓝牙HID协议

    摘要 本文章主要介绍了蓝牙HID协议的实现方法 基于ESP32平台实现了蓝牙键盘 蓝牙鼠标 蓝牙自拍杆和蓝牙游戏手柄等设备 是初学者学习BLE HID协议很好的参考文章 HID设备 HID Human Interface Device 人体
  • 物联网开发103 - Micropython ESP32用增强固件驱动st7735s显示屏显示日期时钟和汉字

    一 目的 这一节我们来学习如何使用SP32使用加强版本的固件 加载中文字库 驱动st7735显示屏来显示汉字 二 环境 ESP32开发板 MicroPython v1 15 13 g530c76f6c dirty on 2021 04 30
  • Micropython+合宙Esp32c3+合宙air101LCD完成一个贪吃蛇小游戏

    系列文章目录 手把手使用Micropython 合宙Esp32c3 驱动安装 为合宙Esp32c3安装Micropython固件库 代码上传到ESP32C3中 含Thonny和vscode两种方法 手把手使用Micropython 合宙Es
  • 1024 程序员节:低代码低成本硬件 - 树莓派 Pico 2040

    恰逢 1024 程序员节 程序员们忙着开交流会 或者写代码 来庆祝节日 或者随便写点什么 留下自己的足迹 CSDN 组织了好几个线下 线上的会 大家也在讨论开源 开放 小米的崔总 引用了 论语 里的一句话 德不孤 必有邻 来评价正确的开源之
  • Arduino+ESP8266上传至oneNet云

    一 硬件简介 1 Arudino 是一种开源的电子平台 该平台最初主要基于AVR单片机的微控制器和相应的开发软件 包含硬件 各种型号的Arduino板 和软件 Arduino IDE 2 ESP8266 是深圳安信可科技有限公司开发的基于乐
  • STM32F767ZI-NUCLEO移植运行micropython过程记录

    注意 本教程移植microPython是通过烧写hex文件实现的 网上其他教程很多是介绍使用USB DFU方式 设备boot0至高电平 通过DfuSeDemo烧写 由于自己还不熟没有使用这种方式 后续有时间再尝试 另外本教程是基于STM32
  • PM2.5 / PM10传感器读数:Python,MicroPython和Arduino-ESP32

    在本文中 让我们看一下如何使用ESP32板连接和编写程序 从PM2 5 PM10传感器模块读取值 我们将使用Python3 用于ESP32的MicroPython和Arduino分别以代码编写为例进行演示 演示顺序如下 第一阶段 了解硬件
  • C语言开发MicroPython模块(添加module)

    MicroPython添加模块框架模式相对简单 只需要按照定义好的固定框架就可以添加模块 module 一 向固件里面添加module 1 1 编写mymodule c文件 在ports esp32文件夹下新建一个文件mymodule c
  • Linux下lt8911exb调试总结

    调试lt8911exb花了两天时间 总结下 ic功能介绍 mipi转eDP http cn lontiumsemi com UploadFiles pdf LT8911EXB Product Brief pdf github下有驱动源码 可
  • micropython RX8025T 驱动简单演示

    我就知道可能八百年会有一位大哥来找这个驱动 让我来猜猜为啥用这个 嫌一般的RTC不够精准是吧 想用个带温度补偿的试试 代码拿去 其实巨简单的 没啥好说的 而且只有基本功能 from micropython import const impo
  • LCD 亮度相关(背光) 正负压相关

    LCD 亮度相关 背光 kernel msm 3 18 drivers video msm mdss mdss fb c 调用led classdev register 注册lcd backlight sys class leds lcd
  • 使用MicroPython制作红绿灯模拟器

    我们将使用行人步行按钮实现交通信号灯 该项目与LED配合使用 这使我们能够在代码执行时看到其状态 对于交通信号灯 也称为刹车灯 我们将使用红色 黄色和绿色的LED来匹配交通信号灯上的相同颜色的灯 我们还将使用红色和黄色的LED来表示 请勿行
  • 自制教学用ESP32开发板【ESP32_Py_Board】① 开发环境搭建

    摘要 由于教学需要 自己设计了一款ESP32开发板 用于 短距离无线通信 课堂教学使用 开发板整体效果如下图 该开发板采用Type C接口供电 板载CH340K串口芯片 支持自动下载 240 240全彩SPI接口显示屏 温度传感器DS18B
  • STM32 进阶教程 1 - micropython 移植

    前言 Python是一种解释型 面向对象 动态数据类型的高级程序设计语言 Python 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 具有如下特点 1 易于学习 Python有相对较少的关键字 结构简单 和一个明确定义的语
  • 使用MicroPython开发ESP32(02):库介绍

    文章目录 目的 库基础说明 库列表 Python基础库 嵌入式设备相关库 ESP32特有库 总结 目的 对于Python来说丰富的库是其使用快速简易的关键 这点对于MicroPython也一样 这篇文章就对MicroPython的库做个罗列

随机推荐