![]() |
|
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 |
|
![]() |
#1 | |
Trưởng lão PIC bang
|
Trích:
2. Thông thường, bạn thiết lập sử dụng bộ dao động nội thông qua việc cấu hình chip, và điều chỉnh hoạt động của bộ dao động nội thông qua thanh ghi OSCCON. 3. Internal A/D module RC oscillator là một mạch dao động RC chỉ dùng để cấp xung clock cho module A/D, còn internal oscillator cũng là một mạch dao động RC dùng để cấp xung clock cho hệ thống (lõi xử lý của PIC cũng như đa số các module ngoại vi). Ngoài ra, WDT (nếu có) cũng sẽ sử dụng một mạch dao động RC khác, độc lập hoàn toàn với các mạch đã nêu trên. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#2 |
Đệ 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. |
![]() |
![]() |
![]() |
#3 |
Đệ tử 6 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
: |
Như vậy là 16F877A khi mình sử dụng 16F877A thì phải dùng dao động ngoài phải không bác ?
Nhân tiện nhờ bác Bác liệt kê số loại PIC thông dụng có / không có bộ dao động nội. Thanks |
![]() |
![]() |
![]() |
|
|