Nokia 3310LCD,Nokia 5110LCD显示中文和动画的教程

2020-01-23 14:24发布



大家在使用fastavr的时候感觉哪里最方便,当然是液晶支持得比较全面啦!但是要在液晶上显示中文就要转点弯罗,好现在说说我是怎么弄的,如果你有更方便的办法就告诉我。

要显示中文或图片就要对图片取字模,fastavr有一个字模软件FastLCD是专门生成.bas格式的字模码。



先看看显示这个画面的程序:

$Device= m16 '使用mega16

$Stack = 32  '堆栈32字节

$Clock = 4  ' 时钟4MHz

$ShiftOut Data=PORTB.5, Clk=PORTB.7,Msb  '申明一个简易SPI口

$GLCD Nokia3310, SCLK=PORTB.7, SDIN=PORTB.5, DC=PORTB.1, SCE=PORTB.4  '3310液晶连接定义

$Def RES=PORTB.0  '复位脚

$LeadChar=" ", Format(3,0)  '显示数据格式化

$Def SL = PORTB.1 '去74HC165锁存

$Def led = PORTB.3 ' 去3310背光控制

Dim n_key As Byte   '保存按键键值

Dim n As Byte       '显示一个变量n好观察3310有没有运行

Dim x As Byte

Dim m As Byte

Dim F0HD As Flash Byte ' 英文字库F0HD

Dim dian As Flash Byte

Dim ya As Flash Byte

Dim Sclk1616HD As Flash Byte



n_key=255

Set DDRB.0: Nop 3: Set RES  '复位3310LCD

Set DDRB.3

Reset led   '点亮3310背光灯

GLcdInit    '初始化3310LCD

FontSet F0HD '选择字体

GCls

GLcd(0,5),"www.atmel.com" '显示一个字符串

ImgSet(0,0),dian

ImgSet(15,0),ya

Do

GLcd(0,3),"key=";n_key   '显示键值

GLcd(60, 0), n  ' 显示一个变量n好观察3310有没有运行

Incr n

Reset SL

Set SL       ' 锁存74HC165

Reset DDRB.5  '将SDIN变为输入为读取74HC165做准备

Set DDRB.7

n_key=ShiftIn  '获得键值

n_key=Not n_key

WaitMs 100

Set DDRB.5 '将SDIN变为输出为写3310LCD做准备

ImgSet(68, 2, m), Sclk1616HD '循环显示沙漏的一个子图片

Incr m

  If m>7 Then m=0

WaitMs 100



Loop



$Include "F0HD.bas"  '英文字体的位置  

$Include "dian.bas"  '电的字模

$Include "ya.bas"    '压的字模

$Include "Sclk1616HD.bas" '动画沙漏字模



程序大家估计已经看懂了,现在的问题是,下面的字模.bas数据是怎么得到的?

$Include "F0HD.bas"  '英文字体的位置  

$Include "dian.bas"  '电的字模

$Include "ya.bas"    '压的字模

$Include "Sclk1616HD.bas" '动画沙漏字模



1:$Include "F0HD.bas"  '英文字体的位置,这个是fastavr例子自带的一个英文字母字符的一个字库,大家可以免费使用,呵呵

2:$Include "dian.bas"  '电的字模  $Include "ya.bas"    '压的字模,这才是我要说的

3:$Include "Sclk1616HD.bas" '动画沙漏字模,这个是fastavr例子里面自带的一个沙漏的字模库,免费拷贝,呵呵



最后就说说“电压”2个字的字模是怎么取的。这2个字可以做一起的,自己试试吧

要用到的字模软件Zimo21:

点击此处下载armok01118183.rar

要用到的字模软件FastLCD:

点击此处下载armok01118184.rar

原理图:

点击此处打开armok01118191.pdf





1.先打开字模软件Zimo21输入一个“电”字





2.将“电”字保存为位图





3.可以看到位图的尺寸是12×16象素





4.打开FastLCD新建一个12×16象素的新文档





5.选择格式





6.保存为.bas的字模文件就可以随时调用了,我这个字显示的是12×12的,而楼顶的是16×16的字体。





7.$Include "Sclk1616HD.bas" '动画沙漏字模是这样得到的









Fastavr中常用的字体下载:(有4种粗细不同的字体,还有←↑↓→的箭头,动画沙漏,进度条)

点击此处下载armok01118186.rar

-----此内容被agui868于2006-05-21,23:24:03编辑过


-----此内容被agui868于2006-05-21,23:26:01编辑过
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
JAMESKING
1楼-- · 2020-01-23 19:53
哈哈哈阿贵老大来了,欢迎欢迎。。。。
dx9782
2楼-- · 2020-01-23 23:42
顶!!!
redfoxen
3楼-- · 2020-01-24 00:08
顶!俺也在PIC上试试看
hayuda
4楼-- · 2020-01-24 02:59
请问上面的程序用什么语言啊?咋看不明白?

在ICC下 怎么利用上面生成的*.bas编程呢?
hackerboygn
5楼-- · 2020-01-24 04:59
 精彩回答 2  元偷偷看……
muzi
6楼-- · 2020-01-24 08:32
学习中!!!

一周热门 更多>