|
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 |
23-03-2011, 11:59 AM | #1 |
Đệ tử 1 túi
Tham gia ngày: May 2009
Bài gửi: 12
: |
Giúp về Pic 12f629
Các bác cho em hỏi làm sao cấu hình trong ccs cho con pic 12f629 để dùng dao động nội, và giá trị dao động nội bằng bao nhiêu. Em xin cảm ơn
thay đổi nội dung bởi: boylikerock197, 23-03-2011 lúc 12:01 PM. Lý do: chưa đầy đủ |
23-03-2011, 02:05 PM | #2 |
Đệ tử 1 túi
Tham gia ngày: May 2009
Bài gửi: 12
: |
Em cấu hình để pic dùng dao động nội như sau thì có đúng chưa, nhờ các bác giúp đỡ
#include <12F629.h> #FUSES NOWDT //No Watch Dog Timer #FUSES INTRC_IO //Internal RC Osc, no CLKOUT #FUSES NOCPD //No EE protection #FUSES NOPROTECT //Code not protected from reading #FUSES MCLR //Master Clear pin enabled #FUSES NOPUT //No Power Up Timer #FUSES BROWNOUT //Reset when brownout detected #FUSES BANDGAP_HIGH #FUSES RESERVED //Used to set the reserved FUSE bits #use delay(clock=4000000) void main() { } |
23-03-2011, 02:59 PM | #3 | |
Đệ tử 4 túi
Tham gia ngày: May 2007
Bài gửi: 81
: |
Trích:
|
|
23-03-2011, 03:21 PM | #4 |
Đệ tử 1 túi
Tham gia ngày: May 2009
Bài gửi: 12
: |
Em viết chương trình để cho đèn led ở chân số 2 sáng nhưng không chạy
#include <12F629.h> #FUSES NOWDT //No Watch Dog Timer #FUSES INTRC_IO //Internal RC Osc, no CLKOUT #FUSES NOCPD //No EE protection #FUSES NOPROTECT //Code not protected from reading #FUSES MCLR //Master Clear pin enabled #FUSES NOPUT //No Power Up Timer #FUSES BROWNOUT //Reset when brownout detected #FUSES BANDGAP_HIGH #FUSES RESERVED //Used to set the reserved FUSE bits #use delay(clock=4000000) void main() { while(1) { output_low(PIN_A0);//A0=GP0 } } |
23-03-2011, 09:29 PM | #5 | |
Đệ tử 4 túi
Tham gia ngày: May 2007
Bài gửi: 81
: |
Trích:
|
|
24-03-2011, 10:21 AM | #6 | |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
chân số 2 là PIN_A5 chứ không phải PIN_A0 #FUSES MCLR //dùng cấu hình này phải treo r=10k lên + nguồn
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
|
25-03-2011, 02:04 PM | #7 |
Đệ tử 1 túi
Tham gia ngày: May 2009
Bài gửi: 12
: |
Bây giờ em đang muốn lập trình để cho 1 đèn led đang tắt tăng độ sáng lên từ từ rồi sau đó tối đi từ từ nhưng không biết phải làm thế nào, nhờ các bác giúp đỡ
|
25-03-2011, 02:28 PM | #8 |
Đệ tử 3 túi
|
|
28-03-2011, 11:27 AM | #9 |
Đệ tử 1 túi
Tham gia ngày: May 2009
Bài gửi: 12
: |
|
28-03-2011, 05:16 PM | #10 |
Đệ tử 3 túi
|
|
29-03-2011, 09:32 AM | #11 |
Đệ tử 1 túi
Tham gia ngày: May 2009
Bài gửi: 12
: |
Tại em cũng mới tìm hiểu về pic và cũng chưa làm điều chế xung bao giời nên bác có code mẫu để em tham khảo thì tốt quá
|
29-03-2011, 11:40 PM | #12 |
Đệ tử 3 túi
|
con 12f629 này ít chân quá, có mỗi 8 chân
bạn tham khảo code tạo xung dùng ngắt Timer1 của mình viết xem biến th là độ rộng xung Code:
#include<16F877A.h> #include<def_877A.h> #fuses NOWDT,HS #use delay(clock=20000000) int1 x; int16 th,tl; #INT_TIMER1 void ngat_timer1() { x=rd0; if(x==1){set_timer1(th); } if(x==0){set_timer1(tl); } rd0=~rd0; } void main() { trisd=0x00; rd0=0; enable_interrupts(GLOBAL); enable_interrupts(INT_TIMER1); setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_4 ); //chu ky 52.4ms th=0xA000; //do rong xung PWM tl=0xFFFF-th; while(true){} } thay đổi nội dung bởi: caremlanh, 29-03-2011 lúc 11:45 PM. |
30-03-2011, 10:21 AM | #13 |
Đệ tử 1 túi
Tham gia ngày: May 2009
Bài gửi: 12
: |
Theo như em hiểu thì đoạn code trên chỉ tạo xung cố định, như vậy thì không làm cho led tắt sáng từ từ được
|
06-04-2011, 01:23 AM | #14 |
Đệ tử 3 túi
|
đơn giản thôi bạn, thay đổi biến th là xong
|
|
|