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 28-01-2013, 06:34 PM   #1
MINHENG
Nhập môn đệ tử
 
Tham gia ngày: Dec 2012
Bài gửi: 5
:
PIC16F887 không tự chạy khi cấp nguồn

Chào các anh/chị,
tôi đang tự học PIC và có vấn đề khi nạp xong code:
-Tôi thử ban đầu bằng một đoạn code đơn giản:
#include<16F887.h>
#fuses NOWDT,HS,NOPROTECT
#use delay(clock=20000000)
main()
{
while(true)
{
output_high(PIN_D0);
delay_ms(1000);
output_low(PIN_D0);
delay_ms(1000);
output_high(PIN_D1);
delay_ms(1000);
output_low(PIN_D1);
delay_ms(1000);
output_high(PIN_D2);
delay_ms(1000);
output_low(PIN_D2);
delay_ms(1000);
output_high(PIN_D3);
delay_ms(1000);
output_low(PIN_D3);
delay_ms(1000);
output_high(PIN_D4);
delay_ms(1000);
output_low(PIN_D4);
delay_ms(1000);
output_high(PIN_D5);
delay_ms(1000);
output_low(PIN_D5);
delay_ms(1000);
output_high(PIN_D6);
delay_ms(1000);
output_low(PIN_D6);
delay_ms(1000);
}
}

----------
Mạch chạy bình thường, nhưng khi ngắt nguồn điện cho board sau đó cấp lại thì mạch không tự chạy, muốn mạch chạy thì phải cắm dây nối từ USB máy tính vô mạch nạp (PICKIT2 của Thiên Minh) thì mạch chạy, rút dây USB mạch nạp ra thì nó vẫn chạy.
Chỉ khi ngưng cấp nguồn, sau đó cấp lại thì nó im re, phải nhá dây USB vào sau đó rút ra thì nó chạy bình thường.
Tôi dùng nạp trên board theo hướng dẫn sơ đồ các dây nạp trên manual của PICKIT2. Sau đó kéo dây ra jack cắm mạch nạp.
Còn phần cứng thì tôi làm theo như bài hướng dẫn của các anh trong diễn đàn này, chân MCRL của PIC thì tôi nối qua điện trở 10K vào nguồn 5V và đấu chung với VDD.
Mạch như thế này
Cảm ơn các anh/chị
Hình Kèm Theo
File Type: png PIC_zpsdcbd73c3.png (221.4 KB, 18 lần tải)
MINHENG vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-01-2013, 11:54 AM   #2
thupicvn
Nhập môn đệ tử
 
Tham gia ngày: Dec 2011
Bài gửi: 1
:
Cho em hỏi. em muốn post bài mới nhấn ở chỗ nào nhỉ??? hiii
thupicvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-01-2013, 12:24 AM   #3
buivantuyen89th
Đệ tử 3 túi
 
buivantuyen89th's Avatar
 
Tham gia ngày: Jun 2012
Bài gửi: 54
:
Trích:
Nguyên văn bởi MINHENG View Post
Chào các anh/chị,
tôi đang tự học PIC và có vấn đề khi nạp xong code:
-Tôi thử ban đầu bằng một đoạn code đơn giản:
#include<16F887.h>
#fuses NOWDT,HS,NOPROTECT
#use delay(clock=20000000)
main()
{
while(true)
{
output_high(PIN_D0);
delay_ms(1000);
output_low(PIN_D0);
delay_ms(1000);
output_high(PIN_D1);
delay_ms(1000);
output_low(PIN_D1);
delay_ms(1000);
output_high(PIN_D2);
delay_ms(1000);
output_low(PIN_D2);
delay_ms(1000);
output_high(PIN_D3);
delay_ms(1000);
output_low(PIN_D3);
delay_ms(1000);
output_high(PIN_D4);
delay_ms(1000);
output_low(PIN_D4);
delay_ms(1000);
output_high(PIN_D5);
delay_ms(1000);
output_low(PIN_D5);
delay_ms(1000);
output_high(PIN_D6);
delay_ms(1000);
output_low(PIN_D6);
delay_ms(1000);
}
}

----------
Mạch chạy bình thường, nhưng khi ngắt nguồn điện cho board sau đó cấp lại thì mạch không tự chạy, muốn mạch chạy thì phải cắm dây nối từ USB máy tính vô mạch nạp (PICKIT2 của Thiên Minh) thì mạch chạy, rút dây USB mạch nạp ra thì nó vẫn chạy.
Chỉ khi ngưng cấp nguồn, sau đó cấp lại thì nó im re, phải nhá dây USB vào sau đó rút ra thì nó chạy bình thường.
Tôi dùng nạp trên board theo hướng dẫn sơ đồ các dây nạp trên manual của PICKIT2. Sau đó kéo dây ra jack cắm mạch nạp.
Còn phần cứng thì tôi làm theo như bài hướng dẫn của các anh trong diễn đàn này, chân MCRL của PIC thì tôi nối qua điện trở 10K vào nguồn 5V và đấu chung với VDD.
Mạch như thế này
Cảm ơn các anh/chị
Bạn nên post hình đầy đủ để mọi người xem kỹ hơn! Theo mình nghĩ là do mạch reset thôi. Bạn thử thay tụ C14, C15 bằng tụ gốm 103 hoặc 104 xem. chứ còn chương trình đó mình nạp vào mạch của mình vẫn chạy bình thường.
Good Luck!
buivantuyen89th vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-01-2013, 06:31 PM   #4
pstin
Đệ tử 7 túi
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
:
Trích:
Nguyên văn bởi MINHENG View Post
Chào các anh/chị,
tôi đang tự học PIC và có vấn đề khi nạp xong code:
-Tôi thử ban đầu bằng một đoạn code đơn giản:
#include<16F887.h>
#fuses NOWDT,HS,NOPROTECT
#use delay(clock=20000000)
main()
{
while(true)
{
output_high(PIN_D0);
delay_ms(1000);
output_low(PIN_D0);
delay_ms(1000);
output_high(PIN_D1);
delay_ms(1000);
output_low(PIN_D1);
delay_ms(1000);
output_high(PIN_D2);
delay_ms(1000);
output_low(PIN_D2);
delay_ms(1000);
output_high(PIN_D3);
delay_ms(1000);
output_low(PIN_D3);
delay_ms(1000);
output_high(PIN_D4);
delay_ms(1000);
output_low(PIN_D4);
delay_ms(1000);
output_high(PIN_D5);
delay_ms(1000);
output_low(PIN_D5);
delay_ms(1000);
output_high(PIN_D6);
delay_ms(1000);
output_low(PIN_D6);
delay_ms(1000);
}
}

----------
Mạch chạy bình thường, nhưng khi ngắt nguồn điện cho board sau đó cấp lại thì mạch không tự chạy, muốn mạch chạy thì phải cắm dây nối từ USB máy tính vô mạch nạp (PICKIT2 của Thiên Minh) thì mạch chạy, rút dây USB mạch nạp ra thì nó vẫn chạy.
Chỉ khi ngưng cấp nguồn, sau đó cấp lại thì nó im re, phải nhá dây USB vào sau đó rút ra thì nó chạy bình thường.
Tôi dùng nạp trên board theo hướng dẫn sơ đồ các dây nạp trên manual của PICKIT2. Sau đó kéo dây ra jack cắm mạch nạp.
Còn phần cứng thì tôi làm theo như bài hướng dẫn của các anh trong diễn đàn này, chân MCRL của PIC thì tôi nối qua điện trở 10K vào nguồn 5V và đấu chung với VDD.
Mạch như thế này
Cảm ơn các anh/chị
Các con vi điều khiển, mặc dù là mua chợ trời, đồ dỏm, nhưng nếu mạch và chương trình đúng thì vẫn chạy ngon lành.
Chỉ khi bạn mua IC cũ thì không chắc thôi!!!...
Các mạch lúc chạy lúc không là do chương trình có thiếu sót, chủ yếu là phần khai báo, cấu hình,...
Chương trình của bạn chưa thấy lệnh:
set_tris_D(0);
Chưa có file:
#include <def_16f887.h>
(Ít ra thì cũng định nghĩa các port cho nó, tốt hơn là kèm luôn cái file def_16f887.h vào).
pstin vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2014, 09:08 PM   #5
henrypro24
Nhập môn đệ tử
 
Tham gia ngày: Mar 2014
Bài gửi: 2
:
Trích:
Nguyên văn bởi pstin View Post
Các con vi điều khiển, mặc dù là mua chợ trời, đồ dỏm, nhưng nếu mạch và chương trình đúng thì vẫn chạy ngon lành.
Chỉ khi bạn mua IC cũ thì không chắc thôi!!!...
Các mạch lúc chạy lúc không là do chương trình có thiếu sót, chủ yếu là phần khai báo, cấu hình,...
Chương trình của bạn chưa thấy lệnh:
set_tris_D(0);
Chưa có file:
#include <def_16f887.h>
(Ít ra thì cũng định nghĩa các port cho nó, tốt hơn là kèm luôn cái file def_16f887.h vào).
Bạn có file def_16f887.h không cho mình xin với
henrypro24 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à 06:41 AM.


Đượ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