code mẫu cho 8051 - Quét LED 7 đoạn


Chương trình quét LED 7 đoạn để hiển thị các số từ 00 đến 99.

Mã nguồn C:



#include<at89x51.h>
#define c P2_0
#define d P2_1
unsigned char so[10]={0xc0,0x79,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(int ms)
{
    while(ms--)
    {}
}
void hienso(unsigned char x)
{
    unsigned char chuc=x/10;
    unsigned char donvi=x%10;
    c=1;d=1;
    if(x>=10)
    {
         c=0;
         d=1;
         P0=so[chuc];
         delay(50);
          c=1;
         d=0;
         P0=so[donvi];
         delay(50);

    }
    if(x<10)                  
    {
          c=0;
         d=1;
         P0=so[x];
         delay(100);
    }
}
main()
{
   P0=0xff;
   while(1)
   {
      unsigned char i;
      for(i=0;i<100;i++)    
      hienso(i);
   }
}

0 nhận xét :

Đăng nhận xét