|  | 
| 
 | Tài trợ cho PIC Vietnam | ||||||||
| PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip | 
|  | 
|  | Ðiều Chỉnh | Xếp Bài | 
|  28-12-2010, 05:38 PM | #1 | 
| Đệ tử 1 túi Tham gia ngày: Sep 2010 
					Bài gửi: 13
 : | 
				
				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); } } | 
|   |   | 
|  29-12-2010, 04:47 PM | #2 | 
| Đệ tử 1 túi Tham gia ngày: Sep 2010 
					Bài gửi: 13
 : | Không ai giúp hết vậy????????????? thay đổi nội dung bởi: troiuuuu, 31-12-2010 lúc 08:45 AM. | 
|   |   | 
|  30-12-2010, 04:41 PM | #3 | 
| Đệ tử 2 túi | 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) | 
|   |   | 
|  31-12-2010, 08:40 AM | #4 | 
| Đệ tử 1 túi Tham gia ngày: Sep 2010 
					Bài gửi: 13
 : | |
|   |   | 
|  31-12-2010, 10:28 AM | #5 | 
| Đệ tử 6 túi Tham gia ngày: Feb 2009 
					Bài gửi: 127
 : | #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 | 
|   |   | 
|  01-01-2011, 12:13 PM | #6 | 
| Đệ tử 1 túi Tham gia ngày: Sep 2010 
					Bài gửi: 13
 : | 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?? | 
|   |   | 
|  03-01-2011, 02:43 AM | #7 | 
| Đệ tử 6 túi Tham gia ngày: Feb 2009 
					Bài gửi: 127
 : | 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 | 
|   |   | 
|  | 
| 
 | 
 |