OLED显示动图的步骤?

OLED显示动图的步骤?,第1张

如果您想在OLED显示屏上显示动图,可以按照下列步骤进行 *** 作:

1、首先,准备好您想要显示的动图文件。动图文件可以是GIF格式的图片,也可以是其他格式的图片,如BMP、JPG等。

2、接着,使用OLED显示屏所需的驱动程序和控制软件。这些软件可以通过显示屏厂商的官方网站或者其他渠道获得。

3、将动图文件和驱动程序、控制软件都下载到电脑或者其他设备上。

4、打开驱动程序郑前拦和控制软件,通过软件的界面导入动图文件。

5、调整动图的显示参数,如显示位置、帧率、循环播放等。喊胡

6、点击播放按钮,在OLED显示屏上播放动图。

希望悔闷以上步骤能帮助您在OLED显示屏上显示动图。

知识点:

1、认识元器件:Arduino UNO主控板、扩展板、LED灯模块

2、认识Mixly程序模块:数字输出、延时、循环

3、程序设计:顺序结构

任务一、点亮板载LED灯

1、程序编写

双击Mixly文件夹中Mixly.exe文件,即可打开Mixly软件:

目前使用Mixly软件0.998

2、根据Arduino UNO3及驱动程序在电脑中的地址,在Mixly软件中选择相应的位置

本机Arduino UNO3是COM76(根据各自不同的配置而定)

3、点击输入/输出模块跳出对应选项

选择数字输出模块,点击左键拖动到空白区

管脚0处点击下拉菜单选择13(Arduino UNO3上的板载灯针对13号管脚)

同时把13号管脚设为高电平(点亮)

点击右下角的上传按键(编译的主要功能是检查程序的正确性)

直到左下角对话框中出现上传成功为止,上传期间请勿插拔数据线(出现其他提示,请仔细阅读前几节内容,完成Arduino UNO3主控板的驱动安装)

这是你会发现Arduino UNO3主控板和扩展板上有一个标有“L”的LED灯常亮,说明你的Arduino UNO3主控板和你的电脑已经正常通讯了。

任务二:点亮真实的LED灯

所需材料:Arduino UNO3主控板*1、纯迅旁扩展板*1、LED灯模块*1

物理连接:

*扩展板与主控板根据对应的针脚插好

*取出一个LED模块,用连接线将其与10号管脚对应的三个管脚相连(注意插线时颜色的对应:红色基本代表电源正极VCC、黑色基本代表电源负极GND)

LED模块

硬件接线图

延续任务一的程序,把管脚13改为10(因为LED模块连接在10号管脚)

接下来增加延时功能,在“控制”菜单中找到“延时模块”,拖动至空白处并与“数字输出”模块拼接

(1000毫秒=1秒,1000微妙=1毫秒)

(相同的模块命令可以右击鼠标复制)

(把数字输出管脚10号设为低),继续增加延时功能

编写做橡好程序后,单击“上传”,将程序上传到UNO3主控板上。(注意,在上传程序之前再次确认主控板型号和COM接口号,点击上传后切勿插拔数据线直至右下角出现“上传成功”)

数字输出是Arduino UNO3主控板对电子元件的控制方式之一。它向输出的电路传送数字型号-0和1两种信息。

程序流程图

你可以看见昌知,LED模块正在重复执行亮1秒灭1秒的效果,如果没有其他干预,程序会一直重复执行下去

#define LCM_RW P2_0 //定义引脚

#define LCM_RS P2_1

#define LCM_E P2_2

#define LCM_Data P1

#define Busy0x80 //用于检测LCM状脊大槐态字中的Busy标识

#i nclude <at89x51.h>

void WriteDataLCM(unsigned char WDLCM)

void WriteCommandLCM(unsigned char WCLCM,BuysC)

unsigned char ReadDataLCM(void)

unsigned char ReadStatusLCM(void)

void LCMInit(void)

void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)

void Delay5Ms(void)

void Delay400Ms(void)

unsigned char code uctech[] = {"uctech"}

unsigned char code net[] = {"uctech.icpcn.com"}

void main(void)

{

Delay400Ms()//启动等待,等LCM讲入工作状态

LCMInit()//LCM初始化

Delay5Ms()//延时片刻(可不要)

DisplayListChar(0, 5, uctech)

DisplayListChar(0, 0, net)

ReadDataLCM()//测试用句无意义

while(1)

}

//写数据

void WriteDataLCM(unsigned char WDLCM)

{

ReadStatusLCM()//检测忙

LCM_Data = WDLCM

LCM_RS = 1

LCM_RW = 0

LCM_E = 0//若晶振速度太高可以在这后加小的仿余延时

LCM_E = 0//延时

LCM_E = 1

}

//写指令

void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC为0时忽略忙检测

{

if (BuysC) ReadStatusLCM()//根据需要检测忙

LCM_Data = WCLCM

LCM_RS = 0

LCM_RW = 0

LCM_E = 0

LCM_E = 0

LCM_E = 1

}

//读数据

unsigned char ReadDataLCM(void)

{

LCM_RS = 1

LCM_RW = 1

LCM_E = 0

LCM_E = 0

LCM_E = 1

return(LCM_Data)

}

//读状态

unsigned char ReadStatusLCM(void)

{

LCM_Data = 0xFF

LCM_RS = 0

LCM_RW = 1

LCM_E = 0

LCM_E = 0

LCM_E = 1

while (LCM_Data &Busy)//检测忙信号

return(LCM_Data)

}

void LCMInit(void) //LCM初始化

{

LCM_Data = 0

WriteCommandLCM(0x38,0)//三次显示模式设置樱友,不检测忙信号

Delay5Ms()

WriteCommandLCM(0x38,0)

Delay5Ms()

WriteCommandLCM(0x38,0)

Delay5Ms()

WriteCommandLCM(0x38,1)//显示模式设置,开始要求每次检测忙信号

WriteCommandLCM(0x08,1)//关闭显示

WriteCommandLCM(0x01,1)//显示清屏

WriteCommandLCM(0x06,1)// 显示光标移动设置

WriteCommandLCM(0x0C,1)// 显示开及光标设置

}

//按指定位置显示一个字符

void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)

{

Y &= 0x1

X &= 0xF//限制X不能大于15,Y不能大于1

if (Y) X |= 0x40//当要显示第二行时地址码+0x40

X |= 0x80// 算出指令码

WriteCommandLCM(X, 0)//这里不检测忙信号,发送地址码

WriteDataLCM(DData)

}

//按指定位置显示一串字符

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)

{

unsigned char ListLength

ListLength = 0

Y &= 0x1

X &= 0xF//限制X不能大于15,Y不能大于1

while (DData[ListLength]>0x20) //若到达字串尾则退出

{

if (X <= 0xF) //X坐标应小于0xF

{

DisplayOneChar(X, Y, DData[ListLength])//显示单个字符

ListLength++

X++

}

}

}

//5ms延时

void Delay5Ms(void)

{

unsigned int TempCyc = 5552

while(TempCyc--)

}

//400ms延时

void Delay400Ms(void)

{

unsigned char TempCycA = 5

unsigned int TempCycB

while(TempCycA--)

{

TempCycB=7269

while(TempCycB--)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12275061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存