PDA

View Full Version : PIC liên tục bị treo ?


kiemkhach10
07-05-2010, 06:41 AM
chào các bác,đệ mới chập chững bước vào nghề.mới làm được cái mạch hiển thị led 7thanh,và một nút bấm.
vì mới học nên chỉ có mỗi chương trình mỗi lần bấm nút thì led7 thanh hiện lần lượt từ 0>>9.
do thích quá mà đệ bấm liên tục:D và cứ sau khoang 5 đến 10 lần là PIC BỊ TREO, chạy lung tung hoặc đơ ko chay nữa.
đệ sài pic16f88 và đặt cấu hình:__CONFIG(HS & WDTDIS& LVPDIS& BORDIS & UNPROTECT);
các huynh giải thích dùm đệ cái và cho phương án khắc phục nhé
à quên đệ dùng trình dich HTPIC.
cám ơn nhiều!

vinhlec4
07-05-2010, 07:16 PM
ban viet trong timer ha?

kiemkhach10
07-05-2010, 09:37 PM
ban viet trong timer ha?
ùm mình viết trong timer0
có cách nào khắc phục ko bạn?

kiemkhach10
08-05-2010, 10:20 AM
ko bạn nào gặp trường hợp như mình à?
buồn ghê!

bien_van_khat
08-05-2010, 10:29 AM
Có muốn giúp cũng ko giúp được.

Bạn đọc qua thread này:
http://www.picvietnam.com/forum/showthread.php?t=1263

kiemkhach10
08-05-2010, 12:21 PM
Có muốn giúp cũng ko giúp được.

Bạn đọc qua thread này:
http://www.picvietnam.com/forum/showthread.php?t=1263

các bác cho em hỏi.nếu mạch thật của em như thế này thì em cấu hình như vậy:
__CONFIG(HS & WDTDIS& LVPDIS& BORDIS & UNPROTECT); có sai ko?
em nghĩ là do em cấu hình sai nên chíp mới bị treo liên tục như vậy?

bien_van_khat
08-05-2010, 10:07 PM
1. Sau khi chụp màn hình, bạn nên chuyển thành file jpg để dung lượng file nhỏ hơn
2. Nếu mạch thật của bạn như hình bạn vẽ thì PIC ko thể chạy vì:
- Chân MCLR (reset) để lơ lửng, bạn phải nối với điện trở từ 1K-10K lên Vcc
- Chân RA1 nối trực tiếp lên Vcc có thể làm hư chân này và nút bấm ko hoạt động
- LED 7 đoạn cần điện trở hạn dòng, ko có điện trở hạn dòng là rất nguy hiểm cho các chân IO.
- Thạch anh thiếu 2 tụ điện làm tải, có thể sẽ ko dao động, dao động ko ổn định hoặc sai tần sồ.

Bạn nên tham khảo 1 mạch cơ bản nào đó sử dụng PIC để dựa vào đó thiết kế.

kiemkhach10
08-05-2010, 10:21 PM
1. Sau khi chụp màn hình, bạn nên chuyển thành file jpg để dung lượng file nhỏ hơn
2. Nếu mạch thật của bạn như hình bạn vẽ thì PIC ko thể chạy vì:
- Chân MCLR (reset) để lơ lửng, bạn phải nối với điện trở từ 1K-10K lên Vcc
- Chân RA1 nối trực tiếp lên Vcc có thể làm hư chân này và nút bấm ko hoạt động
- LED 7 đoạn cần điện trở hạn dòng, ko có điện trở hạn dòng là rất nguy hiểm cho các chân IO.
- Thạch anh thiếu 2 tụ điện làm tải, có thể sẽ ko dao động, dao động ko ổn định hoặc sai tần sồ.

Bạn nên tham khảo 1 mạch cơ bản nào đó sử dụng PIC để dựa vào đó thiết kế.
em cũng có thắc mắc như bác vậy. mạch thật thì RA1 có điện trở 10k kéo nên.
nhưng em có 1 thắc mắc là chân MCLR(reset) bỏ ko,ko nối 1 cái gì hết và thạch anh cũng ko có tụ.em đang cầm trên tay mạch đó và gồm cả PIC16F88 đã nạp chương trình. em đã thử test cả 100 lần rùi.chương trình vẫn chạy ngon lành dù thiết kế đó hơi lạ.
Do lạ em mới nhờ các cao thủ chỉ dẫn để em được hiểu biết hơn .
anh cho em hỏi luôn,nếu ko có thạch anh thì PIC16F88 có thạch anh dao động nội bên trong ko?
nếu có thì dao động đó là bao nhiêu M và cách cấu hình cho PIC để dùng dao động đó.
cám ơn nhiều!

kiemkhach10
09-05-2010, 08:03 AM
mình đã tìm ra lỗi rùi, khi cấu hình __CONFIG( PWRTEN...) đảm bảo bật đi bật lại điện thoải mái cũng ko bị treo hay đơ PIC:D vì khi mất nguồn thì timer tắt và tạo ra reset (ko cần chân /MCLR hihi)
vậy là đã giải quyết xong vấn đề treo đơ pic:))
nhưng còn vấn đề dao động trong (nội) sao ko ai góp ý gì à?
cấu hình như thế nào để có dao đọng nội 8M trong pic16f88 mong các bạn giúp đỡ
à các bác cho em hỏi thêm BROWN-OUT RESET có tác dụng như thế nào?
cám ơn!

bien_van_khat
09-05-2010, 10:28 AM
- PIC16F88 có thể cấu hình để ko dùng chân MCLR, lúc này chân đó sẽ là chân RA5, do đó ko cần điện trở kéo lên. Trong phần cấu hình bạn ko cấu hình bit này, tuy nhiên có lẽ bit này khi dịch bằng HT-PIC mặc định là tắt MCLR nên chip của bạn mới hoạt động.

-> Một sự may mắn một cách "vô lý" và đáng lẽ phải được tìm hiểu kỹ.

kiemkhach10
09-05-2010, 11:16 AM
- PIC16F88 có thể cấu hình để ko dùng chân MCLR, lúc này chân đó sẽ là chân RA5, do đó ko cần điện trở kéo lên. Trong phần cấu hình bạn ko cấu hình bit này, tuy nhiên có lẽ bit này khi dịch bằng HT-PIC mặc định là tắt MCLR nên chip của bạn mới hoạt động.

-> Một sự may mắn một cách "vô lý" và đáng lẽ phải được tìm hiểu kỹ.
vậy là do may mắn à?có lẽ trời thương em chạy vạy khắp nơi để hỏi bài:(
em sẽ __config thêm MCLRDIS là ok bác nhỉ:D
thế còn vụ thạch anh 20M ko nối với tụ và vụ dao động nội thì sao hả các bác?
và cả tác dụng của BROWN-OUT RESET như thế nào hả bác.
các bác giúp em luôn nhé!
cám ơn nhiều!

kiemkhach10
09-05-2010, 05:11 PM
bác nào giúp đỡ mình phần config cho pic16f88 để dùng được ở chế độ dao động nội 8M.
mình chỉ biết các bít IRCF1=0,IRCF1=1,IRCF2=1,trong thanh ghi OSCCON thì sẽ cho dao động 8M.nhưng mình ko biết config như thế nào để dùng được chúng khi mà nạp vào PIC thì ko chay:(
help!!!!!!!!!!!!!!!!!!!
cám ơn nhiều!

bien_van_khat
09-05-2010, 09:33 PM
bạn mở file pic16f88.h hoặc 16f88.h (nhớ ko chính xác) trong thư mục cài HT-PIC để tìm.

Làm sao bạn biết cờ MCRLDIS???

kiemkhach10
09-05-2010, 10:15 PM
bạn mở file pic16f88.h hoặc 16f88.h (nhớ ko chính xác) trong thư mục cài HT-PIC để tìm.

Làm sao bạn biết cờ MCRLDIS???

vì mình nạp bằng GTUSB của bác PhuongDuy khi mình để MCLRDIS thì mạch nạp và chạy rất ngon, mình xem lại phần cứng thấy chân MCLR để lửng ko nối với gì hết nên mình nghĩ là đúng.
mình xem ở filepic16f88.h rùi thấy định nghĩa ....INTIO nhưng khi mình config (INTIO..)thì ko thấy mạch chạy,như vậy mình mới cầu cứu các bác.
giải đáp dùm mình nhé mình đang cần gấp lém
__config( như thê nào để sử dụng được dao động nội của pic 16f88 với tần số 8M):(

bien_van_khat
10-05-2010, 11:52 AM
vì mình nạp bằng GTUSB của bác PhuongDuy khi mình để MCLRDIS thì mạch nạp và chạy rất ngon, mình xem lại phần cứng thấy chân MCLR để lửng ko nối với gì hết nên mình nghĩ là đúng.
mình xem ở filepic16f88.h rùi thấy định nghĩa ....INTIO nhưng khi mình config (INTIO..)thì ko thấy mạch chạy,như vậy mình mới cầu cứu các bác.
giải đáp dùm mình nhé mình đang cần gấp lém
__config( như thê nào để sử dụng được dao động nội của pic 16f88 với tần số 8M):(

Dùng RC nội chỉ chỉ có 2 cờ INTIO hoặc INTCLK. Bạn thử cấu hình đầy đủ tất cả các cờ xem

__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT & DUNPROTECT & BORDIS & LVPDIS);
__CONFIG(IESODIS & FCMDIS);

kiemkhach10
11-05-2010, 06:47 AM
Dùng RC nội chỉ chỉ có 2 cờ INTIO hoặc INTCLK. Bạn thử cấu hình đầy đủ tất cả các cờ xem

__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT & DUNPROTECT & BORDIS & LVPDIS);
__CONFIG(IESODIS & FCMDIS);

đã làm như bác nhưng đều thất bại:(
ko biết có 1 cách config chuẩn nào để dùng dao động nội cho 1 dòng pic 16f ko nhỉ?
hoặc cho 2 con 16f88 và 16f886.
các bác xem dùm em cái!
cám ơn nhiều!

kiemkhach10
11-05-2010, 09:34 PM
các bác tiện thể cho em hỏi luôn.nếu mình vẫn gắn thạch anh ngoài vào pic.nhưng mình ko sử dụng thạch anh ngoài mà mình dụng dao động nội có đươc ko nhỉ?hay mình phải tháo thạch anh ngoài ra mới dùng được dao động nội của PIC.
cám ơn nhiều!