#include
#include
#include
void DM413_Sys_delay(unsigned int Key_i) //系统延时
{
unsigned char idata Key_j;
while((Key_i--)!=0)
{
//WDTRST=0x1E;
//WDTRST=0xE1; //喂狗
for(Key_j = 0;Key_j < 1;Key_j ++);
}
}
//传入的数据依次为红,绿,蓝 ,数据格式为16进制.256个数值.
void DM413_Send(unsigned char Red_Data,unsigned char Green_Data,unsigned char Blue_Data)
{
unsigned char i,Date_R,Date_G,Date_B; //R变量,G变量,B变量
Date_R = Red_Data; //赋予R变量值
Date_G = Green_Data; //赋予G变量值
Date_B = Blue_Data; //赋予B变量值
STB = 0;
DAI = 0;
CKI = 0;
STB = 1; //打开使能端
for(i=8;i>0;i--) //发送红色数据
{
CKI = 0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
if(Date_R & 0x80) DAI = 1;
else DAI = 0;
CKI = 1;
Date_R <<= 1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
DAI = 0;
}
for(i=8;i>0;i--) //发送绿色数据
{
CKI = 0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
if(Date_G & 0x80) DAI = 1;
else DAI = 0;
CKI = 1;
Date_G <<= 1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
DAI = 0;
}
for(i=8;i>0;i--) //发送绿色数据
{
CKI = 0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
if(Date_B & 0x80) DAI = 1;
else DAI = 0;
CKI = 1;
Date_B <<= 1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
DAI = 0;
}
STB = 0; //关闭使能端
CKI = 0;
DM413_Sys_delay(4);
DAI = 0;
}