[TPYBoard-Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏
来源:互联网 发布:停用移动数据总是弹出 编辑:程序博客网 时间:2024/06/16 05:12
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi
一、本次实验所需器材
1、TPYboard V102板 一块
2、DS3231模块 一块
3、NOKIA 5110 LCD 屏 一块
4、杜邦线:若干
二、Nokia 5110 LCD屏使用方法
1、什么是Nokia 5110 LCD?
Nokia 5110 LCD是NOKIA 公司生产的可用于其5110、6150,6100 等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。与其它类型的产品相比,该模块具有以下特点:
●84x48 的点阵LCD,可以显示4 行汉字,
●采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9 条。支持多种串行通信协议(如AVR 单片机的SPI、MCS51 的串口模式0等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。
●可通过导电胶连接模块与印制版
●LCD 控制器/驱动器芯片已绑定到LCD 晶片上,模块的体积很小。
●采用低电压供电,正常显示时的工作电流在200μA 以下,且具有掉电模式。
2、Nokia 5110 LCD 引脚说明
Nokia 5110 LCD共有8个引脚,不同的板子可能标注的英文略有不同,具体含义如下:
标注含义GND接地BL背景灯Vcc3.3VCLK时钟信号DIN数据流DC当为0时表示命令状态,当为1时表示数据状态CE使能端RSTRESET3、Tpyboard V102连接5110的方法
这里使用的是SPI连接方法,如果你对什么是SPI连接还不是很清楚,你可以百度一下,这样有利于你从原理上搞明白为什么这么连接。具体针脚对应如下:(由于tpyboard v102有两个spi接口,这里我们选用x1对应接口)
TPYboard5110LCDSPIGNDGND X4BL 3.3VVcc X6CLKSCKX8DINMOSIX3DC X2CE X1RST4、5110 LCD字模的获取
(1)英文及数据的显示
本节提供了font.py文件,已经将英文、数字及符号的字模做好,可以直接调用。具体下载见文章最后的下载地址。
(2)汉字取模
汉字取模需要用到字模提取工具,该工具在文章后面的下载地址中可以下载。这里以“欢”为例具体说明使用方法如下:
第一步,打开工具:
第二步,点击新建图像,宽度与高度均为16,点击确定。如图:
第三步,在文字输入区写入要取模的汉字“欢”,按下ctrl+enter。
第四步,点左边菜单里的取模方式,点c51格式,于是得到:
0x04,0x24,0x44,0x84,0x64,0x9C,0x40,0x30,0x0F,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
0x10,0x08,0x06,0x01,0x82,0x4C,0x20,0x18,0x06,0x01,0x06,0x18,0x20,0x40,0x80,0x00,
第五步,对应填写到chinese.py文件中(该文件可从文章后面的网址下载),如下:
class CN_UTF8: """docstring for CN_UTF8""" #key:values #key: 使用汉字的UTF-8码 #values: 16*16 # [0] 8*16 上半部分 # [1] 8*16 下半部分 UTF8_CHINESE = { 0xe6aca2:[ [0x04,0x24,0x44,0x84,0x64,0x9C,0x40,0x30,0x0F,0xC8,0x08,0x08,0x28,0x18,0x00,0x00], [0x10,0x08,0x06,0x01,0x82,0x4C,0x20,0x18,0x06,0x01,0x06,0x18,0x20,0x40,0x80,0x00] ],#欢 0xe8bf8e:[ [0x40,0x40,0x42,0xCC,0x00,0x00,0xFC,0x04,0x02,0x00,0xFC,0x04,0x04,0xFC,0x00,0x00], [0x00,0x40,0x20,0x1F,0x20,0x40,0x4F,0x44,0x42,0x40,0x7F,0x42,0x44,0x43,0x40,0x00] ],#迎 0xe4bdbf:[ [0x80,0x60,0xF8,0x07,0x04,0xE4,0x24,0x24,0x24,0xFF,0x24,0x24,0x24,0xE4,0x04,0x00], [0x00,0x00,0xFF,0x00,0x80,0x81,0x45,0x29,0x11,0x2F,0x41,0x41,0x81,0x81,0x80,0x00] ],#使 0xe794a8:[ [0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x00], [0x80,0x60,0x1F,0x02,0x02,0x02,0x02,0x7F,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00] ],#用 0xe78eb0:[ [0x04,0x84,0x84,0xFC,0x84,0x84,0x00,0xFE,0x02,0x02,0xF2,0x02,0x02,0xFE,0x00,0x00], [0x20,0x60,0x20,0x1F,0x10,0x90,0x40,0x23,0x18,0x06,0x01,0x7E,0x80,0x83,0xE0,0x00] ],#现 0xe59ca8:[ [0x08,0x08,0x88,0xC8,0x38,0x0C,0x0B,0x08,0x08,0xE8,0x08,0x08,0x08,0x08,0x08,0x00], [0x02,0x01,0x00,0xFF,0x40,0x41,0x41,0x41,0x41,0x7F,0x41,0x41,0x41,0x41,0x40,0x00] ],#在 0xe697b6:[ [0x00,0xFC,0x84,0x84,0x84,0xFC,0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x00], [0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x01,0x06,0x40,0x80,0x7F,0x00,0x00,0x00] ],#时 0xe997b4:[ [0x00,0xF8,0x01,0x06,0x00,0xF0,0x12,0x12,0x12,0xF2,0x02,0x02,0x02,0xFE,0x00,0x00], [0x00,0xFF,0x00,0x00,0x00,0x1F,0x11,0x11,0x11,0x1F,0x00,0x40,0x80,0x7F,0x00,0x00] ], #间 0xe68891:[ [0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0x20,0xFF,0x20,0x22,0x2C,0xA0,0x20,0x00], [0x00,0x08,0x48,0x84,0x7F,0x02,0x41,0x40,0x20,0x13,0x0C,0x14,0x22,0x41,0xF8,0x00] ], #我 0xe8909d:[ [0x02,0x02,0xF2,0x92,0x97,0xF2,0x92,0x92,0x92,0xF2,0x97,0x92,0xF2,0x02,0x02,0x00], [0x00,0x80,0x88,0x88,0x44,0x4A,0x53,0x22,0x22,0x12,0x0A,0x06,0x00,0x00,0x00,0x00] ], #萝 0xe58d9c:[ [0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00], [0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00] ], #卜 0xe699ba:[ [0x10,0x94,0x53,0x32,0x1E,0x32,0x52,0x10,0x00,0x7E,0x42,0x42,0x42,0x7E,0x00,0x00], [0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00] ], #智 0xe883bd:[ [0x08,0xCC,0x4A,0x49,0x48,0x4A,0xCC,0x18,0x00,0x7F,0x88,0x88,0x84,0x82,0xE0,0x00], [0x00,0xFF,0x12,0x12,0x52,0x92,0x7F,0x00,0x00,0x7E,0x88,0x88,0x84,0x82,0xE0,0x00] ],#能 0xe682a8:[ [0x20,0x10,0x08,0xFC,0x23,0x10,0x88,0x67,0x04,0xF4,0x04,0x24,0x54,0x8C,0x00,0x00], [0x40,0x30,0x00,0x77,0x80,0x81,0x88,0xB2,0x84,0x83,0x80,0xE0,0x00,0x11,0x60,0x00] ],#您 0xe5bd93:[ [0x00,0x40,0x42,0x44,0x58,0x40,0x40,0x7F,0x40,0x40,0x50,0x48,0xC6,0x00,0x00,0x00], [0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00] ],#当 0xE5898D:[ [0x08,0x08,0xE8,0x29,0x2E,0x28,0xE8,0x08,0x08,0xC8,0x0C,0x0B,0xE8,0x08,0x08,0x00], [0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00] ]#前 } #key 汉字的UTF-8码 #isBottom 确定这次是获取 某个字的 上半部分(0) 还是下半部分(1) def get_chinese_utf8(self, key,isBottom = 0): values = self.UTF8_CHINESE[key] return values[isBottom]
三、显示“萝卜智能”的小实例
按照上面连接后,将tpyboard v102插入电脑usb,在TPFLASH内建立以下文件,下载地址为:
https://pan.baidu.com/s/1eRZZd1C
实现效果如图:- [TPYBoard-Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏
- [TPYBoard-Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏
- [TPYBoard-Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏
- [TPYBoard-Micropython之会python就能做硬件 开篇]会python就能做硬件!
- [TPYBoard-Micropython之会python就能做硬件 3] 制作电子时钟
- [TPYBoard-Micropython之会python就能做硬件 4] 学习使用电位器和1602显示屏
- [TPYBoard-Micropython之会python就能做硬件 4] 学习使用电位器和1602显示屏
- [TPYBoard-Micropython之会python就能做硬件 4] 学习使用电位器和1602显示屏
- [TPYBoard-Micropython之会python就能做硬件 1] 运行第一个脚本——点亮LED
- MicroPython - 硬件
- micropython--esp8266
- MicroPython - 下载
- MicroPython分析
- MicroPython是未来?当Python遇上单片机!
- Micropython加速物联网开发2
- MicroPython - 问题整理
- micropython中的数据结构
- micropython启动流程分析
- 聊聊高并发系统之降级特技
- JavaSe总结-06--Java语言基础(2)-二维数组 &面向对象(1)
- Android绘图系列(五)——绘制文本
- Android仿京东侧滑筛选
- 使用Jackson的@JsonFormat注解时出现少八个小时
- [TPYBoard-Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏
- CSU-ACM2017寒假集训1B-简单二分和三分 HDU - 2141
- 5-6 列出连通集(25分)
- 聊聊高并发系统之HTTP缓存
- MatLab实现Softmax Regression
- 使用Callable和Future两个类,来获得线程执行后的结果
- 应用多级缓存模式支撑海量读服务
- 团体程序设计天梯赛-练习集-L2-014. 列车调度(LIS)
- atoi()