一种基于单片机的RGB LED背光源的设计方案
NCP 5623能实现的功能如表1。
表1 NCP 5623编程序列图
该表的$70代表NCP 5623的I2C器件写地址。
对于NCP 5623来讲没有读操作。该器件的命令为1个字节,它可以被认为是I2C传输的内容部分。该字节最高3位用来表征命令,后面5位用来表征命令的参数,比如001表示对3个LED亮度同时进行控制,而后面5位则表示亮度。下面是每个命令的子程序实现,I2C_Start()是启动I2C总线读写函数,I2C_Stop()是停止I2C传输函数,writeByte()是传输数据函数。每个命令的实现开头都应该有I2C_Start()启动传输,最后应该有I2C_Stop()停止I2C总线活动。
灯灭命令实现:
bit tempbit;
tempbit=0;
I2 C_Start();
writeByte(0x70);
tempbit=checkAck();
writeByte(0x00);
tempbit=checkAck();
I2 C_Stop();
为了节约篇幅,下面的程序省略I2C_Start();I2C_Stop()和每个writeByte()函数后面的tempbit =checkAck()。
评论