|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
08-12-2009, 06:22 PM | #3 | |
Đệ tử 4 túi
Tham gia ngày: Jul 2008
Bài gửi: 61
: |
Trích:
vấn đề là ở chỗ thằng INT0, lúc trước tôi viết: #INT_EXT0 void ngat_ext() { // cong viec } enable_interrupts(INT_EXT0) nó báo lỗi ngay còn thằng INT1 thì Ok chương trình chạy được, mong bà con tham khảo và cho ý kiến //----------------- #include<18f4550.h> #device *=16 ADC=8 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT #use delay(clock = 20000000) #use rs232(baud=9600,parity=n,xmit=pin_C6,rcv=pin_C7) # byte portA=0xf80 # byte portB=0xf81 # byte portC=0xf82 # byte portD=0xf83 # byte portE=0xf84 // cac pin cong A #bit a0 = portA.0 #bit a1 = portA.1 #bit a2 = portA.2 #bit a3 = portA.3 #bit a4 = portA.4 #bit a5 = portA.5 #bit a6 = portA.6 #bit a7 = portA.7 //----cac pin cong B-- #bit b0 = portB.0 #bit b1 = portB.1 #bit b2 = portB.2 #bit b3 = portB.3 #bit b4 = portB.4 #bit b5 = portB.5 #bit b6 = portB.6 #bit b7 = portB.7 // cac pin cong C #bit c0 = portC.0 #bit c1 = portC.1 #bit c2 = portC.2 #bit c3 = portC.3 #bit c4 = portC.4 #bit c5 = portC.5 #bit c6 = portC.6 #bit c7 = portC.7 // cac pin cong D #bit d0 = portD.0 #bit d1 = portD.1 #bit d2 = portD.2 #bit d3 = portD.3 #bit d4 = portD.4 #bit d5 = portD.5 #bit d6 = portD.6 #bit d7 = portD.7 // cac pin cong E #bit e0 = portE.0 #bit e1 = portE.1 #bit e2 = portE.2 //void bit_to_byte( ) ////////////////////////// //signed char i; char j; char k,mode; char i=0; // Ngat ngoai 0(EXT0) # int_ext void EXT_ISR() { mode++; if(mode==100)mode=0; } // Ngat ngoai 1(EXT1) ///* # int_ext1 void EXT_ISR1() { i++; if(i==100)i=0; } //*/ /////////////////////// # int_rda void nhan() { delay_us(100); j=getc(); //portA=j; } void main() { set_tris_b(255); set_tris_d(255); set_tris_a(255); enable_interrupts(int_rda); enable_interrupts(INT_EXT);// cho EXT0 enable_interrupts(INT_EXT1); // cho EXT1 ///////////////////////// ext_int_edge(H_TO_L); // select interrups ext_int_edge(1,L_TO_H ); // cho EXT1 enable_interrupts(global); while(true) { //for(k=1;k<=100;k++) //{ putc(i); delay_ms(1000); //} } } thay đổi nội dung bởi: tkpro, 09-12-2009 lúc 02:38 PM. Lý do: Post cho anh e tham khao |
|
|
|