导航:首页 > 操作系统 > 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相关的资料

热点内容
程序员进化论解说 浏览:871
怎么设置个性化文件夹图标 浏览:390
基金投资与入门技巧pdf 浏览:891
十六进制文件反编译成c语言 浏览:579
程序员手术裸辞 浏览:251
编译生成错误是什么原因 浏览:965
我命令你停下用英语怎么说 浏览:75
rtk文件夹不正确怎么办 浏览:926
java方法签名 浏览:83
java程序员加薪申请书 浏览:600
女孩子如何嫁给程序员 浏览:657
安卓的动画响应为什么卡 浏览:835
怎么把axure放到服务器上 浏览:847
元柱体的钢材理论重量的便捷算法 浏览:467
地平线4如何加密 浏览:277
淘宝游戏解压神器 浏览:706
androidurl视频 浏览:842
app什么播放器好 浏览:13
网络机顶盒服务器地址 浏览:568
程序员常用软件下载网站 浏览:441