วันพุธที่ 11 พฤศจิกายน พ.ศ. 2558

นับเลขขึ้น7SEGMENT4หลักAT89S51 ตอน1การใช้งานPROTEUSเบื้องต้นต่อสายแบบBUSES MODE

Watches Sunglasses Jewery



นับเลขขึ้น7SEGMENT4หลักAT89S51 ตอน1การใช้งานPROTEUSเบื้องต้นต่อสายแบบBUSES MODE
11/11/2558 SONGCHAI PRAPATRUNGSEE
นับเลขขึ้น7SEGMENT4หลักAT89S51 ตอน1การใช้งานPROTEUSเบื้องต้นต่อสายแบบBUSES MODE

#include <REGX51.H>

sbit UP_B=P1^0;

bit UP_L;
unsigned char DATA[10]={0XC0,0XF9,0XA4,0XB0,0X99,
                        0X92,0X82,0XF8,0X80,0X90};
unsigned char DG[]={0XFE,0XFD,0XFB,0XF7};//3 2 1 0
unsigned char DIGIT[4];//3 2 1 0
unsigned int UP_T;
void DELAY(unsigned int TIME)//HAVE INPUT
{
  unsigned int i;
  unsigned char j;
  for(i=0;i<TIME;i++)
  {
    for(j=0;j<100;j++);//0.302 MS
  }
}
void DISPLAY()
{
  char i;
  for(i=0;i<4;i++)
  {
    P3=DG[i];
        P2=DIGIT[i];          
             DELAY(10);//10=3.15 MS
  }
}
void CONVERT_TO_UNIT(int NUMBER)
{
   int NUM;
   //CONVERT DEC TO UNIT
   NUM=NUMBER/1000;//PAN
   DIGIT[3]=DATA[NUM];

   NUM=((NUMBER%1000)/100);//ROY
      DIGIT[2]=DATA[NUM];

   NUM=((NUMBER%100)/10);//SIB
      DIGIT[1]=DATA[NUM];

   NUM=NUMBER%10;//NAUY
      DIGIT[0]=DATA[NUM];
}
void CUT_ZERO()
{
  if(DIGIT[3]==DATA[0])
  {
    DIGIT[3]=0XFF;
    if(DIGIT[2]==DATA[0])
    {
      DIGIT[2]=0XFF;
      if(DIGIT[1]==DATA[0])
      {
        DIGIT[1]=0XFF;  
      }
    }
  }
}
void main()
{
      int NUMBER=0;
  CONVERT_TO_UNIT(NUMBER);//CONVERT DEC TO UNIT
  while(1)
  {
    if(UP_B==0&&UP_L==0)
                        {
                                    if(UP_T++==5)  
                                    {
                                          UP_L=1;
                                           UP_T=0;
                                                NUMBER++;
                                                if(NUMBER>9999)NUMBER=9999;
                                                CONVERT_TO_UNIT(NUMBER);//CONVERT DEC TO UNIT
                                    }
                  }else if(UP_B==1)
            {
                  UP_L=0;
                  UP_T=0;
            }
    CUT_ZERO();
    DISPLAY();
  }
}


เชิญชมวีดีโอครับ!





ไม่มีความคิดเห็น: