![]() |
|
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 |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 10
: |
Nạp Pic chạy không chính xác,vout ko đủ 5V
E mới học Pic nên gặp khá nhiều rắc rối, nhờ mọi người chỉ dùm...
- Phần cứng : cấp nguồn cho pic, TA=4Mhz nối trực tiếp vào pin 13,14(vì chưa có tụ 30pF,có thể thay được bằng tụ nào vậy???) - Lập trình: ban đầu viết nút nhấn không chạy nên viết tạm cái này test thử, có chạy nhưng không chính xác...hic.Đo thử pin RB6 thì vout có 3V à, Led chỉ đỏ không nhấp nháy như trong code...ko hiểu tại sao (Biên dịch bằng CCS C, Dùng IC-Prog để nạp, dùng mạch nạp JDM ở Nhật Tảo).Mô phỏng Protues thì chạy OK ![]() Code: #include<16f877.h> #fuses nowdt,noprotect,nolvp,hs,noput,nodebug #use delay(clock=4000000) #use fast_io(b) #byte portb=0x6 #bit b6=portb.6 void main() { set_tris_b(0b00000001); output_b(0); while(true) { b6=1; delay_ms(1000); b6=0; delay_ms(1000); } } |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 10
: |
kiếm được 2 con 12pF mắc theo datasheet nhưng ko thay đổi được gì...hic
|
![]() |
![]() |
![]() |
#3 |
Trưởng lão PIC bang
|
Bạn nên post thêm sơ đồ nguyên lý của mạch thử nghiệm nữa. Có khả năng mạch reset, hay mạch dao động, hoặc các chân cấp nguồn của bạn chưa ổ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 |
![]() |
![]() |
![]() |
#4 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 10
: |
Trích:
Ban đầu phần cứng thử nghiệm : cấp nguồn 5V cho pic(11,12,31,32), TA=4Mhz nối trực tiếp vào pin 13,14 nhưng gặp vấn đề như đã nêu. Sau này có mắc thêm 2 con 12pF giống DSheet cho Thạch Anh nhưng ko thay đổi được gì ![]() ![]() |
|
![]() |
![]() |
![]() |
#5 | |
Trưởng lão PIC bang
|
Trích:
Quan trọng nhất là chân MCLR phải được đặt logic '1' (tôi thường nối chân MCLR vào VDD, thông qua một điện trở từ 10 k đến 33 k). Khuyên bạn nên dùng giá trị lớn hơn cho hai tụ nối vào thạch anh (22 - 33 pF), giá trị 15 pF trong datasheet chỉ là giá trị khuyến cáo cho thạch anh cụ thể mà họ đã dùng để thử nghiệm. 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 |
|
![]() |
![]() |
![]() |
#6 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 10
: |
Trích:
|
|
![]() |
![]() |
![]() |
#7 |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 10
: |
đi dạo 4Rum 1 vòng, thấy có vấn đề với Breakboard...hì. E đang test trên BB đó, không biết đó có phải là nguyên nhân ko??? Hì
|
![]() |
![]() |
![]() |
#8 | |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
Trích:
Code:
#include<16f877.h> #fuses nowdt,noprotect,nolvp,XT,noput,nodebug #use delay(clock=4000000) #byte TRISB=0x86; #bit rb6 =0x06.6 void main() { TRISB=0x01; while(1) {rb6=0;delay_ms(1000);rb6=1;delay_ms(1000);} } thay đổi nội dung bởi: Mr.Bi, 27-12-2009 lúc 05:06 PM. |
|
![]() |
![]() |
![]() |
#9 |
Đệ tử 1 túi
Tham gia ngày: Jul 2008
Bài gửi: 11
: |
Các bạn thân mến! sẵn đây cho mình hỏi về vấn đề của mình nhé!
Mình có đoạn code viết bằng ccs như sau: #include <16F887.h> #device adc=8 #FUSES NOWDT //No Watch Dog Timer #FUSES HS //High speed Osc (> 4mhz) #FUSES NOPUT //No Power Up Timer #FUSES NOMCLR //Master Clear pin used for I/O #FUSES NOPROTECT //Code not protected from reading #FUSES NOCPD //No EE protection #FUSES NOBROWNOUT //No brownout reset #FUSES NOIESO //Internal External Switch Over mode disabled #FUSES NOFCMEN //Fail-safe clock monitor disabled #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NODEBUG //No Debug mode for ICD #FUSES NOWRT //Program memory not write protected #FUSES BORV40 //Brownout reset at 4.0V #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8) void main() { setup_adc_ports(NO_ANALOGS|VSS_VDD); setup_adc(ADC_OFF); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard //Setup_Oscillator parameter not selected from Intr Oscillotar Config tab set_tris_e(0x00); output_e(0b111); } Phần cứng: Thạch anh 20MHz nối với tụ 33pF, nguồn,mass, chân reset mắc theo hướng dẫn của các bạn. Mình nghĩ phần này không có vấn đề. Nhưng điện thế chân RE2 chỉ có 2V thôi, trong khi RE1,RE0 thì được 4V. Lúc đầu 3 chân này hoạt động bình thường, mình sử dụng 3 chân này để cấp dữ liệu cho IC ghi dịch 74595. Sau một thời gian sử dụng tốt thì tình trạng chạy loạn đã xãy ra. Mình test lại 3 chân RE2,RE1,RE0 thì gặp phải hiện tượng trên. Chân RE2, khi out mức 1 thì V=2V,mức 0 thì V=0V, để lững thì V=2V. Các bạn giúp mình nhé! |
![]() |
![]() |
![]() |
#10 |
Nhập môn đệ tử
Tham gia ngày: Jun 2007
Bài gửi: 2
: |
Ban dl988, Thật sự khi bạn dùng proteus mô phỏng PIC không chính xác bằng thực tế đâu. Tôi đã gặp nhiều trường hợp như vậy. Không biết là bạn có khai báo cho phép và không cho phép nhiệm vụ của từng port chưa, tại vì ở một port có rất nhiều chức năng khác nhau dùng chung , PIC xuất 3V ( tín hiệu có đúng với bạn lập trình không? )
|
![]() |
![]() |
![]() |
|
|