Dùng ngắt ngoài để đếm xung!!!
các anh cho em hỏi chương trình sau bị lỗi gì mà sao em dùng ngắt ngoài để đếm xung mà chỉ hiện lên số 0 ak??? thanks all!!!
#include <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,nghin,tram,chuc,dv;
unsigned char MA7DOAN[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,
0x7D,0x07,0x7F,0x6F};
#int_ext
void ngat_RB0()
{
++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(1)
{
nghin=x/1000;
x=x%1000;
tram=x/100;
dem=x%100;
chuc=x/10;
dv=x%10;
for(j=0;j<=100;j++)
{ output_d(0xbf);
output_c(MA7DOAN[dv]);
delay_us(1000);
output_d(0xdf);
output_c(MA7DOAN[chuc]);
delay_us(1000);
output_d(0xef);
output_c(MA7DOAN[tram]);
delay_us(1000);
output_d(0Xf7);
output_c(MA7DOAN[nghin]);
delay_us(1000); }
}
}
|