Mình đang có bài tập yêu cầu làm trên PIC18F4520. Nhưng do không kiếm được con này nên mình xài tạm con 18F4523 vì trong DataSheet thấy sơ đồ chân và các chức năng cơ bản cũng như tập lệnh giống nhau.
Nhưng mình dùng mạch nạp GTP-USB và Winpic800 V355g để nạp thì không hỗ trợ con này. Mạch nạp Detect ra đây là 18F4520 và nạp cũng như xóa, kiểm tra bình thường.
Mình lắp mạch để TEST con PIC này như sau :
+ Với nguồn vào gần 5V ( nguồn với đất nối tụ 0.1uF ).
+ Nối 2 chân ( 11 và 32 ) với nguồn (5V DC).
+ Nối 2 chân ( 12 và 31 ) với đất.
+ Chân MCLR nối với 1 trở 10K và nối với nguồn.
+ Chân 13, 14 (OSC1/OSC2) nối với thạch anh 12M ( có 2 tụ 15pF )
Đó mình nạp 1 chương trình đơn giản, bật PORTB-0 để làm sáng LED hay set PortB = B'00001111' để sáng 4 led thì được. Tuy nhiên nếu dùng DELAY để làm LED nhấp nháy thì trục trặc, chương trình như sau:
Code:
PROCESSOR P18F4520
INCLUDE <P18F4520.inc>
;========================================
ORG 0x0020
COUNT RES 1
;========================================
ORG 0x0000
GOTO MAIN
MAIN
CLRF PORTB
CLRF TRISB
CLRF LATB
LOOP
MOVLW B'01010101'
MOVWF PORTB
CALL DELAY ; goi 10 lan ham nay
MOVLW B'10101010'
MOVWF PORTB
CALL DELAY ; goi 10 lan ham nay
GOTO LOOP
;=========================================
DELAY
MOVLW D'255'
MOVWF COUNT
DL DECFSZ COUNT,1
GOTO DL
RETURN
;=========================================
GOTO $
END
Tuy nhiên không hiểu sao khi rút nguồn ra thì LED lại nhấp nháy một lúc rồi mới tắt. Vậy có phải khi rút nguồn PIC mới thực sự hoạt động hay trục trặc gì đó? Mình đã thử chỉnh OSC chế độ HS, và lắp mạch RESET ( cho chân MCLR nối với 1 nút rồi nối với đất ) thì ấn Reset PIC vẫn không hoạt động. Vậy mong mọi người có thể xem giùm mình tại sao không? Nguyên nhân là gì ?
- Do lập trình ?
- Do mạch nạp chưa hỗ trợ 18F4523 ( tuy nhiên mình ghi và đọc lại, kiểm tra Okie ).
- Do mạch nguyên lý?
- Hay do phần dao động (Thạch Anh 12MB) có trục trặc ?
Hơn nữa sau nửa ngày loay hoay thì bây giờ PIC vẫn nạp tốt ( đọc , ghi , kiểm tra ) tuy nhiên khi cắm vào mạch thì không hoạt động như ban đầu ( mạch TEST bật tắt 1 LED ) nữa. Mà khi đó một số chân ở cổng B có điện áp chập chờn hoặc rất yếu. Có phải PIC bị hỏng rồi không?
Rất mong các bác giúp đỡ ! Mình chỉ mong lắp cho nó chạy đúng, rồi sau sẽ nghiên cứu lập trình từ từ, mà bước lắp mạch còn mãi chưa xong,bài tập thì sắp phải hoàn thành. Tiện thể các bác cho hỏi ở HN có chỗ nào bán con PIC18F4520 không? Mình tìm mãi không có.