โดยปกติแล้ว ในการจำลองการทำงานใน proteus บางอย่างเราไม่จำเป็นจะต้องต่อวงจร อย่างเช่น oscillator หรือวงจรรีเซต microcontroller แต่อย่างไร
ซึ่งปกติผมมักจะชอบ simulate กับ PIC16F877 เป็นประจำ แต่วันนี้ผมทดลองใช้เบอร์ 18F458 ซึ่งต้องการอยากให้มันตรงกันกับบอร์ดที่เราใช้งานอยู่จริง
ทำการทดลองโค๊ด แสดงตัวหนังสืออกหน้าจอ LCD 20x4 ปรากฏว่าไม่มีข้อความปรากฏเลย แล้วแถมเจอ error message ขึ้นมาเพียบเลย มันโชว์ error ว่า “$MCLR$ is low. Processor is in reset.”
ไอ้เจ้า MCLR มันเป็นวงจรสำหรับเอาไว้รีเซต microcontrller ซึ่งปกติ ผมมักจะไม่ต้องต่อ เมื่อทดลองกับ PIC16F877 แต่พอมาเจอ PIC18F458 ปรากฏว่า มันจำเป็นต้องต่อด้วย ถึงแม้เราจะ simulatre ใน proteus ก็ตาม –_-“
ทำการต่อวงจร reset เข้าไปที่ขา 1 ของ PIC18F458 ซะ แล้วทดลองโปรแกรมอีกที error หายไปแล้ว หน้าจอ LCD แสดงผลได้ตามปกติ
นิทานเรื่องนี้ สอนให้รู้ อย่าคิดว่า ที่ทำตามๆกันมา มันจะถูกเสมอไป เวลาเปลี่ยน ใจก็เปลี่ยน (เกี่ยวกันไหมเนี่ย)
2 ความคิดเห็น:
P'Ple,
The Master clear reset was can be discliped, It look the pull down circuit but actually pullup is need consider first for proteus
Cheer!
มีโค๊ดของ LCD 16x2 กับ 18f458 บ้างเปล่าครับ อยากจะขอไปทดลองบ้างครับพอดีเพิ่งหัดเขียนโปรแกรม CCS กับ 18f458 แต่ไม่มีหนังสือเลย
Post a Comment