高级会员
 
主题
帖子
积分152
阅读权限30
注册时间2015-2-10
最后登录1970-1-1
在线时间 小时
|

楼主 |
发表于 2015-9-22 18:44
|
显示全部楼层
void HC595_write(uchar dat1,uchar dat2,uchar dat3,uchar dat4)
{
uchar i,temp1=dat1,temp2=dat2,temp3=dat3,temp4=dat4;
for(i=0;i<8;i++)
{
if(temp1&0x80) RED1_LOW;
else RED1_HIGH;
if(temp2&0x80) GREEN1_LOW;
else GREEN1_HIGH;
if(temp3&0x80) RED2_LOW;
else RED2_HIGH;
if(temp4&0x80) GREEN2_LOW;
else GREEN2_HIGH;
SHCP_LOW;
SHCP_HIGH;
temp1=temp1<<1;
temp2=temp2<<1;
temp3=temp3<<1;
temp4=temp4<<1;
}
}
void delay(uint z)
{
while(z--);
}
/*--------------------------------------
** 写数据显示 **
---------------------------------------*/
void SCREEN_SHOW()
{
uchar i,j; //,temp ,t=0
SHOW_OE=1;
for(i=0;i<16;i++)
{
STCP_HIGH;
for(j=0;j<8;j++)
{
HC595_write(display_sbuf[j],0x00,display_sbuf[i+16][j],0x00);//0x00,display_sbuf[j],display_sbuf[i+16][j]
}
STCP_LOW;
STCP_HIGH;
HC138_A=i&0x01;
HC138_B=i&0x02;
HC138_C=i&0x04;
HC138_D=i&0x08;
SHOW_OE=0;
delay(5);
SHOW_OE=1;
}
}
|
|