Cảm ơn anh thaithienanh nhiều, mình đã làm được rồi.Đã OK phần ngắt. Chiều nay mới quét và hiển thị 2x7 segment leds. Cho nó đếm, đã dần hiểu đựoc7 lập trình vi điầu khiển. Mong đựoc7 các bác chỉ giáo nhiều hơn nữa.
đây là chưong7 trình mà mình mới viết, mai sẽ sử dụng ngắt và timer để làm lại.
Code:
#include<18F4550.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=10000000)
#use fast_io(b)
#use fast_io(a)
#byte portb=0x6
BYTE CONST LED_MAP[10] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x58,0x00,0x10};
int8 a,i,j;
void ngat()
{
a++;
if(a>=100)
a=0;
}
void main()
{set_tris_a(0);
a=0;
set_tris_b(0);
while(true)
{ i=0;while(i<=200)
{i++;
output_b(led_map[a/10]);
output_high(PIN_B7);
output_low(PIN_A0);
delay_ms(3);
output_high(PIN_A0);
output_b(led_map[a%10]);
output_low(PIN_A1);
delay_ms(3);
output_high(PIN_A1);
}
ngat();
}
return;
}