导航:首页 > 操作系统 > 51单片机实时数据

51单片机实时数据

发布时间:2025-01-19 03:31:20

❶ 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;
}

❷ 51单片机如何实时显示时间

单片机实时显示时间,可以用ds1302产生时钟,然后计算时钟,并送出结果。

阅读全文

与51单片机实时数据相关的资料

热点内容
phpgetcookie 浏览:136
程序员最烦遇到的单词 浏览:122
开始服务器升级需要什么 浏览:976
gcc中的编译选项 浏览:184
程序员长沙开滴滴 浏览:136
十几加几的进位加法算法 浏览:380
c语言实现字母加密成字母 浏览:324
linux重启java服务 浏览:49
ubuntu的命令行在哪里 浏览:979
服务器tk是什么意思 浏览:393
防止软件加密码卸载 浏览:178
自建服务器与云服务器 浏览:538
已解压车能过户能买吗 浏览:771
上网行为linux 浏览:349
解压对身体的好处 浏览:68
php服务端框架 浏览:451
gitlabpdf 浏览:609
大专程序员面试公司 浏览:948
iphone相片不能新建文件夹 浏览:449
底部加密封条 浏览:497