IIC程序问题

IIC程序问题,第1张

ReadAddr是个16bit的数据,可分为高8bit和低8bit

两个可能:

1高8位为寄存器地址的高8位,低8位为寄存器地址的低8位。就像if里面走的

2高8位为从机地址(slave地址)的一部分,也是7位的slave地址(所以要左移一位(ReadAddr/256)<<1),而且是以0xA0为基址的从机地址,所以从机地址应该是:(0XA0+((ReadAddr/256)<<1)),低8位为寄存器地址的低8位。就像else里面的走的

以上 是我的理解 可能有所偏差

有一个51单片机的

/

                LED闪烁的简单试验              

     连接方法: JP11(P2)和JP1用8PIN排线连接起来              

                       

/

#include <reg51h>    //此文件中定义了51的一些特殊功能寄存器

void delay(unsigned int i);  //声明延时函数

main()

{

P1  = 0x00; //置P0口为低电平

delay(600); // 调用延时程序

P1  = 0xff; //置P0口为高电平

delay(600); // 调用延时程序

}

/延时函数/

void delay(unsigned int i)

{

unsigned char j;

for(i; i > 0; i--)

for(j = 255; j > 0; j--);

}

单片机是连线

你说的这个是单色的哟,具体可以参考数据手册。现在提供一个彩色的35寸的OLED显示屏参数给你参考下吧。

型号:OL035DZ_02WN

图像点阵 480×RGB×800行 视域尺寸 4608768mm

外形尺寸 509810286mm 视域对角线 35英寸

接口方式 总线方式 显示颜色 256/65k色

背光类型 自发光 工作电压 33V/5V

消耗功率 5V/100mA 工作环境温度 -40~80℃

保存温度 -40~80℃

知识点:

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

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

3、程序设计:顺序结构

任务一、点亮板载LED灯

1、程序编写

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

目前使用Mixly软件0998

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秒的效果,如果没有其他干预,程序会一直重复执行下去

oled屏无法显示时,请用万能表量下屏的电源脚、IIC脚,看下是不是33v。电压、电流不足会导致屏幕无法显示。

在开发项目时,屏的电源脚是通过线性稳压器(LDO)去控制的,在程序初始化时,打开LDO,发现屏幕还是不显示。

最后发现是程序跑得太快,在屏还没上电就开始屏幕的初始化,所以导致屏无法显示。

解决方法,gpio使能LDO后,延时5毫秒左右,再去屏幕初始化。

当然可能其他的单片机不会出现这种问题,我用的wb32主频是96M的,速度快,所以会出现这种问题。

IIC或者SPI。oled的屏是是IIC或者SPI接口的屏幕。IIC即InterIntegratedCircuit是集成电路总线,这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线。

以上就是关于IIC程序问题全部的内容,包括:IIC程序问题、编写一个c程序来控制LED闪烁,通过iic总线,就是sbit sda....sbit scl.... 求告知 应该怎么编写、0.96寸oled显示屏12864液晶屏模块iic接口 12864模块怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10628262.html

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

发表评论

登录后才能评论

评论列表(0条)

保存