Nokia 3310LCD,Nokia 5110LCD显示中文和动画的教程
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118173.gif大家在使用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输入一个“电”字
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118174.gif
2.将“电”字保存为位图
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118175.gif
3.可以看到位图的尺寸是12×16象素
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118176.gif
4.打开FastLCD新建一个12×16象素的新文档
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118177.gif
5.选择格式
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118178.gif
6.保存为.bas的字模文件就可以随时调用了,我这个字显示的是12×12的,而楼顶的是16×16的字体。
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118179.gif
7.$Include "Sclk1616HD.bas" '动画沙漏字模是这样得到的
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118180.gif
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118181.gif
http://cache.amobbs.com/bbs_upload782111/files_6/armok01118182.gif
Fastavr中常用的字体下载:(有4种粗细不同的字体,还有←↑↓→的箭头,动画沙漏,进度条)
点击此处下载armok01118186.rar
-----此内容被agui868于2006-05-21,23:24:03编辑过
-----此内容被agui868于2006-05-21,23:26:01编辑过 哈哈哈阿贵老大来了,欢迎欢迎。。。。 顶!!! 顶!俺也在PIC上试试看 请问上面的程序用什么语言啊?咋看不明白?
在ICC下 怎么利用上面生成的*.bas编程呢? BASIC语言吧。 学习中!!!
顶 可不可以用在ICCAVR中,有什么字模软件应用在C语言中呢,贵老大! 学习中!!! 顶 在BASCOM里怎么驱动3310啊 顶 楼主的这LCD模块做得不错呀,如何联系,想弄个玩玩。 记录! 学习一下,那个FastLCD我还不会用呢! 看看 mark 3Q,楼主,学习。 cool 学习一下,感谢! 记号 如果用gcc的要怎樣使用生成的.bas檔呢? THANKS 记号 我原来的旧手机坏了但液晶还是好的,不知道型号,还有我老婆的手机也被我拆了,是VK的
很想用这几个lcd来做点东西,两个彩屏和两个普通屏lcd,不利用一下好可惜 记录一下 呵呵 学习了 ding le. 学习! 学习了好东西 好东西 好东西,学习了…… 我想问一下:Nokia 8250 LCD 怎么用?
谢谢! mark mark thank you
a good egg mark 顶 谢谢 MARK! good and up 顶! 参考一下!支持 好东西,做个记号 呵呵,这个翻出来啦 好东西,做个记号 what is fastavr???
I don't know.... 好东西,记号个!!! 确实是好帖子 受教了 记号 也做个记号。 太牛了,人才 顶一个啊. mark MARK! 学习了 mark mark 啊 mark 这个屏是比较便宜,但用起来比较麻烦,那时写了个时钟51的RAM不够用,52才完成了 好! mark 顶帖 正好买了一个,过来参考一下 mark. 强悍。 mark mark,学习中 学习 mark~~ mark 不错 赞一个 记号 mark mark 不错~ 学习了,谢谢 做记号是个好习惯,哈哈! mark mark 很好 学习一下 强悍 这屏 便宜也好用! mark mark mark 学习了 学习了 mark mark~~ 呵呵~~~学习咯,哈哈~~多向你们学习学习 mark 学习 mark~ x学习学习 mark mark
页:
[1]
2