找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 6684|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

玩轉(zhuǎn)12864液晶顯示圖片,畫點,畫任意直線教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:55815 發(fā)表于 2018-1-22 22:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
通過上一篇的實驗,相信大家都掌握了顯示字符的基本用法。
下面我們來看一下12864液晶更高級的用法。
首先是它的繪圖功能。
讓我們先來顯示一整副的圖片吧,也就是128x64大小。
在使用繪圖功能時,先要打開擴充指令集,然后再打開繪圖功能。接著就是送數(shù)據(jù)顯示了。這里我們首先要弄明白ST7920的顯示坐標關(guān)系。其顯示坐標如下。

從圖中可以看出,X方向共有8個字(16個字節(jié))Y方向共有0~31 行 分為上下兩個屏。
弄懂了之后我們就可以依照此坐標來顯示一整屏的圖片了。
隨便用一個圖片的提取轉(zhuǎn)換軟件,講一副126X64大小的圖片轉(zhuǎn)換成字節(jié)數(shù)據(jù),總共字節(jié)大小為128*64/8 = 1024個字節(jié)。
下面我們來看看這個顯示整屏圖像的函數(shù)
void v_Lcd12864DrawPicture_f( unsigned char code *pPicture )
{
    unsigned char i, j, k ;
    for( i = 0 ; i < 2 ; i++ )//分上下兩屏寫
    {
        for( j = 0 ; j < 32 ; j++ )//行
        {
            v_Lcd12864SendCmd_f( 0x80 + j ) ;//寫Y坐標(第幾行上寫)
            if( i == 0 )                    //寫X坐標  (判斷在那一屏上)
            {
                v_Lcd12864SendCmd_f( 0x80 ) ;
            }
            else
            {
                v_Lcd12864SendCmd_f( 0x88 ) ;
            }
            for( k = 0 ; k < 16 ; k++ )      //寫一整行數(shù)據(jù)(一行共16個字節(jié),合八個字符)
            {
                v_Lcd12864SendData_f( *pPicture++ ) ;
            }
        }
    }
    v_Lcd12864SendCmd_f( 0x30 ) ;//基本功能設(shè)置
}
看看效果圖片如下:顯示一個人的圖像



完整文檔下載:
12864畫點直線.doc (317 KB, 下載次數(shù): 89)


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

使用道具 舉報

沙發(fā)
ID:83690 發(fā)表于 2019-1-20 16:34 | 只看該作者
這是從哪弄的騙積分的玩意兒,一點用都沒有
宏定義全都不在
回復(fù)

使用道具 舉報

板凳
ID:466430 發(fā)表于 2019-1-20 17:54 來自手機 | 只看該作者
額,看不懂
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表