12. [Micropython]TPYBoard v10X 控制LCD1602显示字符

版权声明:翻译整理属于TPYBoard,转载时请以超链接形式标明文章原始出处和作者信息及本声明

12.1. 实验目的

  • 学习在PC机系统中扩展简单I/O 接口的方法。
  • 进一步学习编制数据输出程序的设计方法。
  • LCD1602的硬件接线方法。
  • TPYboard控制Lcd1602显示字符 。

12.2. 所需元器件

  • TPYBoard v102开发板 1块
  • LCD1602液晶屏 1块
  • 电位器3296 1个
  • 面包板 1块
  • micro USB数据线 1条
  • 杜邦线 若干

12.3. 硬件接线方法

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表所示:

tpyboard/tutorial/v10x/img/1602.jpg

12.4. LCD1602液晶模块引脚说明

第1脚:VSS为地电源

第2脚:VDD接5V正电源

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

下面是实物图与针脚图对应的关系:

http://tpyboard.com/ueditor/php/upload/image/20161226/1482730709264212.png http://tpyboard.com/ueditor/php/upload/image/20161226/1482730747525623.png http://tpyboard.com/ueditor/php/upload/image/20161226/1482730757499647.png

按照上面针脚对应关系接线OK后,并且导入tpyb_lcd1602.py文件和tpyb_gpio_lcd1602.py文件再可运行main.py了(tpyb_lcd1602.py和pyb_gpio_lcd1602..py可以从官网上下载,最后会告诉下载地址)。

http://www.micropython.net.cn/ueditor/php/upload/image/20161226/1482730789766757.png

12.5. main.py源代码:

# main.py -- put your code here!
import pyb
from pyb import Pin
from pyb import delay, udelay,millis
from tpyb_lcd1602 import TPYBoardLcd1602Api
from tpyb_gpio_lcd1602 import TPYBoardGpioLcd1602


def main():
        lcd = TPYBoardGpioLcd1602(rs_pin=Pin.board.Y10,
                                  enable_pin=Pin.board.Y9,
                                  d4_pin=Pin.board.Y5,
                                  d5_pin=Pin.board.Y6,
                                  d6_pin=Pin.board.Y7,
                                  d7_pin=Pin.board.Y8,
                                  num_lines=2, num_columns=16)
   lcd.lcd1602_write_string("Hi,TurnipSmart!\n This TPYBoard!")
        delay(5000)
        lcd.clear()
        lcd.lcd1602_write_string("This  lcd1602!\n Start Work!")
        delay(5000)
        lcd.clear()
        count = 0
        while True:
                lcd.move_to(0, 0)
                #%1d 宽度  返回运行当前程序的累计时间,单位是毫秒
                lcd.lcd1602_write_string("%1d" % (millis() // 1000))
                delay(1000)
                count += 1
                print(count)

#if __name__ == "__main__":
main()