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ị
|