ดังนั้นถึงเวลาที่จะศึกษาไมโครคอนโทรลเลอร์แล้วจึงตั้งโปรแกรมพวกมันและฉันก็อยากจะประกอบอุปกรณ์เหล่านั้นด้วยซึ่งปัจจุบันมีวงจรบนอินเทอร์เน็ตมากมาย เราเจอไดอะแกรม ซื้อคอนโทรลเลอร์ ดาวน์โหลดเฟิร์มแวร์... แล้วเราจะใช้อะไรแฟลชด้วย??? และที่นี่นักวิทยุสมัครเล่นที่เริ่มเชี่ยวชาญไมโครคอนโทรลเลอร์ต้องเผชิญกับคำถามในการเลือกโปรแกรมเมอร์! ฉันต้องการค้นหาตัวเลือกที่ดีที่สุดในแง่ของความอเนกประสงค์ - ความเรียบง่ายของวงจร - ความน่าเชื่อถือ โปรแกรมเมอร์ "แบรนด์" และแอนะล็อกของพวกเขาถูกแยกออกทันทีเนื่องจากวงจรค่อนข้างซับซ้อนซึ่งรวมถึงไมโครคอนโทรลเลอร์ตัวเดียวกันกับที่ต้องตั้งโปรแกรม นั่นคือมันกลายเป็น "วงจรอุบาทว์": คุณต้องมีโปรแกรมเมอร์เพื่อสร้างโปรแกรมเมอร์ ดังนั้นการค้นหาและการทดลองจึงเริ่มต้นขึ้น! ในตอนแรก ตัวเลือกตกอยู่ที่ PIC JDM โปรแกรมเมอร์นี้ทำงานจากพอร์ต com และขับเคลื่อนจากที่นั่น ตัวเลือกนี้ได้รับการทดสอบโดยตั้งโปรแกรมคอนโทรลเลอร์ 4 ใน 10 ตัวอย่างมั่นใจโดยมีแหล่งจ่ายไฟแยกต่างหากสถานการณ์ดีขึ้น แต่ไม่มาก ในคอมพิวเตอร์บางเครื่องปฏิเสธที่จะทำอะไรเลยและไม่ได้ให้การป้องกันจาก "คนโง่" จากนั้นจึงทำการศึกษาโปรแกรมเมอร์ Pony-Prog โดยหลักการแล้วมันเกือบจะเหมือนกับ JDM โปรแกรมเมอร์ "Pony-prog" เป็นวงจรที่เรียบง่ายมากซึ่งขับเคลื่อนจากพอร์ต com ของคอมพิวเตอร์ดังนั้นในฟอรัมและบนอินเทอร์เน็ตคำถามเกี่ยวกับความล้มเหลวในการเขียนโปรแกรมจึงมักปรากฏขึ้น , หรือไมโครคอนโทรลเลอร์อื่นๆ เป็นผลให้มีการเลือกรุ่น "Extra-PIC" ฉันดูแผนภาพ - ง่ายมากมีความสามารถ! ที่อินพุตคือ MAX 232 ซึ่งแปลงสัญญาณพอร์ตอนุกรม RS-232 ให้เป็นสัญญาณที่เหมาะสำหรับใช้ในวงจรดิจิตอลที่มีระดับ TTL หรือ CMOS ไม่โอเวอร์โหลดพอร์ต COM ของคอมพิวเตอร์ด้วยกระแสไฟเนื่องจากใช้มาตรฐานการทำงาน RS232 และไม่ ก่อให้เกิดอันตรายต่อพอร์ต COM นี่คือข้อดีข้อแรก!
ใช้งานได้กับพอร์ต COM ใดๆ ทั้งพอร์ต COM มาตรฐาน (±12v; ±10v) และพอร์ต COM ที่ไม่ได้มาตรฐานของแล็ปท็อปสมัยใหม่บางรุ่นที่มีแรงดันไฟสายสัญญาณลดลงถึง ±5v - ข้อดีอีกอย่าง! รองรับโดยโปรแกรมยอดนิยม IC-PROG, PonyProg, WinPic 800 (WinPic800) และอื่น ๆ - บวกที่สาม!
และทั้งหมดนี้ขับเคลื่อนด้วยแหล่งพลังงานของมันเอง!
ตัดสินใจแล้ว - เราต้องรวบรวม! ดังนั้นในนิตยสาร Radio 2007 No. 8 จึงพบโปรแกรมเมอร์เวอร์ชันดัดแปลงนี้ อนุญาตให้เขียนโปรแกรมไมโครคอนโทรลเลอร์ในสองโหมด
มีสองวิธีที่ทราบกันดีในการทำให้ไมโครคอนโทรลเลอร์ PICmicro เข้าสู่โหมดการเขียนโปรแกรม:
1. เมื่อเปิดแรงดันไฟฟ้า Vcc ให้เพิ่มแรงดันไฟฟ้า Vpp (ที่พิน -MCLR) จากศูนย์ถึง 12V
2. เมื่อปิดแรงดันไฟฟ้า Vcc ให้เพิ่มแรงดันไฟฟ้า Vpp จากศูนย์เป็น 12V จากนั้นเปิดแรงดันไฟฟ้า Vcc
โหมดแรกมีไว้สำหรับอุปกรณ์ที่มีการพัฒนาในช่วงแรกเป็นหลัก โดยกำหนดข้อ จำกัด ในการกำหนดค่าพิน -MCLR ซึ่งในกรณีนี้สามารถใช้เป็นอินพุตสำหรับสัญญาณการติดตั้งเริ่มต้นเท่านั้นและไมโครคอนโทรลเลอร์จำนวนมากให้ความสามารถในการเปลี่ยนพินนี้เป็น เส้นปกติของพอร์ตใดพอร์ตหนึ่ง นี่เป็นข้อดีอีกประการหนึ่งของโปรแกรมเมอร์รายนี้ แผนภาพแสดงไว้ด้านล่าง:
ใหญ่กว่า
ทุกอย่างถูกประกอบบนเขียงหั่นขนมและทดสอบ ทุกอย่างทำงานได้อย่างสมบูรณ์และเชื่อถือได้ ไม่มีข้อบกพร่องใด ๆ เกิดขึ้น!
ตราสัญลักษณ์ถูกวาดขึ้นสำหรับโปรแกรมเมอร์รายนี้
ฝากไฟล์.com/files/mk49uejin
ทุกอย่างถูกประกอบเข้าไว้ในกล่องเปิดซึ่งมีรูปถ่ายอยู่ด้านล่าง
สายเคเบิลเชื่อมต่อทำขึ้นโดยแยกจากสายเคเบิลแปดคอร์และตัวเชื่อมต่อ Komov มาตรฐานไม่มีโมเด็ม null ที่นี่ฉันเตือนคุณทันที! คุณควรระมัดระวังในการประกอบสายเคเบิลในอนาคตคุณจะหายปวดหัวทันที ความยาวสายเคเบิลไม่ควรเกินหนึ่งเมตรครึ่ง
รูปถ่ายของสายเคเบิล
ดังนั้นโปรแกรมเมอร์จึงประกอบขึ้นสายเคเบิลก็ประกอบขึ้นด้วยก็ถึงเวลาตรวจสอบการทำงานของอุปกรณ์ทั้งหมดนี้ค้นหาข้อบกพร่องและข้อผิดพลาด
ก่อนอื่นให้ติดตั้งโปรแกรม IC-prog ซึ่งสามารถดาวน์โหลดได้จากเว็บไซต์ของผู้พัฒนา www.ic-prog.com แกะโปรแกรมลงในไดเร็กทอรีแยกต่างหาก ไดเร็กทอรีผลลัพธ์ควรมีสามไฟล์:
icprog.exe - ไฟล์เชลล์โปรแกรมเมอร์
icprog.sys เป็นไดรเวอร์ที่จำเป็นสำหรับการทำงานบน Windows NT, 2000, XP ไฟล์นี้จะต้องอยู่ในไดเร็กทอรีโปรแกรมเสมอ
icprog.chm - ไฟล์ช่วยเหลือ
ติดตั้งแล้ว ตอนนี้เราต้องกำหนดค่ามัน
สำหรับสิ่งนี้:
1.(เฉพาะ Windows XP เท่านั้น): คลิกขวาที่ไฟล์ icprog.exe “คุณสมบัติ” >> แท็บ “ความเข้ากันได้” >> ตรวจสอบ “เรียกใช้โปรแกรมนี้ในโหมดความเข้ากันได้สำหรับ:” >> เลือก “Windows 2000”
2. เรียกใช้ไฟล์ icprog.exe เลือก "การตั้งค่า" >> "ตัวเลือก" >> แท็บ "ภาษา" >> ตั้งค่าภาษาเป็น "รัสเซีย" และคลิก "ตกลง"
เห็นด้วยกับข้อความ “You need to restart IC-Prog now” (คลิก “Ok”) เชลล์โปรแกรมเมอร์จะรีสตาร์ท
การตั้งค่า" >> "โปรแกรมเมอร์
1.ตรวจสอบการตั้งค่า เลือกพอร์ต COM ที่คุณใช้อยู่ คลิก “ตกลง”
2.ถัดไป “การตั้งค่า” >> “ตัวเลือก” >> เลือกแท็บ “ทั่วไป” >> ตรวจสอบรายการ “เปิด” NT/2000/XP driver" >> คลิก "Ok" >> หากไดรเวอร์ไม่เคยได้รับการติดตั้งในระบบของคุณมาก่อน ให้คลิก "Ok" ในหน้าต่าง "Confirm" ที่ปรากฏขึ้น ไดรเวอร์จะถูกติดตั้งและเชลล์โปรแกรมเมอร์จะรีสตาร์ท
บันทึก:
สำหรับคอมพิวเตอร์ที่ "เร็ว" มาก คุณอาจต้องเพิ่มพารามิเตอร์ "I/O Latency" การเพิ่มพารามิเตอร์นี้จะเพิ่มความน่าเชื่อถือของการเขียนโปรแกรม อย่างไรก็ตาม เวลาที่ใช้ในการเขียนโปรแกรมชิปก็เพิ่มขึ้นเช่นกัน
3. “การตั้งค่า” >> “ตัวเลือก” >> เลือกแท็บ “I2C” >> ทำเครื่องหมายที่ช่อง: “เปิดใช้งาน MCLR เป็น VCC” และ “เปิดใช้งานการบันทึกบล็อก” คลิก “ตกลง”
4. “การตั้งค่า” >> “ตัวเลือก” >> เลือกแท็บ “การเขียนโปรแกรม” >> ยกเลิกการเลือกรายการ: “ตรวจสอบหลังจากการเขียนโปรแกรม” และทำเครื่องหมายที่ช่อง “ตรวจสอบระหว่างการเขียนโปรแกรม” คลิก "ตกลง"
เลยจัดไป!
ตอนนี้เราควรทดสอบโปรแกรมเมอร์ในตำแหน่งที่มี IC-prog และที่นี่ทุกอย่างก็ง่าย:
ถัดไปในโปรแกรม IC-PROG ในเมนูให้รัน: การตั้งค่า >> การทดสอบโปรแกรมเมอร์
ก่อนดำเนินการวิธีทดสอบแต่ละจุด อย่าลืมตั้งค่า "ฟิลด์" ทั้งหมดให้อยู่ในตำแหน่งเดิม (ยกเลิกการเลือก "ช่องทำเครื่องหมาย" ทั้งหมด) ดังแสดงในรูปด้านบน
1.ทำเครื่องหมายที่ช่อง “เปิด” เอาต์พุตข้อมูล" ในกรณีนี้ "เครื่องหมายถูก" ควรปรากฏในช่อง "ป้อนข้อมูล" และควรตั้งค่าระดับบันทึกบนหน้าสัมผัส (DATA) ของตัวเชื่อมต่อ X2 “1” (อย่างน้อย +3.0 โวลต์) ตอนนี้ให้ปิดหน้าสัมผัส (DATA) และหน้าสัมผัส (GND) ของตัวเชื่อมต่อ X2 เข้าด้วยกัน และเครื่องหมายในช่อง "ป้อนข้อมูล" จะหายไปในขณะที่ปิดหน้าสัมผัส
2.เมื่อตรวจสอบช่อง “เปิด” การตอกบัตร" บนพิน (CLOCK) ของตัวเชื่อมต่อ X2 ควรตั้งค่าระดับบันทึก "1" (อย่างน้อย +3.0 โวลต์)
3.เมื่อตรวจสอบช่อง “เปิด” รีเซ็ต (MCLR)" บนหน้าสัมผัส (VPP) ของขั้วต่อ X3 ควรตั้งระดับไว้ที่ +13.0 ... +14.0 โวลต์ และไฟ LED D4 (โดยปกติจะเป็นสีแดง) จะสว่างขึ้น หากตั้งสวิตช์โหมดไว้ที่ ตำแหน่งที่ 1 ไฟ LED HL3 จะสว่างขึ้น
หากในระหว่างการทดสอบสัญญาณใดๆ ไม่ผ่าน คุณควรตรวจสอบเส้นทางทั้งหมดของสัญญาณนี้อย่างระมัดระวัง รวมถึงสายเชื่อมต่อกับพอร์ต COM ของคอมพิวเตอร์ด้วย
การทดสอบช่องข้อมูลของโปรแกรมเมอร์ EXTRAPIC:
1. พิน 13 ของชิป DA1: แรงดันไฟฟ้าตั้งแต่ -5 ถึง -12 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: จาก +5 ถึง +12 โวลต์
2. พิน 12 ของชิป Da1: แรงดัน +5 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: 0 โวลต์
3. พิน 6 ของชิป DD1: แรงดันไฟฟ้า 0 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: +5 โวลต์
3. 1 และ 2 พินของไมโครวงจร DD1: แรงดันไฟฟ้า 0 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: +5 โวลต์
4. พิน 3 ของชิป DD1: แรงดัน +5 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: 0 โวลต์
5. พิน 14 ของชิป DA1: แรงดันไฟฟ้าตั้งแต่ -5 ถึง -12 โวลต์ เมื่อทำเครื่องหมายที่ช่อง: จาก +5 ถึง +12 โวลต์
หากการทดสอบทั้งหมดสำเร็จ โปรแกรมเมอร์ก็พร้อมใช้งาน
ในการเชื่อมต่อไมโครคอนโทรลเลอร์กับโปรแกรมเมอร์ คุณสามารถใช้ซ็อกเก็ตที่เหมาะสมหรือสร้างอะแดปเตอร์ตามซ็อกเก็ต ZIF (โดยไม่มีแรงกดเป็นศูนย์) เช่นที่นี่ radiokot.ru/circuit/digital/pcmod/18/
ต่อไปนี้เป็นคำไม่กี่คำเกี่ยวกับ ICSP - การเขียนโปรแกรมในวงจร
ตัวควบคุม PIC
เมื่อใช้ ICSP บนบอร์ดอุปกรณ์จำเป็นต้องจัดให้มีความสามารถในการเชื่อมต่อโปรแกรมเมอร์ เมื่อเขียนโปรแกรมโดยใช้ ICSP จะต้องเชื่อมต่อสายสัญญาณ 5 เส้นกับโปรแกรมเมอร์:
1. GND (VSS) - สายสามัญ
2. VDD (VCC) - บวกแรงดันไฟฟ้า
3. MCLR" (VPP) - อินพุตรีเซ็ตไมโครคอนโทรลเลอร์ / อินพุตแรงดันไฟฟ้าการเขียนโปรแกรม
4. RB7 (DATA) - บัสข้อมูลแบบสองทิศทางในโหมดการเขียนโปรแกรม
5. อินพุตการซิงโครไนซ์ RB6 (นาฬิกา) ในโหมดการเขียนโปรแกรม
หมุดไมโครคอนโทรลเลอร์ที่เหลือไม่ได้ใช้ในโหมดการเขียนโปรแกรมในวงจร
ตัวเลือกสำหรับการเชื่อมต่อ ICSP กับไมโครคอนโทรลเลอร์ PIC16F84 ในแพ็คเกจ DIP18:
1. "สาย MCLR" ถูกแยกออกจากวงจรอุปกรณ์โดยจัมเปอร์ J2 ซึ่งเปิดในโหมดการเขียนโปรแกรมในวงจร (ICSP) โดยถ่ายโอนพิน MCLR ไปยังการควบคุมพิเศษของโปรแกรมเมอร์
2. สาย VDD ในโหมดการเขียนโปรแกรม ICSP ถูกตัดการเชื่อมต่อจากวงจรอุปกรณ์โดยจัมเปอร์ J1 นี่เป็นสิ่งจำเป็นเพื่อหลีกเลี่ยงการใช้กระแสไฟจากสาย VDD โดยวงจรอุปกรณ์
3.Line RB7 (บัสข้อมูลแบบสองทิศทางในโหมดการเขียนโปรแกรม) ถูกแยกในแง่ของกระแสจากวงจรอุปกรณ์โดยตัวต้านทาน R1 ที่มีค่าเล็กน้อยอย่างน้อย 1 kOhm ในเรื่องนี้ กระแสไหลเข้า/ไหลออกสูงสุดที่ได้จากเส้นนี้จะถูกจำกัดโดยตัวต้านทาน R1 หากจำเป็นเพื่อให้แน่ใจว่ากระแสสูงสุดจะต้องเปลี่ยนตัวต้านทาน R1 (เช่นในกรณีของ VDD) ด้วยจัมเปอร์
4. สาย RB6 (อินพุตการซิงโครไนซ์ PIC ในโหมดการเขียนโปรแกรม) เช่น RB7 ถูกแยกในแง่ของกระแสจากวงจรอุปกรณ์ด้วยตัวต้านทาน R2 พิกัดอย่างน้อย 1 kOhm ในเรื่องนี้ กระแสไหลเข้า/ระบายน้ำสูงสุดที่จัดให้โดยเส้นนี้จะถูกจำกัดโดยตัวต้านทาน R2 หากจำเป็นเพื่อให้แน่ใจว่ากระแสสูงสุดจะต้องเปลี่ยนตัวต้านทาน R2 (เช่นในกรณีของ VDD) ด้วยจัมเปอร์
ตำแหน่งพิน ICSP สำหรับคอนโทรลเลอร์ PIC:
แผนภาพนี้ใช้สำหรับการอ้างอิงเท่านั้น ควรตรวจสอบข้อสรุปการเขียนโปรแกรมจากแผ่นข้อมูลไมโครคอนโทรลเลอร์จะดีกว่า
ทีนี้มาดูเฟิร์มแวร์ไมโครคอนโทรลเลอร์ในโปรแกรม IC-prog เราจะดูตัวอย่างการออกแบบจากที่นี่ rgb73.mylivepage.ru/wiki/1952/579
นี่คือแผนภาพอุปกรณ์
นี่คือเฟิร์มแวร์
เรากำลังกระพริบคอนโทรลเลอร์ PIC12F629 ไมโครคอนโทรลเลอร์นี้ใช้ค่าคงที่ osccal สำหรับการทำงาน - เป็นค่าสอบเทียบเลขฐานสิบหกของเครื่องกำเนิด MC ภายในด้วยความช่วยเหลือซึ่ง MC รายงานเวลาในการรันโปรแกรมซึ่งเขียนในเซลล์ข้อมูลสูงสุดสุดท้าย เราเชื่อมต่อไมโครคอนโทรลเลอร์นี้กับโปรแกรมเมอร์
ภาพหน้าจอด้านล่างแสดงลำดับการดำเนินการในโปรแกรม IC-prog เป็นตัวเลขสีแดง
1. เลือกประเภทของไมโครคอนโทรลเลอร์
2. กดปุ่ม "อ่านไมโครวงจร"
ในหน้าต่าง "รหัสโปรแกรม" ในเซลล์สุดท้ายจะมีค่าคงที่สำหรับคอนโทรลเลอร์นี้ คอนโทรลเลอร์แต่ละตัวมีค่าคงที่ของตัวเอง !
อย่าลบมัน จดมันลงบนกระดาษแล้วติดมันบนไมโครวงจร!
เดินหน้าต่อไป
3. คลิกปุ่ม “เปิดไฟล์...” และเลือกเฟิร์มแวร์ของเรา รหัสเฟิร์มแวร์จะปรากฏในหน้าต่างรหัสโปรแกรม
4. เราลงไปที่ส่วนท้ายของโค้ดคลิกขวาที่เซลล์สุดท้ายแล้วเลือก "พื้นที่แก้ไข" ในเมนูป้อนค่าคงที่ที่คุณจดไว้ในฟิลด์ "เลขฐานสิบหก" แล้วคลิก "ตกลง ".
5. คลิก “โปรแกรมไมโครวงจร”
กระบวนการตั้งโปรแกรมจะเริ่มขึ้น หากทุกอย่างสำเร็จ โปรแกรมจะแสดงการแจ้งเตือนที่เกี่ยวข้อง
เรานำชิปออกจากโปรแกรมเมอร์แล้วใส่เข้าไปในเขียงหั่นขนมที่ประกอบ เปิดเครื่อง กดปุ่มสตาร์ท ไชโย มันใช้งานได้! นี่คือวิดีโอการทำงานของไฟกะพริบ
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
ที่แยกออก แต่เราควรทำอย่างไรหากเรามีไฟล์ซอร์สโค้ดในแอสเซมเบลอร์ asm แต่เราต้องการไฟล์เฟิร์มแวร์ hex จำเป็นต้องมีคอมไพเลอร์ที่นี่ และมีอยู่จริง - นี่คือ Mplab ในโปรแกรมนี้คุณสามารถเขียนเฟิร์มแวร์และคอมไพล์ได้ นี่คือหน้าต่างคอมไพเลอร์
การติดตั้ง Mplab
เราพบโปรแกรม MPASMWIN.exe ใน Mplab ที่ติดตั้งซึ่งโดยปกติจะอยู่ในโฟลเดอร์ - Microchip - MPASM Suite - MPASMWIN.exe
มาเปิดตัวกันเลย ในหน้าต่าง (4) เรียกดู เราพบซอร์สโค้ดของเรา (1).asm ในหน้าต่าง (5) ตัวประมวลผล เราเลือกไมโครคอนโทรลเลอร์ของเรา คลิก Assemble และในโฟลเดอร์เดียวกับที่คุณระบุซอร์สโค้ด เฟิร์มแวร์ของคุณจะปรากฏขึ้น HEX นั่นคือ พร้อมแล้ว!
ฉันหวังว่าบทความนี้จะช่วยผู้เริ่มต้นในการเรียนรู้คอนโทรลเลอร์ PIC! ขอให้โชคดี!
Lorem Ipsum เป็นเพียงข้อความจำลองของอุตสาหกรรมการพิมพ์และการเรียงพิมพ์ Lorem Ipsum เป็นข้อความจำลองมาตรฐานของอุตสาหกรรมนับตั้งแต่ช่วงปี 1500 เมื่อเครื่องพิมพ์ที่ไม่รู้จักได้เอาเครื่องพิมพ์ไปตะเกียกตะกายเพื่อสร้างหนังสือตัวอย่าง Lorem Ipsum มีอายุไม่เพียงแค่ห้าศตวรรษเท่านั้น http://jquery2dotnet.com/ แต่ยังเป็นการก้าวกระโดดไปสู่การเรียงพิมพ์แบบอิเล็กทรอนิกส์ โดยยังคงไม่เปลี่ยนแปลง โดยพื้นฐานแล้วได้รับความนิยมในทศวรรษ 1960 ด้วยการเปิดตัวแผ่น Letraset ที่มีข้อความ Lorem Ipsum และล่าสุดคือซอฟต์แวร์การเผยแพร่บนเดสก์ท็อปเช่น Aldus PageMaker รวมถึง Lorem Ipsum เวอร์ชันต่างๆ ด้วย
โปรแกรมเมอร์คอนโทรลเลอร์ DIY PIC
อุปกรณ์นี้เรียกว่าโปรแกรมเมอร์ JDM ซึ่งเป็นการออกแบบที่ง่ายที่สุดสำหรับคอนโทรลเลอร์ตระกูล PIC แบบกะพริบ ข้อดีที่ไม่อาจปฏิเสธได้ - ความเรียบง่าย ความกะทัดรัด แหล่งจ่ายไฟที่ไม่มีแหล่งภายนอกของวงจรโปรแกรมเมอร์คลาสสิกนี้ - ทำให้เป็นที่นิยมอย่างมากในหมู่นักวิทยุสมัครเล่นโดยเฉพาะอย่างยิ่งเมื่อวงจรมีอายุ 5 ปีแล้วและในช่วงเวลานี้ได้สร้างตัวเองให้เรียบง่ายและ เครื่องมือที่เชื่อถือได้สำหรับการทำงานกับไมโครคอนโทรลเลอร์
แผนผังของโปรแกรมเมอร์สำหรับตัวควบคุม pic:
ตัววงจรไม่จำเป็นต้องใช้พลังงานเนื่องจากจะทำโดยพอร์ต COM ของคอมพิวเตอร์ซึ่งใช้ควบคุมเฟิร์มแวร์ของไมโครคอนโทรลเลอร์ สำหรับโหมดการตั้งโปรแกรมแรงดันต่ำ 5V ก็เพียงพอแล้ว แต่ตัวเลือกการเปลี่ยนแปลง (ฟิวส์) ทั้งหมดอาจไม่สามารถใช้ได้ ขั้วต่อพอร์ต COM-9 ติดตั้งโดยตรงบนแผงวงจรโปรแกรมเมอร์ PIC - สะดวกมาก
คุณสามารถเสียบบอร์ดเข้ากับพอร์ตได้โดยตรงโดยไม่ต้องใช้สายไฟเพิ่มเติม โปรแกรมเมอร์ได้รับการทดสอบบนคอมพิวเตอร์หลายเครื่อง และเมื่อเขียนโปรแกรม MK ของซีรีส์ 12F, 16F และ 18F ก็แสดงเฟิร์มแวร์คุณภาพสูง วงจรที่นำเสนอช่วยให้สามารถตั้งโปรแกรมไมโครคอนโทรลเลอร์ PIC12F509, PIC16F84A, PIC16F628 ได้
สำหรับการเขียนโปรแกรมจะใช้ WinPic800 - หนึ่งในโปรแกรมที่ดีที่สุดสำหรับการเขียนโปรแกรมคอนโทรลเลอร์ PIC โปรแกรมนี้ช่วยให้คุณสามารถดำเนินการกับไมโครคอนโทรลเลอร์ตระกูล PIC: การอ่าน การเขียน การลบ ตรวจสอบหน่วยความจำ FLASH และ EEPROM และการตั้งค่าบิตการกำหนดค่า
ไมโครคอนโทรลเลอร์ประเภทต่างๆ PIC12C508, PIC12C509, PIC16C84 และชิปหน่วยความจำที่มีอินเทอร์เฟซ I2C ได้รับการตั้งโปรแกรมโดยการเสียบเข้าไปในตัวเชื่อมต่อดังแสดงในรูปด้านบน
การพัฒนาอุปกรณ์อิเล็กทรอนิกส์กำลังดำเนินไปอย่างรวดเร็วและองค์ประกอบหลักของอุปกรณ์ก็คือไมโครคอนโทรลเลอร์มากขึ้น เป็นงานส่วนใหญ่และช่วยให้นักออกแบบไม่ต้องสร้างการออกแบบวงจรที่ซับซ้อน ซึ่งช่วยลดขนาดของแผงวงจรพิมพ์ให้เหลือน้อยที่สุด ดังที่ทุกคนรู้ ไมโครคอนโทรลเลอร์ถูกควบคุมโดยโปรแกรมที่บันทึกไว้ในหน่วยความจำภายใน และหากโปรแกรมเมอร์อิเล็กทรอนิกส์ที่มีประสบการณ์ไม่มีปัญหาในการใช้ไมโครคอนโทรลเลอร์ในอุปกรณ์ของเขา ดังนั้นสำหรับนักวิทยุสมัครเล่นมือใหม่ การพยายามเขียนโปรแกรมลงในคอนโทรลเลอร์ (โดยเฉพาะ PIC) อาจส่งผลให้เกิดความผิดหวังอย่างมาก และบางครั้งก็มีการแสดงพลุไฟเล็กน้อยใน รูปแบบของชิปสูบบุหรี่
น่าแปลกที่ข้อมูลเฟิร์มแวร์มีน้อยมากสำหรับความยิ่งใหญ่ของอินเทอร์เน็ต ตัวควบคุม PICและวัสดุที่สามารถพบได้นั้นมีคุณภาพน่าสงสัยมาก แน่นอนคุณสามารถซื้อโปรแกรมเมอร์โรงงานในราคาที่ไม่เพียงพอและเย็บให้ตรงใจ แต่จะทำอย่างไรถ้าคนไม่ได้มีส่วนร่วมในการผลิตจำนวนมาก เพื่อจุดประสงค์เหล่านี้คุณสามารถประกอบผลิตภัณฑ์โฮมเมดที่เรียบง่ายและราคาไม่แพงที่เรียกว่า โปรแกรมเมอร์เจดีเอ็มตามแผนภาพด้านล่าง (รูปที่ 1):
รูปที่ 1 - วงจรโปรแกรมเมอร์
ฉันจะจัดเตรียมรายการองค์ประกอบสำหรับผู้ที่ขี้เกียจเกินกว่าจะดูแผนภาพให้ละเอียดทันที:
แผนภาพใช้ตัวอย่างการเชื่อมต่อตัวควบคุมทั่วไปเช่น PIC12F675และ PIC12F629แต่นี่ไม่ได้หมายความว่าเฟิร์มแวร์ของซีรีย์อื่นเลย รูปจะเป็นไปไม่ได้ หากต้องการเขียนโปรแกรมไปยังคอนโทรลเลอร์ประเภทอื่นเพียงต่อสายไฟของโปรแกรมเมอร์ตามรูปที่ 2 ดังแสดงด้านล่าง
รูปที่ 2 - ตัวเลือกสำหรับตัวเรือนคอนโทรลเลอร์ PIC พร้อมพินที่จำเป็น
อย่างที่คุณอาจเดาได้ว่าวงจรของโปรแกรมเมอร์ของฉันใช้ตัวเครื่อง กรมทรัพย์สินทางปัญญา8- หากคุณต้องการจริงๆ คุณสามารถสร้างอะแดปเตอร์สากลสำหรับไมโครวงจรแต่ละประเภทได้ ดังนั้นจึงได้รับโปรแกรมเมอร์สากล แต่ตั้งแต่ ตัวควบคุม PICฉันไม่ค่อยได้ทำงาน แค่นี้ก็เพียงพอแล้วสำหรับฉัน
แม้ว่าตัววงจรจะค่อนข้างง่ายและจะไม่ทำให้เกิดปัญหาในการประกอบ แต่ก็ต้องอาศัยความเคารพเช่นกัน ดังนั้นจึงเป็นการดีที่จะทำแผงวงจรพิมพ์ให้กับมัน หลังจากการยักย้ายบางอย่างกับโปรแกรม SprintLayout, PCB, สว่านและเหล็ก, เกิดช่องว่างดังกล่าว (รูปภาพหมายเลข 3)
รูปที่ 3 - แผงวงจรโปรแกรมเมอร์
ดาวน์โหลดแหล่ง PCB สำหรับโปรแกรม SprintLayoutคุณสามารถไปตามลิงค์นี้:
(ดาวน์โหลด: 670)
หากต้องการ คุณสามารถเปลี่ยนให้เหมาะกับประเภทของคอนโทรลเลอร์ PIC ของคุณได้ สำหรับผู้ที่ตัดสินใจคงบอร์ดไว้ไม่เปลี่ยนแปลง ผมขอโพสต์มุมมองจากฝั่งอะไหล่เพื่อความสะดวกในการติดตั้ง (ภาพที่ 4)
รูปที่ 4 - บอร์ดจากด้านการติดตั้ง
คาถาอีกเล็กน้อยด้วยหัวแร้งและเรามีอุปกรณ์สำเร็จรูปที่สามารถกระพริบได้ ตัวควบคุม PICผ่าน พอร์ตคอมคอมพิวเตอร์ของคุณ. ผลลัพธ์ของความพยายามของฉันยังคงอบอุ่นและไม่ถูกชะล้างออกจากฟลักซ์แสดงในภาพที่ 5
รูปที่ 5 - โปรแกรมเมอร์ประกอบ
จากนี้ไป ขั้นแรกสู่เส้นทางสู่เฟิร์มแวร์ ตัวควบคุม PIC,ได้สิ้นสุดลงแล้ว. ขั้นตอนที่สองจะรวมถึงการเชื่อมต่อโปรแกรมเมอร์เข้ากับคอมพิวเตอร์และทำงานกับโปรแกรม IC-Prog.
น่าเสียดายที่คอมพิวเตอร์และแล็ปท็อปสมัยใหม่บางเครื่องไม่สามารถทำงานร่วมกับโปรแกรมเมอร์นี้ได้เนื่องจากขาดความซ้ำซาก พอร์ต COMและที่ติดตั้งบนแล็ปท็อปไม่ได้จัดเตรียมสิ่งที่จำเป็นสำหรับการเขียนโปรแกรม 12V- ดังนั้นฉันจึงตัดสินใจหันไปหาฉันก่อน พีซีซึ่งสะสมฝุ่นมานานแล้วและรอคอยเวลาที่ดีที่สุด (และในที่สุดก็เป็นเช่นนั้น)
ดังนั้นให้เปิดคอมพิวเตอร์และก่อนอื่นให้ติดตั้งโปรแกรม IC-Prog- คุณสามารถดาวน์โหลดได้จากเว็บไซต์ของผู้เขียนหรือจากลิงค์นี้:
(ดาวน์โหลด: 769)
เราเชื่อมต่อโปรแกรมเมอร์กับ พอร์ตคอมและเปิดแอปพลิเคชันที่ติดตั้งใหม่ เพื่อการดำเนินการที่ถูกต้องจำเป็นต้องดำเนินการหลายอย่าง ขั้นแรก คุณต้องเลือกประเภทของคอนโทรลเลอร์ที่คุณจะเย็บ ฉันมีสิ่งนี้ PIC12F675- ในภาพหน้าจอหมายเลข 6 ช่องสำหรับเลือกคอนโทรลเลอร์จะถูกเน้นด้วยสีแดง
ภาพหน้าจอที่ 6 - การเลือกประเภทของไมโครคอนโทรลเลอร์
ภาพหน้าจอที่ 7 - การตั้งค่าวิธีการบันทึกคอนโทรลเลอร์
ในหน้าต่างเดียวกัน ให้ไปที่แท็บ " การเขียนโปรแกรม" และเลือกรายการ " ตรวจสอบระหว่างการเขียนโปรแกรม" การตรวจสอบหลังการเขียนโปรแกรมอาจทำให้เกิดข้อผิดพลาดเนื่องจากในบางกรณีเฟิร์มแวร์เองก็ตั้งค่าฟิวส์บล็อกการอ่าน เอสอาร์- เพื่อไม่ให้หลอกตัวเอง ควรปิดการใช้งานเช็คนี้จะดีกว่า กล่าวโดยสรุป เราจะทำตามภาพหน้าจอหมายเลข 8
ภาพหน้าจอที่ 8 - ตั้งค่าการยืนยัน
มาทำงานกับหน้าต่างนี้ต่อไปแล้วไปที่แท็บ " เป็นเรื่องธรรมดา" ที่นี่คุณต้องกำหนดลำดับความสำคัญของโปรแกรมและอย่าลืมใช้งาน NT/2000/XPไดรเวอร์ (ภาพหน้าจอหมายเลข 9) ในบางกรณี โปรแกรมอาจแจ้งให้คุณติดตั้งไดรเวอร์นี้ และจำเป็นต้องรีสตาร์ท IC-Prog.
สกรีนช็อตหมายเลข 9 - การตั้งค่าทั่วไป
เสร็จแล้วกับหน้าต่างนี้ ตอนนี้เรามาดูการตั้งค่าของโปรแกรมเมอร์กันดีกว่า เลือกจากเมนู " การตั้งค่า"->"การตั้งค่าโปรแกรมเมอร์"หรือเพียงแค่กดปุ่ม F3- หน้าต่างต่อไปนี้จะปรากฏขึ้น ดังที่แสดงในภาพหน้าจอหมายเลข 10
สกรีนช็อตหมายเลข 10 - หน้าต่างการตั้งค่าโปรแกรมเมอร์
ก่อนอื่นให้เลือกประเภทของโปรแกรมเมอร์ - เจดีเอ็ม โปรแกรมเมอร์- จากนั้นตั้งค่าปุ่มตัวเลือกสำหรับใช้งานไดรเวอร์ หน้าต่าง- ขั้นตอนต่อไปเกี่ยวข้องกับการเลือก พอร์ตคอมซึ่งโปรแกรมเมอร์ของคุณเชื่อมต่ออยู่ หากมีเพียงหนึ่งคำถาม ก็ไม่มีคำถามใดๆ เลย แต่หากมีมากกว่าหนึ่งคำถาม ให้ดูในตัวจัดการอุปกรณ์ที่กำลังใช้งานอยู่ แถบเลื่อนเวลาแฝง I/O ใช้เพื่อปรับความเร็วในการเขียนและอ่าน อาจจำเป็นสำหรับคอมพิวเตอร์ที่รวดเร็วและหากเกิดปัญหากับเฟิร์มแวร์ - จะต้องเพิ่มพารามิเตอร์นี้ ในกรณีของฉัน มันยังคงเท่าเดิมโดยค่าเริ่มต้น 10 และทุกอย่างทำงานได้ดี
เพียงเท่านี้ก็ตั้งค่าโปรแกรมได้แล้ว IC-Progจบลงแล้วและคุณสามารถไปยังกระบวนการของเฟิร์มแวร์ได้ แต่ก่อนอื่นเราจะอ่านข้อมูลจากไมโครคอนโทรลเลอร์และดูว่ามีอะไรเขียนไว้บ้าง ในการดำเนินการนี้บนแถบเครื่องมือให้คลิกที่ไอคอนวงจรไมโครพร้อมลูกศรสีเขียวดังที่แสดงในภาพหน้าจอหมายเลข 11
ภาพหน้าจอที่ 11 - กระบวนการอ่านข้อมูลจากไมโครคอนโทรลเลอร์
หากไมโครคอนโทรลเลอร์เป็นของใหม่และไม่เคยมีการแฟลชมาก่อน เซลล์หน่วยความจำทั้งหมดจะถูกเติมด้วยค่าต่างๆ 3FFFยกเว้นอันสุดท้าย โดยจะประกอบด้วยค่าคงที่การสอบเทียบ นี่เป็นค่าที่สำคัญและไม่ซ้ำกันสำหรับคอนโทรลเลอร์แต่ละตัว ขึ้นอยู่กับความแม่นยำของเวลาซึ่งกำหนดโดยผู้ผลิตโดยการเลือกและตั้งค่าคงที่เดียวกันนี้ ภาพหน้าจอหมายเลข 12 แสดงเซลล์หน่วยความจำซึ่งค่าคงที่จะถูกเก็บไว้เมื่ออ่านคอนโทรลเลอร์
ภาพหน้าจอหมายเลข 12 - ค่าคงที่การสอบเทียบ
ฉันขอย้ำอีกครั้งว่าค่าของชิปแต่ละตัวไม่ซ้ำกันและไม่จำเป็นต้องตรงกับค่าที่แสดงในรูป เนื่องจากไม่มีประสบการณ์ หลายๆ คนจึงเขียนทับค่าคงที่นี้และต่อมา ตัวควบคุม PICเริ่มทำงานไม่ถูกต้องหากโครงการใช้การตอกบัตรจากออสซิลเลเตอร์ภายใน ฉันแนะนำให้คุณจดค่าคงที่นี้และติดป้ายกำกับที่มีค่าของมันบนคอนโทรลเลอร์โดยตรง ด้วยวิธีนี้คุณจะหลีกเลี่ยงปัญหามากมายในอนาคต ดังนั้นค่าจะถูกเขียนลงไป - มาดูกันดีกว่า เราเปิดไฟล์เฟิร์มแวร์ซึ่งโดยปกติจะมีนามสกุล .hex- ตอนนี้แทนที่จะเป็นจารึก 3FFFบัฟเฟอร์การเขียนโปรแกรมประกอบด้วยโค้ดของโปรแกรมของเรา (ภาพหน้าจอหมายเลข 13)
ภาพหน้าจอที่ 13 - โหลดเฟิร์มแวร์ลงในบัฟเฟอร์การเขียนโปรแกรม
ฉันเขียนไว้ข้างต้นว่ามีคนจำนวนมากเขียนทับค่าคงที่การสอบเทียบโดยไม่ได้ตั้งใจ สิ่งนี้จะเกิดขึ้นเมื่อไหร่? สิ่งนี้จะเกิดขึ้นเมื่อมีการเปิดไฟล์เฟิร์มแวร์ ค่าคงที่จะเปลี่ยนเป็นโดยอัตโนมัติ 3FFFและเมื่อคุณเริ่มกระบวนการเขียนโปรแกรมแล้วจะไม่มีการย้อนกลับ ในภาพหน้าจอหมายเลข 14 เซลล์หน่วยความจำที่มีการเน้นค่าคงที่ก่อนหน้านี้ 3450 (ก่อนเปิด. ไฟล์ฐานสิบหก).
วงจรที่ใช้ไมโครคอนโทรลเลอร์กำลังได้รับความนิยมค่อนข้างมากบนอินเทอร์เน็ต ไมโครคอนโทรลเลอร์เป็นชิปพิเศษที่เป็นคอมพิวเตอร์ขนาดเล็กที่มีพอร์ตอินพุต/เอาท์พุตและหน่วยความจำของตัวเอง ด้วยไมโครคอนโทรลเลอร์ คุณสามารถสร้างวงจรที่ใช้งานได้ดีมากโดยใช้ส่วนประกอบแบบพาสซีฟขั้นต่ำ เช่น นาฬิกาอิเล็กทรอนิกส์ เครื่องเล่น เอฟเฟกต์ LED ต่างๆ และอุปกรณ์อัตโนมัติ
เพื่อให้ไมโครวงจรเริ่มทำงานใด ๆ จำเป็นต้องทำการแฟลชเช่น โหลดรหัสเฟิร์มแวร์ลงในหน่วยความจำ ซึ่งสามารถทำได้โดยใช้อุปกรณ์พิเศษที่เรียกว่าโปรแกรมเมอร์ โปรแกรมเมอร์เชื่อมต่อคอมพิวเตอร์ที่มีไฟล์เฟิร์มแวร์อยู่พร้อมกับไมโครคอนโทรลเลอร์ที่กำลังแฟลช เป็นมูลค่าการกล่าวขวัญว่ามีไมโครคอนโทรลเลอร์ในตระกูล AVR เช่น Atmega8, Attiny13 และซีรีย์ pic เช่น PIC12F675, PIC16F676 ซีรีส์ Pic เป็นของ Microchip และซีรีส์ AVR เป็นของ Atmel ดังนั้นวิธีการเฟิร์มแวร์สำหรับ PIC และ AVR จึงแตกต่างกัน ในบทความนี้เราจะดูกระบวนการสร้างโปรแกรมเมอร์ Extra-pic ซึ่งคุณสามารถแฟลชไมโครคอนโทรลเลอร์ซีรีย์ pic ได้
ข้อดีของโปรแกรมเมอร์รุ่นนี้คือความเรียบง่ายของวงจร ความน่าเชื่อถือในการทำงาน และความอเนกประสงค์ เนื่องจากรองรับไมโครคอนโทรลเลอร์ทั่วไปทั้งหมด คอมพิวเตอร์ยังรองรับโปรแกรมเฟิร์มแวร์ทั่วไป เช่น Ic-prog, WinPic800, PonyProg, PICPgm
(ดาวน์โหลด: 639)