📄 16·16.c
字号:
#include<reg52.h>
sbit CLK1 =P2^0;
sbit DATA1 =P2^1;
sbit CLK2 =P2^2;
sbit DATA2 =P2^3;
sbit CLK3 =P2^4;
sbit DATA3 =P2^5;
sbit CLK4 =P2^6;
sbit DATA4 =P2^7;
unsigned char *p;
unsigned char arry[]={
0x00,0x00,0x00,0x08,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3F,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00};
void senddata_reg(unsigned char select,unsigned char dat);
unsigned char temp;
//延时500+0us 函数定义
void delay0ms(void)
{
unsigned char i,j;
for(i=99;i>0;i--)
for(j=1;j>0;j--);
}
//延时1000000+3us 函数定义
void delay1000ms(void)
{
unsigned char i,j,k;
for(i=254;i>0;i--)
for(j=14;j>0;j--)
for(k=139;k>0;k--);
}
main()
{
unsigned int i;
temp=0xff;
P0=P3=0x00;
while(1)
{
p=&arry;
for(i=1;i<=128;i=i*2)
{
P3=i;//8行
temp=0xff-*p;
senddata_reg(1,temp);
p++;
temp=0xff-*p;
senddata_reg(3,temp);
p++;
delay0ms();
}
for(i=1;i<=128;i=i*2)
{
P0=i;
temp=0xff-*p;
senddata_reg(2,temp);
p++;
temp=0xff-*p;
senddata_reg(4,temp);
p++;
delay0ms();
}
}
}
void senddata_reg(unsigned char select,unsigned char dat)
{
unsigned char i1,temp1;
bit j1;
if(select==1)
{
temp1=dat;
for(i1=0;i1<8;i1++)
{
CLK1=0;
j1=temp1&0x80;
DATA1=j1;
temp1=temp1<<1;
CLK1=1;
}
CLK1=0;
}
else if(select==2)
{
temp1=dat;
for(i1=0;i1<8;i1++)
{
CLK2=0;
j1=temp1&0x80;
DATA2=j1;
temp1=temp1<<1;
CLK2=1;
}
CLK2=0;
}
else if(select==3)
{
temp1=dat;
for(i1=0;i1<8;i1++)
{
CLK3=0;
j1=temp1&0x80;
DATA3=j1;
temp1=temp1<<1;
CLK3=1;
}
CLK3=0;
}
else if(select==4)
{
temp1=dat;
for(i1=0;i1<8;i1++)
{
CLK4=0;
j1=temp1&0x80;
DATA4=j1;
temp1=temp1<<1;
CLK4=1;
}
CLK4=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -