2020年6月25日 星期四

4x4


#include <at89x52.h>
char ptn_table[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90};
char time=10;
char disp_no;
char  bdata flag;
sbit up_flag=flag^0;
sbit down_flag=flag^1;
sbit stop_flag=flag^2;
void delay_1ms(int k)
{
  unsigned int i,j;
  for (i=0;i<=k;i++)
    for (j=0;j<=110;j++);
}

void T0_INT(void) interrupt 1
{
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;

time--;
if(time==0)
{
time=10;
if(stop_flag){}
else if(up_flag)
{
  disp_no++;
      if(disp_no>9)
  {
disp_no=0;
  }
  P0=ptn_table[disp_no];
  delay_1ms(500);
}
else if(down_flag)
{
disp_no--;
      if(disp_no<0)
{
disp_no=9;
}
P0=ptn_table[disp_no];
delay_1ms(500);
}
}
}



void main()
{
IE=0x82;
TMOD=0X01; //T0 MODE 1
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;
TR0=1;


P0=0xff;
while(1)
{
P2=0x7f;
if(P2_3==0){flag=0;P0=0xf9;disp_no=0;delay_1ms(20);while(P2_3!=1);delay_1ms(20);}//1 
if(P2_2==0){flag=0;P0=0x99;disp_no=4;delay_1ms(20);while(P2_2!=1);delay_1ms(20);}//4
if(P2_1==0){flag=0;P0=0xf8;disp_no=7;delay_1ms(20);while(P2_1!=1);delay_1ms(20);}//7 
if(P2_0==0){flag=0;P0=0xb0;disp_no=14;delay_1ms(20);while(P2_0!=1);delay_1ms(20);}//14 

P2=0xbf;
if(P2_3==0){flag=0;P0=0xa4;disp_no=2;delay_1ms(20);while(P2_3!=1);delay_1ms(20);}//2
if(P2_2==0){flag=0;P0=0X92;disp_no=5;delay_1ms(20);while(P2_2!=1);delay_1ms(20);}//5
if(P2_1==0){flag=0;P0=0x80;disp_no=8;delay_1ms(20);while(P2_1!=1);delay_1ms(20);}//8
if(P2_0==0){flag=0;P0=0xc0;disp_no=0;delay_1ms(20);while(P2_0!=1);delay_1ms(20);}//0 

P2=0xdf;
if(P2_3==0){flag=0;P0=0xb0;disp_no=3;delay_1ms(20);while(P2_3!=1);delay_1ms(20);}//3
if(P2_2==0){flag=0;P0=0X82;disp_no=6;delay_1ms(20);while(P2_2!=1);delay_1ms(20);}//6
if(P2_1==0){flag=0;P0=0x90;disp_no=9;delay_1ms(20);while(P2_1!=1);delay_1ms(20);}//9




P2=0xef;
if(P2_3==0){flag=0;up_flag=1;delay_1ms(20);while(P2_3!=1);delay_1ms(20);}//a
if(P2_2==0){flag=0;down_flag=1;while(P2_2!=1);delay_1ms(20);}//b
if(P2_1==0){stop_flag=0;delay_1ms(20);while(P2_1!=1);delay_1ms(20);}//c
if(P2_0==0){stop_flag=1;delay_1ms(20);while(P2_0!=1);delay_1ms(20);}//d
  }
}

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...