Chương trình chạy ngon lành nè!!!!,...
Hiển thị led chậm lại, lặp lại ít lần để dễ quan sát trên Protues!!!.
Seg a,b,c,d,e,f,g....lần lượt nối với C0, C1,....C6
#include <16F877A.h>
#include <DEFS_16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(d)
#priority ext,timer1
int16 dem,j,x,count=0,nghin,tram,chuc,dv,y;
unsigned char MA7DOAN[] = {0x40,0x79,0xa4,0x30,0x19,0x12,
0x02,0x78,0x00,0x10};
#int_ext
void ngat_RB0()
{
char c;
c=input_b();
++count;
x=count;
}
void main()
{
set_tris_b(0b00000001);
set_tris_d(0);
set_tris_c(0);
enable_interrupts(global);
enable_interrupts(int_ext);
ext_int_edge(H_to_L);
//count=0;
while(TRUE)
{
nghin=x/1000;
y=x%1000;
tram=y/100;
dem=y%100;
chuc=dem/10;
dv=dem%10;
for(j=0;j<=10;j++)
{
output_d(0xbf);
output_c(MA7DOAN[dv]);
delay_ms(10);
output_d(0xdf);
output_c(MA7DOAN[chuc]);
delay_ms(10);
output_d(0xef);
output_c(MA7DOAN[tram]);
delay_ms(10);
output_d(0Xf7);
output_c(MA7DOAN[nghin]);
delay_ms(10);
}
}
}
thay đổi nội dung bởi: pstin, 25-12-2012 lúc 10:41 AM.
|