hezman1987
16-06-2009, 11:00 PM
Em thử nghiệm cái INT_RB đơn giản nhu sau
khi có ngắt (RB4 thay đổi trạng thái ) thì rc0 = 1;
và đèn nhấp nháy bình thường .
mạch chạy nhấp nháy ok tới khi thay đổi rb4 thì ...
tèn ten đứng im ko nhấp nháy
em có mô phong tren proteus
Có ai gặp rồi có thể cho em bik lý do ko .
Xin cảm ơn. ^^
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC = 8
#fuses NOWDT ,HS ,NOPUT ,NOPROTECT ,NODEBUG , NOBROWNOUT , NOLVP , NOCPD ,NOWRT
//
#use delay(clock = 20000000)
#INT_RB
void ngat_isr(){
rc0 = 1;
}
void main(){
enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
output_D(0xFF);
TRISC = 0x00;
PORTC = 0x00;
TRISB = 0xFF;
While(1)
{
delay_ms(250);
output_D(0x00);
delay_ms(250);
output_D(0xFF);
}
}
khi có ngắt (RB4 thay đổi trạng thái ) thì rc0 = 1;
và đèn nhấp nháy bình thường .
mạch chạy nhấp nháy ok tới khi thay đổi rb4 thì ...
tèn ten đứng im ko nhấp nháy
em có mô phong tren proteus
Có ai gặp rồi có thể cho em bik lý do ko .
Xin cảm ơn. ^^
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC = 8
#fuses NOWDT ,HS ,NOPUT ,NOPROTECT ,NODEBUG , NOBROWNOUT , NOLVP , NOCPD ,NOWRT
//
#use delay(clock = 20000000)
#INT_RB
void ngat_isr(){
rc0 = 1;
}
void main(){
enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
output_D(0xFF);
TRISC = 0x00;
PORTC = 0x00;
TRISB = 0xFF;
While(1)
{
delay_ms(250);
output_D(0x00);
delay_ms(250);
output_D(0xFF);
}
}