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

  1. หลังจากเราทำการ Make Project เรียบร้อยแล้วก็ถึงเวลาที่เราจะตรวจสอบว่า Program ของเราทำงานได้จริงๆ หรือไม่ ด้วยการ program ลงไปใน chip เสียก่อน แต่ก่อนที่จะทำการ program ขออธิบาย option บางส่วนที่เกี่ยวข้องกับการ program และ debug เสียก่อน

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 ได้โดยสามารถ สามารถกำหนดได้เป็นช่วงๆ

ID’s 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 ที่เราเขียนขึ้นได้แล้ว

 

BACK

 

 

Hosted by www.Geocities.ws

1