Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 133632|回复: 87

LCD1602显示汉字 + 自制字库

  [复制链接]
发表于 2016-6-30 14:19 | 显示全部楼层 |阅读模式
本帖最后由 vickywong 于 2016-10-8 19:36 编辑

今天考完试了,可以不用上学喽!下周返校评三好发奖状,就正式放假啦!
玩了个1602液晶屏显示汉字,是这样的:
LCD16025*8点阵的,用8*8的点阵编码写汉字,前面空3个空格都是0,后面有黑点的就是1,空的是0
还做了一百多字的字库。软件做不出5*8的,只能自己动手做。
还有:LCD1602一次最多只能显示8个汉字,再多了就乱,只有8个自定义字符空间哦!

程序:关键是创建新字符。

[mw_shl_code=applescript,true]//LCD1602显示5*8点阵汉字程序,显示“上午下雨了”5个汉字
#include <Wire.h>  //加载Wire通讯库
#include <LiquidCrystal_I2C.h>  //加载液晶屏库
LiquidCrystal_I2C lcd(0x27,16,2);  // 设 LCD的地址为0x27,16列2行

//显示字符
#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endif

//要显示的汉字编码,定义为一个数组
uint8_t shang[8]= {0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x1F,};//上
uint8_t wu[8]= {0x08,0x08,0x0E,0x14,0x04,0x1F,0x04,0x04,};//午
uint8_t xia[8] = {0x1F,0x04,0x04,0x06,0x05,0x04,0x04,0x04,};//下
uint8_t yu[8] = {0x1F,0x04,0x1F,0x15,0x1F,0x15,0x1F,0x15,};//雨
uint8_t le[8] = {0x1F,0x01,0x02,0x04,0x04,0x04,0x04,0x0C,};//了

void setup(){
  lcd.init();     //初始化LCD
  lcd.backlight(); //打开背光
  
//创建新字符,将每个数组映射为一个字符,分别命名为0,1,2,3,4
  lcd.createChar(0, shang);
  lcd.createChar(1, wu);
  lcd.createChar(2, xia);
  lcd.createChar(3, yu);
  lcd.createChar(4, le);
//将字符显示到光标所在位
  lcd.setCursor(0,0);
  lcd.printByte(0);
  lcd.printByte(1);
  lcd.printByte(2);
  lcd.printByte(3);
  lcd.printByte(4);
  }
void loop(){
}
[/mw_shl_code]

(下载的同学们帮顶一顶啊!)



IMG_20160612_124751.jpg
IMG_20160612_111427.jpg
IMG_20160612_122230.jpg
IMG_20160612_124316.jpg
汉字点阵编码方法.jpg

5×8点阵汉字库.pdf

74.12 KB, 下载次数: 2519

 楼主| 发表于 2016-8-18 18:34 | 显示全部楼层
附上了自己做的字库
 楼主| 发表于 2016-6-30 14:35 | 显示全部楼层
太高兴了!谢谢版主老师给加了精华!
发表于 2016-6-30 14:40 | 显示全部楼层
vickywong 发表于 2016-6-30 14:35
太高兴了!谢谢版主老师给加了精华!

社区有比赛马上就要开始了,暑假有空可以做点什么来参赛哟
 楼主| 发表于 2016-6-30 14:45 | 显示全部楼层
Or2 发表于 2016-6-30 14:40
社区有比赛马上就要开始了,暑假有空可以做点什么来参赛哟

看到了,有这个打算,现在开始计划
发表于 2016-6-30 15:10 | 显示全部楼层
不错啊,加油!
发表于 2016-7-1 10:37 | 显示全部楼层
这小玩意儿还能显示汉字?头一回见!
发表于 2016-7-2 13:11 | 显示全部楼层
我用字模软件取模,显示出来的字怎么只有半边、还是躺着的?
 楼主| 发表于 2016-7-3 13:33 | 显示全部楼层
blacktea 发表于 2016-7-2 13:11
我用字模软件取模,显示出来的字怎么只有半边、还是躺着的?

我刚做的时候也这样,设一下取模方式就好了。
发表于 2016-7-4 15:17 | 显示全部楼层
骚年前途无量~
快来报名:http://www.arduino.cn/thread-21577-1-1.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|好玩手机游戏盒子|196体育|Arduino爱好者

GMT+8, 2023-3-23 21:42 , Processed in 0.115151 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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