![]() |
|
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 |
![]() |
#3 |
Đệ tử 1 túi
|
![]() Tiện đây anh namqn cho e hỏi. E mới học Pic được 2 tuần và tự học nên không có nhiều kinh nghiệm. E lắp mạch dao cho PIC như hình vẽ mà đèn LED cứ chạy loạn hết cả lên.Đổ chương trình nào vào cũng thế(Trước e có chạy chương trình test thì đôi lúc lại được). E ko nghĩ là do lỗi code.Chạy trong Proteus rất đẹp.Có khả năng ở dao động thạch anh ko? e dùng winpic800 và PG2C để nạp. verify ok.
đây là đoạn code của e. #include <16F877A.h> #fuses NOWDT,PUT,HS,NOPROTECT #use delay(clock=20000000) #use fast_io(b) #use fast_io(d) #byte portb=0x06 #byte portd=0x08 int16 b; #INT_EXT void ngat_rb0() { b++; } int16 a; int8 nghin, tram, chuc, dvi; void hex_bcd() { nghin=a/1000; a=a%1000; tram=a/100; a=a%100; chuc=a/10; dvi=a%10; } void hienthi() { output_d(dvi|0xE0); delay_ms(2); output_d(chuc|0xD0); delay_ms(2); output_d(tram|0xB0); delay_ms(2); output_d(nghin|0x70); delay_ms(2); } void main() { set_tris_b(0b0000001); set_tris_d(0x00); enable_interrupts(global); enable_interrupts(int_ext); ext_int_edge(H_to_L); while(1) { a=b; if(a==10000) { a=0; } hex_bcd(); hienthi(); } } E chưa biết làm code ở trong khung.a hướng dẫn e được ko. |
![]() |
![]() |
|
|