導航:首頁 > 操作系統 > 51單片機oled

51單片機oled

發布時間:2024-09-02 12:57:27

A. 怎樣用oled12864畫一個點我的是淘寶上常見的0.96『的OLED。求51單片機的程序。

首先建個顯存數組,將要顯示的數據寫入顯存里,再將整個顯存通過顯示圖片的方式寫入5110的RAM里顯示就OK啦!我的12864OLED也讀不出內部的DDRAM,但我剛用這種方法給12864OLED打點了。

unsignedcharxdatamemory[128];//顯存


//在隨意坐標上畫點
voidOLED_Drawpoint(unsignedcharx,unsignedchary,bitdat)
{//x,y,行列坐標;dat,1寫,0擦除
unsignedcharrdata;
rdata=memory[y/8*128+x];//先將對應的位元組數據從顯存數組讀出來
if(dat==1){
memory[y/8*128+x]=rdata|(0x01<<(y%8));//將讀出來的數據加上添加點的數據
}
else{
memory[y/8*128+x]=rdata-(0x01<<(y%8));
}
}


OLED_DrawBMP(0,0,128,8,memory);//(顯示圖片函數)將顯存的數據導入顯示屏

B. OLED怎樣實時顯示51單片機測得的數據

先實現劃線的函數,把相鄰的采樣點轉化為屏幕坐標之後,連接起來就可以了,下面劃線函數可以作為參考

void Line(char x1,char y1,char x2,char y2)
{
char xdelta; // width of rectangle around line
char ydelta; // height of rectangle around line
char xinc; //increment for moving x coordinate
char yinc; //increment for moving y coordinate
char rem; //current remainder
//Bool bit = 0;//used for dashed lines
char s,e; //Start,End
//See if the line is horizontal or vertical. If so, then call special routines.
if (y1 == y2)
{ //draw a horizontal line
if(x1 > x2 ) s = x2,e = x1;
else s = x1,e = x2;
for(; s <= e; s++) SetPixel(s,y1,1);
}
else if (x1 == x2)
{//draw a vertical line
if(y1 > y2 ) s = y2,e = y1;
else s = y1,e = y2;
for(; s <= e; s++) SetPixel(x1,s,1);
}
else
{// The line may be partially obscured. Do the draw line algorithm
// checking each point against the clipping regions.
xdelta = x2 - x1;
ydelta = y2 - y1;
if (xdelta < 0) xdelta = -xdelta;
if (ydelta < 0) ydelta = -ydelta;
xinc = (x2 > x1)? 1 : -1;
yinc = (y2 > y1)? 1 : -1;
// draw the first point
//SetPixel( x1, y1, 1);
if (xdelta >= ydelta)
{
rem = xdelta / 2;
for (;x1 != x2; x1 += xinc)
{
SetPixel(x1, y1,1);
rem += ydelta;
if (rem >= xdelta){
rem -= xdelta;
y1 += yinc;
}
}
}
else
{
rem = ydelta / 2;
for (;y1 != y2; y1 += yinc)
{
SetPixel(x1, y1,1);
rem += xdelta;
if (rem >= ydelta) {
rem -= ydelta;
x1 += xinc;
}
}
}
}
g_nCoordinateX = x2;//
g_nCoordinateY = y2;
}

C. 製作一個基於51單片機的電子密碼鎖需要什麼材料,要有顯示屏的,掉電不會丟失密碼的

你好!主要需要:

主要就需要這些,某寶上都可以買到,望採納!

D. 51單片機oled 怎麼調節字體大小

要看你程序所使用的庫函數,如果庫函數支持調節字體 改相應參數就行了, 如果不支持建議去找相應庫函數,自己寫比較麻煩 每一個字都需要取模 然後利用顯示bmp圖片的函數顯示出來

E. 怎麼用51單片機矩陣鍵盤向oled輸入多位數 求程序,求思路。

首先要做的就是 OLED的顯示驅動程序,寫好這個那你發什麼數據都可以了,然後 獲取矩陣按鍵的鍵值,根據鍵值判斷需要往OLED發送的數據,然後調用顯示驅動程序發送就行了。

閱讀全文

與51單片機oled相關的資料

熱點內容
linux自啟動配置文件 瀏覽:927
生存為什麼不能使用命令方塊 瀏覽:204
java與sqlserver資料庫連接 瀏覽:21
鐵路解壓視頻全過程 瀏覽:442
主備核心交換機如何連接伺服器 瀏覽:704
白金卡哪個app最靠譜 瀏覽:666
本田汽車空調壓縮機保險絲 瀏覽:155
康佳led47r5500pdf通病 瀏覽:821
cad圓相切命令 瀏覽:69
bmp文件夾打開 瀏覽:502
u盤裝系統文件下載到哪個文件夾 瀏覽:21
es系統封裝教程程序員大本營 瀏覽:523
程序員聚餐喝什麼酒好 瀏覽:608
編譯程序生成安裝文件 瀏覽:955
linux查看usb設備 瀏覽:284
安卓怎麼禁止app充值 瀏覽:559
動盪對加密貨幣的影響 瀏覽:358
國家反詐app哪裡看注冊時間 瀏覽:563
打孔式文件夾怎麼裝視頻 瀏覽:29
php怎麼學比較好 瀏覽:381