mình có làm 1 cái đếm từ 0000>>9999 bạn xem thử được không
#include <16f877a.h>
//#include< def_877a.h>
#fuses hs,nolvp,nowdt,put
#use delay(clock=20000000)
#use fast_io(B)
#use fast_io(C)
int16 gian,i,j,dem,nghin,tram,chuc,dv;
unsigned char MA7DOAN[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,
0x7D,0x07,0x7F,0x6F};
void main ()
{
set_tris_b(0x00);
set_tris_c(0x00);
while (1)
{
for(dem=0;dem<=9999;dem++)
{
gian=dem;
nghin=dem/1000;
dem=dem%1000;
tram=dem/100;
dem=dem%100;
chuc=dem/10;
dv=dem%10;
for(j=0;j<=100;j++)
{
output_c(0xbf);
output_b(MA7DOAN[dv]);
delay_us(1000);
output_c(0xdf);
output_b(MA7DOAN[chuc]);
delay_us(1000);
output_c(0xef);
output_b(MA7DOAN[tram]);
delay_us(1000);
output_c(0Xf7);
output_b(MA7DOAN[nghin]);
delay_us(1000);
}
dem=gian;
}
}
}
|