找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 9673|回復: 2
打印 上一主題 下一主題
收起左側

Nokia 3310LCD,Nokia 5110LCD顯示中文和動畫的教程

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:76190 發(fā)表于 2015-4-5 16:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

大家在使用fastavr的時候感覺哪里最方便,當然是液晶支持得比較全面啦!但是要在液晶上顯示中文就要轉(zhuǎn)點彎羅,好現(xiàn)在說說我是怎么弄的,如果你有更方便的辦法就告訴我。
要顯示中文或圖片就要對圖片取字模,fastavr有一個字模軟件FastLCD是專門生成.bas格式的字模碼。

先看看顯示這個畫面的程序:
$Device= m16 '使用mega16
$Stack = 32  '堆棧32字節(jié)
$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)  '顯示數(shù)據(jù)格式化
$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變?yōu)檩斎霝樽x取74HC165做準備
Set DDRB.7
n_key=ShiftIn  '獲得鍵值
n_key=Not n_key
WaitMs 100
Set DDRB.5 '將SDIN變?yōu)檩敵鰹閷?310LCD做準備
ImgSet(68, 2, m), Sclk1616HD '循環(huán)顯示沙漏的一個子圖片
Incr m
  If m>7 Then m=0
WaitMs 100

Loop

$Include "F0HD.bas"  '英文字體的位置   
$Include "dian.bas"  '電的字模
$Include "ya.bas"    '壓的字模
$Include "Sclk1616HD.bas" '動畫沙漏字模

程序大家估計已經(jīng)看懂了,現(xiàn)在的問題是,下面的字模.bas數(shù)據(jù)是怎么得到的?
$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個字可以做一起的,自己試試吧



1.先打開字模軟件Zimo21輸入一個“電”字


2.將“電”字保存為位圖


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


4.打開FastLCD新建一個12×16象素的新文檔


5.選擇格式


6.保存為.bas的字模文件就可以隨時調(diào)用了,我這個字顯示的是12×12的,而樓頂?shù)氖?6×16的字體。


7.$Include "Sclk1616HD.bas" '動畫沙漏字模是這樣得到的




Fastavr中常用的字體下載:(有4種粗細不同的字體,還有←↑↓→的箭頭,動畫沙漏,進度條)
點擊此處下載86.rar

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:81441 發(fā)表于 2015-6-25 13:29 | 只看該作者
請問樓主FastAVR能不能共享一下?到處都沒得下載。
回復

使用道具 舉報

板凳
ID:400651 發(fā)表于 2019-8-5 09:13 | 只看該作者
這代碼看上去像VB
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表