Login | thai-learning | Privacy Policy | About Us |

Thai Learning | ทฤษฎี IS ขั้นสูง | เว็บไทย | สารสนเทศวิทยานิพนธ์ | หนังสือรามคำแหงทั้งหมด | เกี่ยวกับผู้จัดทำ | บทกลอน |
วิชาที่เรียน 1/2555
   เมนูหลักวิชาเรียน 1/2555
   การโปรแกรมเว็บสารสนเทศ ฯ
   การโปรแกรมงานภูมิศาสตร์ ฯ
   โปรแกรมสำหรับงานสารสนเทศ
   อินเตอร์เน็ตและการบริการ สารสนเทศบนเว็บ
   บรรยากาศ เทอม 1-2555
โปรแกรมที่ผมพัฒนาครับ
   เมนูหลักโปรแกรมที่ผมพัฒนา
   ถอดรหัสผ่าน M$-Access
   ระบบการเข้าเรียนและให้คะแนน
   การทำงานของ Adder Logic
   ปรับระดับเสียงโวลุ่ม ด้วย CLI
   เกมส์เลื่อนภาพแสนสนุก vb6
    โปรแกรมจับเวลา การนำเสนอผลงานวิชาการ
บทความที่ผมเขียนครับ
   เมนูบทความ
   ภาษาซีสำหรับผู้เริ่มต้น
   ไมโครคอนโทรเลอร์เบื้องต้น
   ไมโครคอนโทรลเลอร์จำลอง
   การกำเนิดกระแสไฟฟ้าอย่างง่าย
   ควบคุมแรงดัน 0-220 โวลท์
   Graphics LCD ด้วย CCSC
   การออกแบบ PCB ด้วย Orcad
   การออกแบบ PCB ด้วย Protel
   ไพธอนส่งเมล์ด้วย GPRS
   ไพธอนควบคุม LCD ผ่าน LPT
   ควบคุม LPT ด้วย Labview
   อิมเมจโปรเซสซิ่ง ตอน 1/3
   อิมเมจโปรเซสซิ่ง ตอน 2/3
   อิมเมจโปรเซสซิ่ง ตอน 3/3
   ภาษาซีบนลินุกซ์สมองกลฝังตัว
   การใช้งาน MinGW เบื้องต้น
   ภาษาซี ARM-LPC2368
   ออกแบบ FPGA ด้วย Schematic
   ออกแบบ FPGA ด้วยภาษา VHDL
   ออกแบบ PCB เทคนิค Dryfilm
   เขียนโปรแกรม Python GUI
   การติดตั้ง NumPy 1.6.1
   เขียนไพธอนถอดรหัส MDB
   วิชวลเบสิค ควบคุมกล้อง
   สังเคราะห์ภาพกราฟิก pov-ray
   อิมพอร์ท MySQL ด้วย BigDump
   ติดตั้ง postgresql และ phppgadmin บน centos linux
   การใช้งานเธรดด้วยภาษา PHP
   การสังเคราะห์สีให้ไวยากรณ์ภาษา
   การสร้าง Search Engine
   เขียนไพธอน Client/Server
   การสร้างพาทิชั่นที่ใหญ่กว่า 3TB บนลินุกซ์ (Ubuntu)
   การรันสคริปต์ CGI ด้วยภาษาไพธอน
   การใช้งานคำสั่ง DD บน Ubuntu - Linux
   การใช้งาน Raspberry Pi
   การเอ็กซีคิวส์ + การจัดเรียงแอพฯในลินุกซ์
   X11 ด้วย Xming และ Putty
   TITAN5 บน Ubuntu - Linux
   รหัสจังหวัดทั่วโลก + เรดาร์
   การควบคุมเว็บบราวเซอร์ผ่าน SELENIUM ด้วยภาษาไพธอน
โปรแกรมภาษา
   เมนู VB-Classic
   ฟังก์ชั่น Visual Basic
   คำสั่ง Visual Basic
   ตัวแปรภาษาไพธอน (ขั้นสูง)
   โมดูลต่าง ๆ ภายในภาษาไพธอน
ข่าวสารไอที
   กูเกิ้ลเปิดตัว Tablet 7 นิ้ว
   อินเดีย IIT เปิดตัว Tablet
   RaspBerry PI สมองกลฝังตัว
   คอมพิวเตอร์จิ๋ว
บริการสารสนเทศ
   ไทยเว็บ 2012
   เว็บไทย
   ฐานข้อมูล วิทยานิพนธ์
   รวมคำศัพท์ภาษาไทย
   เคยฟังมั้ย - เพลงมาร์ช มมส
   ประวัติศาสตร์ชาติไทย หลวงปู่ฤาษีลิงดำ
   เพลงน้อมใจปล่อยวาง 1
   เพลงน้อมใจปล่อยวาง 2
   เพลงน้อมใจปล่อยวาง 3
เกี่ยวกับเรา
   เกี่ยวกับผู้ก่อตั้ง
   บทกลอนที่ผมแต่งครับ..
   แลกลิงค์กับเรา ที่นี่
   รายละเอียดแม่ข่าย
   ดาต้าเซนเตอร์ (Data Center)
   เงื่อนไขการใช้งาน

  
 

บทความเรื่อง : การจำลองพฤติกรรมของไมโคคอนโทรเลอร์ 16F458 ด้วย Proteus โดยอาศัย HEX Code ซึ่งถูกสังเคราะห์จาก CCSc
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม

หากท่านเคยใช้บอร์ดทดลองรุ่นต่าง ๆ ท่านจะพบว่าเหตุที่เราต้องใช้งานบอร์ดทดลอง แท้จริงเพื่อเป็นการตรวจสอบให้มั่นใจว่า โปรแกรมที่ถูกนำไปฝังไว้ในไมโครคอนโทรลเลอร์ทำงานได้อย่างถูกต้องตามเงื่อนไขที่กำหนดเอาไว้ภายในโปรแกรมที่เขียนขึ้น ท่านจะพบว่าบอร์ดทดลองเหล่านั้นมีราคาสูงหรือต่ำ ขึ้นอยู่กับบริษัทผู้ผลิตและจำหน่าย ตลอดจนเงื่อนไขทางการเงินในการตั้งราคาสินค้า สำหรับวันนี้นับเป็นนิมิตหมายอันดี ที่เราสามารถจำลองการทำงานทั้งหมดนั้นให้แสดงผลที่จอภาพคอมพิวเตอร์ได้อย่างถูกต้องและเที่ยงตรง บทความนี้จะนำท่านศึกษาและใช้งานโปรแกรมดังกล่าว ซึ่งมีสาระสำคัญดังนี้

จุดประสงค์ของบทความนี้
บทความนี้มีความต้องการจำลองพฤติกรรมของไมโครคอนโทรเลอร์ เบอร์ 16F458 ด้วยโปรแกรม Proteus โดยเราจะใช้โค๊ดซึ่งผ่านการคอมไพล์มาแล้วจากภาษาซี ของบริษัท CCSC ซึ่งอยู่ในรูป .HEX (เลขฐานสิบหก) เพื่อป้อนให้กับโปรแกรม Proteus หลังจากนั้นจะทำการทดสอบการทำงานที่โปรแกรม Proteus ซึ่งการทำงานของโปรแกรมดังกล่าวจะให้ผลลัพธ์เช่นเดียวกับที่ปรากฎบนบอร์ดทดลอง ดังนั้น ผู้เขียนอนุมานว่าท่านมีความรู้พื้นฐานด้านไมโครคอนโทรลเลอร์มาแล้ว หากท่านยังไม่มีความรู้ในเรื่องดังกล่าวสามารถศึกษาได้จากหัวข้อ ไมโครคอนโทรเลอร์สำหรับผู้เริ่มต้น

ความแตกต่างระหว่างการจำลองการทำงานด้วย Proteus และบอร์ดทดลอง iNex
จากที่ท่านได้ศึกษาในหัวข้อ ไมโครคอนโทรเลอร์สำหรับผู้เริ่มต้น ไปแล้ว ผลลัพธ์ที่ได้จะแสดงการกระพริบของหลอด LED สลับไปมา ดังภาพต่อไปนี้

ภาพผลลัพธ์แสดงผลในรูปแบบฮาร์ดแวร์ที่จับต้องได้จริง

ในทำนองเดียวกัน หากเรานำเอา HEX ดังกล่าวป้อนให้กับโปรแกรม Proteus และต่อวงจรดังภาพต่อไปนี้ ท่านจะพบว่า โปรแกรม Proteus จะทำการจำลองการทำงานได้เหมือนกับผลลัพธ์ที่ปรากฎบนบอร์ดทดลอง

ภาพผลลัพธ์การเลียนแบบการทำงานฮาร์ดแวร์ (จำลองพฤติกรรมของไมโครคอนโทรลเลอร์) ซึ่งเป็นซอฟต์แวร์

ท่านจะพบว่าโปรแกรมไฟกระพริบที่ฝังลงบนไมโครชิปจะมีจังหวะการกระพริบที่เท่ากันกับโปรแกรมเลียนแบบการทำงานด้วย นอกจากนั้น หากท่านต้องการเชื่อมต่อกับโมดูลแสดงผล LCD (Liquid Crystal Display) เข้ากับคอนโทรเลอร์สามารถทำได้เช่นเดียวกันโดยแสดงผลข้อความได้อย่างถูกต้อง และยังสามารถจำลองพฤติกรรมการทำงานไมโครโปรเซสเซอร์ตระกูลอื่น ๆ อีกมาก

เครื่องมือ
- โปรแกรม Proteus
- คอมไพล์เลอร์ภาษาซี ของบริษัท CCSc

ขั้นตอนการดำเนินงาน
1. ขั้นการเข้าสู่โปรแกรม Proteus
ขอคลิ๊กที่ไอคอนต่อไปนี้เพื่อเข้าสู่โปรแกรม Proteus


2. เลือก P ที่แถบ Devices ดังต่อไปนี้


3. เลือกไมโครโปรเซสเซอร์ที่ท่านต้องการ
จากนั้นในส่วนของ Sub-Category ให้ท่านเลือก IC ในตระกูล PIC18 และเลือกไมโครคอนโทรลเลอร์เบอร์ 18F458 ตามลำดับ ซึ่งแสดงได้ดังภาพต่อไปนี้


4. ในการเลือกใช้ตัวถังของไมโครโปรเซสเซอร์
ท่านสามารถเลือกได้ตามต้องการ โดยมีลักษณะทางกายภาพดังต่อไปนี้



แบบ PLCC44


แบบ QFP44


แบบ DIL40

5. ลำดับถัดไปเป็นการนำเอาหลอด LED (Light Emitting Diod) วางลงบนวงจร
ขอให้ท่านเลือก Category เป็น Optoelectronics
จากนั้นเลือก Sub Catagory เป็น LEDs
และเลือก Result เป็น LED-RED ดังภาพต่อไปนี้


6. ลำดับถัดมาเป็นการใส่ตัวต้านทานลงไปในวงจร
ให้ท่านเลือก Catagory เป็น Resistors
เลือก Sub-Category เป็น Generic
และเลือก Result เป็น RES ดังภาพต่อไปนี้


7. ขั้นการจัดวางอุปกรณ์ให้สอดคล้องกับความต้องการ
ให้ท่านเลือกจัดอุกรณ์ต่าง ๆ ตามที่ท่านต้องการ ในตัวอย่างนี้ผู้เขียนจัดให้ LED อยู่ด้านขวามือและ Resistor ต่อไว้มุมบนซ้ายของ 18F458 ดังภาพต่อไปนี้


8. ขั้นการวาง Power ลงบนพื้นที่ทำงาน
ให้ท่านเลือก Terminals เป็น Power จากนั้นเลือกที่ปุ่ม Inter-Sheet Terminal ดังภาพต่อไปนี้


9. นำ Power วางลงบนพื้นที่ทำงาน
จะปรากฎผลลัพธ์ดังภาพต่อไปนี้


10. นำ Ground วางลงบนพื้นที่ทำงาน ดังภาพต่อไปนี้


11. ขั้นการวาดเส้นวงจรเชื่อมโยงสัญญาณระหว่างอุปกรณ์อิเล็กทรอนิกส์
ให้ท่านเลือก ที่ปลายของอุปกรณ์และคลิ๊กหนึ่งครั้ง และลากไปต่อกับปลายอีกข้างหนึ่งของอุปกรณ์อิเล็กทรอนิกส์ แสดงได้ดังภาพต่อไปนี้

การต่อสาย Power เข้ากับตัวต้านทานและเชื่อมเข้าสู่ MCLR/VPP ของไมโครคอนโทรลเลอร์


การเชื่อมสายสัญญาณระหว่างกราวนด์และอุปกรณ์ LED และโยงเข้าสู่ขา RC0 ของไมโครคอนโทรลเลอร์

12. ขั้นการเขียนโปรแกรมด้วย CCSC
ผู้เขียนให้โค๊ดเดิมในบทความเรื่อง ไมโครคอนโทรเลอร์สำหรับผู้เริ่มต้น ท่านสามารถดาวน์โหลดและศึกษารายละเอียดต่าง ๆ เพิ่มเติมจากบทความเรื่องดังกล่าว



13. ให้ท่านเลือกที่ไมโครคอนโทรลเลอร์
จะปรากฎสีแดงดังภาพต่อไปนี้


14. จากนั้นโปรแกรม Proteus จะนำท่านเข้ามายังหน้าต่าง Edit Component
ให้ท่านเลือกที่ Program FIle ไปยังตำแหน่ง HEX ไฟล์ที่ได้จากการคอมไพล์ในตอนต้น แสดงได้ดังภาพต่อไปนี้


15. ขั้นการเริ่มต้นจำลองการทำงาน
ขอให้ท่านเลือกปุ่ม Play ดังภาพต่อไปนี้



16. ผลลัพธ์จากการจำลองการทำงาน

ท่านจะพบว่าโปรแกรม Proteus สามารถจำลองการทำงานโดยอาศัย HEX File ที่เป็นผลจากการคอมไพล์จาก CCSC ได้อย่างถูกต้อง แสดงได้ดังภาพต่อไปนี้



สรุป

บทความนี้ช่วยให้ท่านสามารถจำลองการทำงานของฮาร์ดแวร์ได้อย่างมีประสิทธิภาพ ท่านอาจจะไม่ต้องใช้บอร์ดทดลองในระหว่างที่กำลังรออุปกรณ์ฮาร์ดแวร์ หรือระหว่างที่กำลังสั่งทำต้นแบบ PCB โดยนำ HEX File ที่ได้มาจำลองการทำงานผ่านโปรแกรม Proteus ซึ่งช่วยให้ท่านสามารถปิดโปรเจ็คได้เร็วขึ้นมา(ได้บ้าง) ผู้เขียนหวังว่าบทความนี้จะเป็นประโยชน์ต่อน้อง ๆ และเพื่อน ๆ ที่รักทุกคน สำหรับวันนี้ผมขอกล่าวคำว่า สวัสดีครับ !!






All trademarks and trade names are the property of their respective owners and used here for identification purposes only.
Privacy Policy | Terms of service | Report a Policy Violation (0.0038 sec)