![]() |
Chương trình không vào ngắt được
Chào cả nhà!Mọi người xem sao đoạn code của mình chương trình nó không vào ngắt dc?
#include<16f877a.h> #fuses NOWDT,PUT,HS,NOPROTECT #use delay(clock=4000000) #use fast_io(b) #byte intcon=0x0B #byte portb=0x06 #byte portd=0x08 #byte intcon=0x0B #bit RB4=portb.4 #bit RB5=portb.5 #bit RB6=portb.6 #bit RB7=portb.7 #bit RBIF=intcon.0 //dinh nghia co ngat RB #bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB #int_RB int8 a; void ngat_RB() { if(RB4==0) { while(1); { //Khong lam gi het } } if(RB5==0) { while(1); { //Khong lam gi het } } if(RB6==0) { while(1); { //Khong lam gi het } } if(RB7==0) { while(1); { //Khong lam gi het } } } main() { set_tris_b(0b11110000); set_tris_d(0); enable_interrupts(global); enable_interrupts(int_RB); ext_int_edge(H_to_L); while(true) { a=a<<1; if(a==256) { a=1; } portd=a; delay_ms(100); } } |
1 Attachment(s)
Không ai giúp hết vậy?????????????
|
trong chuong trinh ngắt chỉ cần 1 lệnh thui
ví dụ như khi nhấn thì portd =0 hay =0xFF ( tùy theo yeu cau) |
Trích:
|
#include<16f877a.h>
#fuses NOWDT,PUT,HS,NOPROTECT #use delay(clock=4000000) #use fast_io(b) #byte intcon=0x0B #byte portb=0x06 #byte portd=0x08 #byte intcon=0x0B #bit RB4=portb.4 #bit RB5=portb.5 #bit RB6=portb.6 #bit RB7=portb.7 #bit RBIF=intcon.0 //dinh nghia co ngat RB #bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB #int_RB int8 a; // Doi cho~ cai' nay` cho #int_RB "Sai o day" (^_^) *** void ngat_RB() { if(RB4==0) { while(1); { //Khong lam gi het } } if(RB5==0) { while(1); { //Khong lam gi het } } if(RB6==0) { while(1); { //Khong lam gi het } } if(RB7==0) { while(1); { //Khong lam gi het } } } main() { set_tris_b(0b11110000); set_tris_d(0); enable_interrupts(global); enable_interrupts(int_RB); ext_int_edge(H_to_L); while(true) { a=a<<1; if(a==256) { a=1; } portd=a; delay_ms(100); } } Đổi chỗ khai bao' bien' a cho #int_RB la chay dc |
Cám ơn bạn nhiều!Mà bạn cho mình hỏi tại sao lại đổi chỗ nó mới chạy ngắt dc??
|
sau khi khai báo #int_RB thi viết luôn chương trình ngắt bên dưới. bài lập trình của bạn CCS coi như chưa viết hàm ngắt
|
Múi giờ GMT. Hiện tại là 02:50 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam