找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2548|回復: 1
打印 上一主題 下一主題
收起左側(cè)

基于CH579M的MINI版數(shù)碼相框制作

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:776997 發(fā)表于 2020-10-20 16:24 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
初得到CH554開發(fā)板起,就期待著有一塊能讀取U盤的開發(fā)板,后來CH579M EVT開發(fā)板出來,可惜沒能如愿,于是就力量集中在CH579M- R1開發(fā)板身上。
盡管CH579M- R1較之CH579M EVT的外設(shè)相差很多,當還是能夠通過它來實現(xiàn)U盤讀寫數(shù)據(jù)的愿望。
由于該開發(fā)板的例程對U盤讀寫功能展示的不很完整,因此在這方面投入了許多時間和精力,但起色不大。
直到近幾日才最終達到了預期的目標,使彩色OLED屏與U盤讀寫功能相結(jié)合,實現(xiàn)了一個迷你版的數(shù)碼相框。
在此期間,所經(jīng)歷的歷程如下:
1. OLED屏上顯示U盤信息
其實對U盤功能的期許并不在于它的寫入能力多強,能記錄采集的數(shù)據(jù)即可,但對它的讀取能力就另眼相看了,因為在微處理器這方面,你給它再大的內(nèi)存也不嫌多,不得以只能寄托于U盤之類的外存。相較于Flash,U盤更便于交換數(shù)據(jù)和信息。要想實現(xiàn)數(shù)碼相框功能,首先就要過讀取這一關(guān)。
1)首先新建一個文件“CH579HFT.TXT”,然后將字符串“CH579M-R1 OK”等信息寫入其中見圖1所示。   
1 創(chuàng)建新文件

2)通過串行通訊來顯示讀取的內(nèi)容,見圖2所示。其中,是以語句TotalCount = 12;來限定讀取的字節(jié)長度。
由此,可見數(shù)據(jù)的讀取是成功的。

2 顯示讀取內(nèi)容
3)添加OLED屏顯示程序,通過語句OLED_ShowString(0,0,mCmdParam.ByteRead.mByteBuffer,16);
來顯示讀取的內(nèi)容,見圖3所示。這樣,我們打開了U盤讀取應(yīng)用的大門。
3  OLED屏顯示
2. 讀取U軟字庫來顯示漢字
有了前面字符讀基礎(chǔ),我們可以把它改造為讀取字節(jié)數(shù)據(jù),從而以U盤來構(gòu)建軟字庫,并通過OLED屏與顯示函數(shù)配合來實現(xiàn)漢子的顯示。
1)以“海內(nèi)存知己天涯若比鄰”10個漢字為例,先用字模提取軟件提取其字模,見圖4所示。
4 提取字模
2)將字模生成的文件整理成轉(zhuǎn)換軟件所要求的格式,然后進行轉(zhuǎn)換即可得到存放字模的二進制文件,見圖5所示。
5 數(shù)據(jù)格式轉(zhuǎn)換
3)通過工具軟件數(shù)據(jù)進行審核,見圖6所示。經(jīng)審核兩者的內(nèi)容一致,只是數(shù)據(jù)類型不再不同。
6 審核BIN文件
4)通過串行通訊來分批次讀取字模,每次32        個字節(jié),其結(jié)果如圖7所示,經(jīng)判別讀取無誤。
7 讀取字模
5)配置相應(yīng)的漢字顯示函數(shù),實現(xiàn)字模的讀寫和漢再現(xiàn),見圖8所示。
當然這是利用小字庫來進行顯示,若改為大字庫進行顯示,則需要構(gòu)建一個索引表,來使?jié)h字的內(nèi)碼與字模的存儲位置建立對應(yīng)關(guān)系以便定位讀取。
8 軟字庫再現(xiàn)漢字
3. 讀取U盤中BMP顯示圖片
對于漢字我們可以把它看成是一幅黑白兩色的圖片,有漢字顯示的基礎(chǔ),就可嘗試彩色OLED屏來顯示圖片了。
由于OLED屏的尺寸限制,所以在完成顯示任務(wù)前,需多加一道工序,那就是制備可供OLED屏顯示的圖片。
1) 以工具軟件來制備供OLED屏顯示的圖片文件,該圖片的長寬值為160*80像素,其內(nèi)容見圖9所示。
9圖片處理
2) 修改圖片顯示函數(shù),將其拆散來融入數(shù)據(jù)讀取過程中,則運行后的效果如圖10所示。
這里我們之所以來講圖片顯示函數(shù)打散,也是出于MCU內(nèi)存小的考慮,是將一副圖片的數(shù)據(jù)拆分成若干塊來分批讀取,自然顯示函數(shù)也不宜在整體工作,而是服務(wù)于分批分塊逐次進行顯示。
10 圖片顯示
4.數(shù)碼相框功能的實現(xiàn)
完成了圖片顯示功能,我們就可以利用U盤容量大、可對大量文件進行管理的特點來實現(xiàn)數(shù)碼相框的功能,其基本思路是每顯示完一幅圖片后,經(jīng)延時再打開另一個圖片文件進行讀取和顯示,其效果如圖11~13所示。
11 開通圖片
12 風景圖片
13 顯示細節(jié)

建立CH579M- R1開發(fā)板上,最終以讀取U盤的形式,實現(xiàn)了數(shù)碼相框的功能。CH579M是個功能很強的芯片,真心希望一塊CH579M EVT發(fā)板以對SD讀寫功能進一步的探索,以發(fā)揮其更大的潛能。

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:328014 發(fā)表于 2020-10-20 16:32 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

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