E làm ngắt Rb bằng con Pic16f877a thì nó bị ngắt liên tục mặc dù đã xóa cờ ngắt, cứ ấn nút cái là nó xảy ra ngắt liên tục, ko hiểu cách khắc phục kiều gì. theo e là chip nó ngắt liên tục do nó thầy RB có sự thay đổi liên tục. các bác giúp em với
Code:
#include <16f877A.h> #device *= 16 ADC = 8 #include <stdio.h> #include <stdlib.h> #include <string.h> #byte intcon=0x000B #bit RBIF=intcon.0 //dinh nghia co ngat RB #bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #INT_RB void ngat_RB() { if((RBIF)&&(RBIE)) { output_e(0b001); output_e(0b101); } RBIF=0; } void main() { SET_TRIS_B(0b11111111); SET_TRIS_A(0b111111); SET_TRIS_E(0b000); enable_interrupts(GLOBAL); enable_interrupts(INT_RB|H_TO_L); while(1) { output_e(0b000); } }
Comment