DIS_STB=1;
send0=commond[3];
DIS_STB=0;
send(send0);
DIS_STB=1;
}
define.c如下:
#include<reg51.h>
typedef unsigned char uchar;
/****define special bit for I/O*****/
sbit DIS_DT=P1^2; /**data**/
sbit DIS_CLK=P1^1; /**CLK**/
sbit DIS_STB=P1^0;
sbit WB0=P3^2;
uchar data *data mab;
主程序3008.c如下:
#include<define.c>
#include<vfd.c>
uchar data *data mab;
void main(void)
{ uchar code vfddis[12][3]={{00,00,00},{00,00,00},{00,00,00},{00,00,00},
{0x8c,0xc4,00},{0x20,0x10,00},
{0x0c,0x87,00},{0x0c,0xc3,00},
{0x88,0x43,00},{0x84,0xc3,00},{0x84,0xc7,00},
{0x0c,0x40,00}};
uchar p[3];
uchar i;
display1(vfddis);
EA=1;
IT0=1;
ET0=1;
for(i=0;i<3;i++){p[i]=vfddis[4][i];}
display2(p,4); //send 1data to vfd
// if(mab[0]==mab[1]!=0)
// if(mab[2]==~mab[3])
// switch(mab[2])
// {case(0x01): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
// display2(p,8);
// break;
// case(0x02): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
// display2(p,7);
// break;
// case(0x03): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
// display2(p,6);
// break;
// case(0x04): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
// display2(p,5);
// break;
// case(0x05): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,6);
// break;
// case(0x06): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,7);
// break;
// case(0x07): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,8);
// break;
// case(0x08): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,9);
// break;
// case(0x09): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,10);
// break;
// case(0x0a): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,11);
// break;
// case(0x0b): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,10);
// break;
// case(0x0c): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,9);
// break;
// case(0x0d): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,8);
// break;
// case(0x0e): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,7);
// break;
// case(0x0f): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,6);
// break;
// case(0x11): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,5);
// break;
// case(0x12): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,6);
// break;
// case(0x13): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,7);
// break;
// case(0x14): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,8);
// break;
// case(0x15): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,9);
// break;
// case(0x16): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,10);
// break;
// case(0x17): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,11);
// break;
// case(0x18): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,10);
// break;
// case(0x19): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,9);
// break;
// case(0x1a): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,8);
// break;
// case(0x1b): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,7);
// break;
// case(0x1c): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,6);
/// break;
// case(0x1d): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,5);
// break;
// case(0x1e): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,6);
// break;
// case(0x1f): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,7);
// break;
// case(0x20): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,8);
// break;
// case(0x60): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,9);
// break;
// case(0xa0): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,10);
/// break;
/// case(0xe0): for(i=0;i<3;i++){p[i]=vfddis[4][i];}//display2(p,11);
// break;
// default: break;
// }
}
//中断/*******for remo scan**********/
/*void scan1()interrupt 0 //using 1
{ uchar i,j,k,maa[3]={0};
EA=0; //prohibit interrupt
for(i=3;i>0;i--)
{ for(j=0xf9;j>0&&WB0;j--){;}
} //delay 4.5ms
if(WB0)
{while(WB0); //wait low lever
for(i=3;i>0;i--)
{ for(j=0xf9;j>0&&!WB0;j--){;}
} //delay 4.5ms
if(!WB0)
{while(!WB0); //wait data
for(k=0;k<32;k++)
{j=k/8;
for(i=90;i>0&&WB0;i--){;} //delay 0.5ms
while(WB0);
for(i=94;i>0&&!WB0;i--){;} //delay 0.58ms
if(!WB0){maa[j]<<=1;
maa[j]+=1;
}
else {maa[j]<<=1;
for(i=90;i>0&&!WB0;i--){;} //delay 0.5ms
}
}
//for(j=3;j>=0;j--)mab[j]=maa[j];
mab=maa;
EA=1;
}
}
}
*/