這兩天閑來無事,買了個OLED12864玩玩,商家提供了一個驅(qū)動,但不好用,自己改編了一下,重寫了80%以上的代碼,好用多了,發(fā)給大家參考一下.先發(fā)圖
IMG_0343.JPG (1.68 MB, 下載次數(shù): 38)
下載附件
不同大小的漢字
2020-2-6 10:52 上傳
顯示不同大小的漢字,12x12行楷和24x24新魏
IMG_0344.JPG (1.72 MB, 下載次數(shù): 55)
下載附件
ASCII字串與數(shù)字
2020-2-6 10:52 上傳
ASCII字串和10位以內(nèi)的任意數(shù)字
IMG_0345.JPG (1.74 MB, 下載次數(shù): 60)
下載附件
漢字和ASCII
2020-2-6 10:52 上傳
漢字和ASCII,漢字為16x16楷體,ASCII為6x8小號字
IMG_0346.JPG (1.75 MB, 下載次數(shù): 48)
下載附件
位圖
2020-2-6 10:52 上傳
原驅(qū)動中的位圖,不過我是用我的通用字塊寫入程序?qū)懭氲?br />
/****************************************************************
函數(shù)功能: 通用NxM規(guī)格的字塊或圖塊顯示函數(shù)
說 明: 用于顯示一個0~7行0~128列的字塊或圖塊
比如6x8 8x16 24x24 32x32等等,
也可顯示一個64x128的全屏圖像
入口參數(shù): x 起始列位置,0~128
y 超始位位置,0~7
M 字體點陣行規(guī)格1~64, 6,8,16,24等等
N 字體點陣列規(guī)格1~128,8,16,24,128等等
*po 要顯示的字塊或圖塊對應代碼庫中的首地址
出口參數(shù): 無
*****************************************************************/
void OLED_NxM_char(unsigned char x, y,N,M,unsigned char *p)
{
unsigned char i,j,page;
page= (M+5) / 8; //計算行規(guī)格占用的行(頁)數(shù),點陣規(guī)格與顯示規(guī)格不一樣
for(j=0;j<page;j++) //行循環(huán),例如8x16字塊占2行,循環(huán)2次.6x8占1行,循環(huán)1次
{
OLED_Set_Pos(x , y+j); //換行
for(i=0;i<N;i++) //列循環(huán),每字每行要寫的列數(shù)
{
OLED_WrDat(p[i+N*j]); //計算每行每列數(shù)據(jù)地址,寫入顯存
}
}
}
每個函數(shù)都有很詳細的注解,很適合入門者
第一次發(fā)貼,請多包涵
附源程序:
OLCD12864.zip
(100.64 KB, 下載次數(shù): 320)
2020-2-6 11:24 上傳
點擊文件名下載附件
OLCD12864驅(qū)動程序 下載積分: 黑幣 -5
附件發(fā)了嗎??
|