ตอนที่ 6 วิธี Program MCU เพื่อทำการ Debug ด้วย MPLAB-ICD

|
Devices |
ในช่องของ Device จะขึ้นว่า PIC16F877 ถ้าเราตั้ง Development โหมดเป็น MPLAB ICD Debugger ถ้ายังไม่ได้ตั้งจะไม่มีอะไรขึ้นที่ช่องนี้ ให้ไปตั้งที่ Option->Development mode |
|
Oscillator |
เลือก RC ถ้าใช้ Resistor/Capacitor ภายใน เลือก LP ถ้าใช้ Low Power Crystal เลือก XT ถ้าใช้ Crystal หรือ Resonator เลือก HS ถ้าใช้ High Speed Crystal หรือ Resonator ผมใช้ความถี่ 4 MHz เลยเลือกใช้ XT |
|
Watchdog Timer |
Off/Disable ถ้าไม่ต้องการใช้ Watchdog ให้เลือก Off On/Enable ถ้าต้องการใช้ Watchdog ให้เลือก On โดยเราจะต้องทำการส่งคำสั่งไป Clear watchdog ทุกๆระยะ ในโปรแกรม Timerไม่ได้ใช้ Watchdog จึง Set เป็น Disable |
|
Power Up Timer |
ถ้าเรา Set เป็น On/Enable MCU จะทำการสร้าง delay ให้ 72 msec ก่อนที่โปรแกรมบรรทัดแรกทำงาน ใช้ในการกรณีที่เราต้องการรอให้ Power supply stable |
|
Brown Out Detect |
ถ้า Set เป็น On/Enable MCU จะคอยเช็คว่า VDD อยู่ในสถานะที่ MCU กำหนดหรือไม่ ถ้าอยู่ต่ำกว่า จะทำการ Reset ตัวเอง |
|
Low Voltage Programming |
ต้อง Set ให้เป็น Disable เพราะถ้าเราใช้ MPLAB ICD ในการ debug จะไม่สามารถใช้ mode นี้ได้ |
|
Code Protect Data EE |
ถ้า Set เป็น On/Enable MCU จะทำการ lock Data EEPROM ไม่ให้สามารถทำการเขียนได้ |
|
Flash Memory Write |
ถ้ากำหนดเป็น Memory written to by EECON คือการกำหนดให้สามารถเขียน program memory ผ่านทาง EECON register ได้ ขณะที่ MCU run อยู่ |
|
Code Protect |
ถ้า Set เป็น On/Enable MCU จะทำการ Lock program ไม่ให้สามารถทำการอ่าน Program จากตัว chip ได้โดยสามารถ สามารถกำหนดได้เป็นช่วงๆ |
IDs and Checksum
จะแสดงค่า Checksum ของ data และ ID code ถ้าเราต้องการ checksum เป็น ID code ให้ check ที่ Use Checksum as ID checkbox
Voltages
จะแสดงค่า VDD และ VPP ณ ปัจจุบันของบอร์ดที่เราพัฒนา สามารถ Update ได้ โดยที่ MPLAB-ICD ต้องการ VPP ที่ 12 Volts
Program Options
Start Address และ End Address เป็นช่วงของ program หรือ data memory ที่จะทำการ Read Write หรือ Verified
Check box item จะเป็นการกำหนดว่าจะโปรแกรม program memory ใน memory ส่วนไหนบ้าง
ส่วน Enable Debug mode check box จะกำหนดว่าจะให้ โปรแกรมแบบให้สามารถ Debug ด้วยหรือไม่ ในการทดลอง เราต้อง check Enable Debug mode เพื่อให้เราสามารถทำการ debug program ได้ ส่วนเมื่อเราทดลองเสร็จแล้วต้องการใช้งานจริงๆ เราอาจจะไม่ต้อง check Enable Debug mode ได้ ซึ่งจะทำให้เราสามารถเขียนโปรแกรมใน memory ที่ตำแหน่ง 0x1F00 ถึง 0x1FFF ได้ เสร็จแล้วทำการกดปุ่ม Program เพื่อทำการโปรแกรมลง MCU รอซักครู่ในการโปรแกรม เมื่อโปรแกรมเสร็จเราก็พร้อมที่จะทำการ Debug Program ที่เราเขียนขึ้นได้แล้ว