PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 23-03-2011, 11:59 AM   #1
boylikerock197
Đệ 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 đủ
boylikerock197 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-03-2011, 02:05 PM   #2
boylikerock197
Đệ 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()
{

}
boylikerock197 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-03-2011, 02:59 PM   #3
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi boylikerock197 View Post
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()
{

}
Bạn cấu hình như vậy ko chạy đc sao? Như vậy với CCS là đủ rồi
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-03-2011, 03:21 PM   #4
boylikerock197
Đệ 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
}
}
boylikerock197 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-03-2011, 09:29 PM   #5
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi boylikerock197 View Post
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
}
}
Bạn đã cấu hình phần cứng cho chân MCLR chưa? (Nối trở với VCC thì phải)
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-03-2011, 10:21 AM   #6
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi boylikerock197 View Post
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
}
}
thiếu lệnh set_tris_a(0x00)
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 đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-03-2011, 02:04 PM   #7
boylikerock197
Đệ 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 đỡ
boylikerock197 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-03-2011, 02:28 PM   #8
caremlanh
Đệ tử 3 túi
 
caremlanh's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: hcm
Bài gửi: 52
:
Send a message via Yahoo to caremlanh
Trích:
Nguyên văn bởi boylikerock197 View Post
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 đỡ
dùng pwm đi bạn
caremlanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-03-2011, 11:27 AM   #9
boylikerock197
Đệ tử 1 túi
 
Tham gia ngày: May 2009
Bài gửi: 12
:
Trích:
Nguyên văn bởi caremlanh View Post
dùng pwm đi bạn
Nhưng mà con này không có chức năng này bác ơi
boylikerock197 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-03-2011, 05:16 PM   #10
caremlanh
Đệ tử 3 túi
 
caremlanh's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: hcm
Bài gửi: 52
:
Send a message via Yahoo to caremlanh
Trích:
Nguyên văn bởi boylikerock197 View Post
Nhưng mà con này không có chức năng này bác ơi
khổ thế, phần cứng ko hỗ trợ thì viết bằng phần mềm thôi.
caremlanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-03-2011, 09:32 AM   #11
boylikerock197
Đệ 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á
boylikerock197 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-03-2011, 11:40 PM   #12
caremlanh
Đệ tử 3 túi
 
caremlanh's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: hcm
Bài gửi: 52
:
Send a message via Yahoo to caremlanh
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.
caremlanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-03-2011, 10:21 AM   #13
boylikerock197
Đệ 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
boylikerock197 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-04-2011, 01:23 AM   #14
caremlanh
Đệ tử 3 túi
 
caremlanh's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: hcm
Bài gửi: 52
:
Send a message via Yahoo to caremlanh
đơn giản thôi bạn, thay đổi biến th là xong
File Kèm Theo
File Type: rar PWM timer.rar (41.5 KB, 80 lần tải)
caremlanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 02:26 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam