/* Viet boi : biendt-Trang bi dien dien tu -DHGTVT
Website :
http://www.biendt.22web.net*/
/*Dung nut nhan o : P1_0
Hien thi LED 7 Seg : P2
Viet boi : biendt - Trang bi dien - dien tu CN>VT K47 */
#include <REGX51.H>
/* Ham tao thoi gian tre*/
unsigned int i;
void delay(unsigned int t)
{
for(i=1;i<1000;i++)
for(i=1;i<t;i++);
}
unsigned char n=0;
unsigned char dongcongtac(void)
{
if(P1_0==0) {
delay(3000);
while(P1_0==0)
{
;//khoong lam gi
}
n++;
if(n==10)
{ n=0; }
}
return n;
}
void hienthiso(unsigned char x)
{
switch(x)
{
case 0:{P2=0xff;P2=P2&0x40;break;}
case 1:{P2=0xff;P2=P2&0xf9;break;}
case 2:{P2=0xff;P2=P2&0x24;break;}
case 3:{P2=0xff;P2=P2&0x30;break;}
case 4:{P2=0xff;P2=P2&0x19;break;}
case 5:{P2=0xff;P2=P2&0x12;break;}
case 6:{P2=0xff;P2=P2&0x02;break;}
case 7:{P2=0xff;P2=P2&0xf8;break;}
case 8:{P2=0xff;P2=P2&0x80;break;}
case 9:{P2=0xff;P2=P2&0x10;break;}
}
}
/*Ham chinh*/
void main(void)
{
unsigned char m;
while(1)
{
m=dongcongtac();
hienthiso(m);
}
}
Các pác hãy thảo luận bài này để hiểu rõ hoạt động và chương trình trong đó

Mục tiêu dành cho các Pác K47 đang học C)