เว็บไซต์รถยนต์-หลังพวงมาลัย

เว็บไซต์รถยนต์-หลังพวงมาลัย

» วงจรโปรแกรมเมอร์สำหรับตัวควบคุม pic โปรแกรมเมอร์ JDM ที่ง่ายที่สุดสำหรับ PIC บนส่วนประกอบแบบพาสซีฟ

วงจรโปรแกรมเมอร์สำหรับตัวควบคุม pic โปรแกรมเมอร์ JDM ที่ง่ายที่สุดสำหรับ PIC บนส่วนประกอบแบบพาสซีฟ

ดังนั้นถึงเวลาที่จะศึกษาไมโครคอนโทรลเลอร์แล้วจึงตั้งโปรแกรมพวกมันและฉันก็อยากจะประกอบอุปกรณ์เหล่านั้นด้วยซึ่งปัจจุบันมีวงจรบนอินเทอร์เน็ตมากมาย เราเจอไดอะแกรม ซื้อคอนโทรลเลอร์ ดาวน์โหลดเฟิร์มแวร์... แล้วเราจะใช้อะไรแฟลชด้วย??? และที่นี่นักวิทยุสมัครเล่นที่เริ่มเชี่ยวชาญไมโครคอนโทรลเลอร์ต้องเผชิญกับคำถามในการเลือกโปรแกรมเมอร์! ฉันต้องการค้นหาตัวเลือกที่ดีที่สุดในแง่ของความอเนกประสงค์ - ความเรียบง่ายของวงจร - ความน่าเชื่อถือ โปรแกรมเมอร์ "แบรนด์" และแอนะล็อกของพวกเขาถูกแยกออกทันทีเนื่องจากวงจรค่อนข้างซับซ้อนซึ่งรวมถึงไมโครคอนโทรลเลอร์ตัวเดียวกันกับที่ต้องตั้งโปรแกรม นั่นคือมันกลายเป็น "วงจรอุบาทว์": คุณต้องมีโปรแกรมเมอร์เพื่อสร้างโปรแกรมเมอร์ ดังนั้นการค้นหาและการทดลองจึงเริ่มต้นขึ้น! ในตอนแรก ตัวเลือกตกอยู่ที่ 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! ขอให้โชคดี!

แบ่งปันไปที่:
การประกอบวงจรที่คุณต้องการอย่างรวดเร็วบนไมโครคอนโทรลเลอร์ไม่ใช่ปัญหาสำหรับนักวิทยุสมัครเล่นหลายคน แต่หลายคนที่เริ่มทำงานกับไมโครคอนโทรลเลอร์ต้องเผชิญกับคำถามว่าจะตั้งโปรแกรมอย่างไร หนึ่งในตัวเลือกโปรแกรมเมอร์ที่ง่ายที่สุดคือโปรแกรมเมอร์ JDM
โปรแกรมเมอร์ ProgCode v 1.0 โปรแกรมนี้ทำงานใน WindowsXP อนุญาตให้ตั้งโปรแกรมคอนโทรลเลอร์ PIC ตระกูลกลาง (PIC16Fxxx) ผ่านทางพอร์ต COM ของคอมพิวเตอร์ ตัวบ่งชี้การเชื่อมต่อโปรแกรมเมอร์ (ที่มุมขวาบนของหน้าต่าง) เปลี่ยนเป็นสีแดงหากไม่มีโปรแกรมเมอร์บนพอร์ตที่เลือกในการตั้งค่า หากโปรแกรมเมอร์เชื่อมต่ออยู่ โปรแกรมจะตรวจพบและตัวบ่งชี้ที่มุมขวาบนจะอยู่ในรูปแบบที่แสดงในรูปที่ 1 แผงควบคุมจะอยู่ที่ด้านซ้ายของหน้าต่างโปรแกรม แผงนี้สามารถย่อให้เล็กสุดได้ด้วยการคลิกที่ปุ่มในแถบเครื่องมือหรือคลิกที่ขอบด้านซ้ายของหน้าต่าง (ซึ่งจะสะดวกเมื่อหน้าต่างโปรแกรมขยายเต็มหน้าจอ)

รูป (สกรีนช็อตของโปรแกรม ProgCode v1.0)


หากโหลดไฟล์ HEX ลงในโปรแกรมขอแนะนำให้เลือก MK ในรายการคอนโทรลเลอร์ที่ออกแบบเฟิร์มแวร์ที่โหลดไว้ก่อน หากยังไม่เสร็จสิ้น ไฟล์ที่ออกแบบมาสำหรับไมโครคอนโทรลเลอร์ที่มีหน่วยความจำใหญ่กว่าที่เลือกไว้ในรายการจะถูกตัดออกและบางส่วนของโปรแกรมจะหายไป - ด้วยตัวเลือกนี้สำหรับการโหลดไฟล์ คำเตือนจะปรากฏขึ้น

หากไม่เกิดขึ้น คุณสามารถเลือกคอนโทรลเลอร์ที่ต้องการได้หลังจากโหลดไฟล์ลงในโปรแกรม

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

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



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

ควรทำเครื่องหมายในช่อง "ตรวจสอบเมื่อเขียน" หากคุณต้องการ "ตรวจสอบทันที" ตรวจสอบทุกสิ่งที่เขียนไปยังไมโครคอนโทรลเลอร์เพื่อดูความถูกต้องและสอดคล้องกับไฟล์ต้นฉบับ หากคุณยกเลิกการเลือกช่องนี้ การตรวจสอบจะไม่เกิดขึ้นเลยและจะไม่มีข้อความแสดงข้อผิดพลาด แม้ว่าข้อผิดพลาดดังกล่าวจะเกิดขึ้นจริงก็ตาม
เลือกความเร็วพอร์ต - ความเร็วสามารถเป็นอะไรก็ได้ สำหรับโปรแกรมเมอร์ JDM พารามิเตอร์นี้ไม่มีความหมาย

WindowsXP ใช้การบัฟเฟอร์ข้อมูลที่ส่งผ่านพอร์ต COM สิ่งเหล่านี้เรียกว่าบัฟเฟอร์ FIFO เพื่อหลีกเลี่ยงข้อผิดพลาดเมื่อตั้งโปรแกรมผ่าน JDM จะต้องปิดการใช้งานกลไกนี้ คุณสามารถทำได้ใน Windows Device Manager

ไปที่แผงควบคุม จากนั้น:
การบริหาร - การจัดการคอมพิวเตอร์ - ตัวจัดการอุปกรณ์

จากนั้นเลือกพอร์ตที่โปรแกรมเมอร์ JDM เชื่อมต่ออยู่ (เช่น COM1) - ดูคุณสมบัติ - แท็บพารามิเตอร์พอร์ต - เพิ่มเติม และยกเลิกการทำเครื่องหมายที่ช่อง "ใช้บัฟเฟอร์ FIFO"

รูป - การตั้งค่าพอร์ต COM เพื่อทำงานกับโปรแกรมเมอร์ JDM



หลังจากนี้ ให้รีสตาร์ทคอมพิวเตอร์


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

เมื่อคุณดับเบิลคลิกในแผงเบราว์เซอร์ ไฟล์ใด ๆ จะเปิดขึ้นในโปรแกรมเอง - สิ่งนี้ใช้ได้กับรูปภาพ, ไฟล์ html, doc, rtf, djvu (เมื่อติดตั้งปลั๊กอิน), pdf, txt, asm ไฟล์นี้สามารถเปิดได้ด้วยการดับเบิลคลิกในเบราว์เซอร์โดยใช้โปรแกรมภายนอกที่ติดตั้งบนคอมพิวเตอร์ ในการดำเนินการนี้ จะต้องป้อนนามสกุลของประเภทไฟล์ที่ต้องการในรายการ "ความสัมพันธ์ของไฟล์" หากคุณไม่ระบุเส้นทางไปยังโปรแกรมที่เปิด Windows จะเปิดไฟล์ในโปรแกรมตามค่าเริ่มต้น (สะดวกสำหรับการเปิดไฟล์เก็บถาวรที่ไม่ได้เปิดอย่างชัดเจนเสมอไป) หากระบุเส้นทางไปยังโปรแกรมที่กำลังเปิดอยู่ในรายการ ไฟล์จะเปิดในโปรแกรมที่ระบุ สะดวกในการดูไฟล์เช่น SPL, LAY, DSN ด้วยวิธีนี้

รูป (สกรีนช็อตของโปรแกรมเบราว์เซอร์ ProgCode v1.0)



หน้าต่างการตั้งค่าการเชื่อมโยงไฟล์มีลักษณะดังนี้:




Project Browser บนอินเทอร์เน็ต Project Browser บนอินเทอร์เน็ตเช่นเดียวกับเบราว์เซอร์โปรเจ็กต์ในเครื่องช่วยให้คุณไปยังไซต์ที่ต้องการบนอินเทอร์เน็ตได้อย่างรวดเร็วด้วยการคลิกเพียงไม่กี่ครั้งดูโปรเจ็กต์และหากจำเป็นให้แฟลชโปรแกรมใน MK ทันที .



เมื่อตรวจสอบโครงการบนอินเทอร์เน็ตหากในหน้าโครงการมีลิงค์ไปยังไฟล์ที่มีนามสกุล SFR (นี่คือรูปแบบไฟล์ของโปรแกรม ProgCode) จากนั้นเมื่อคุณคลิกที่มันไฟล์ดังกล่าวจะเปิดในรูปแบบใหม่ แท็บโปรแกรมและพร้อมสำหรับการแฟลชเข้าสู่ไมโครคอนโทรลเลอร์ทันที
รายการลิงก์สามารถแก้ไขได้โดยใช้ปุ่ม "แก้ไข" นี่จะเป็นการเปิดหน้าต่างสำหรับแก้ไขรายการลิงก์:





คำอธิบายของขั้นตอนการเขียนโปรแกรมชิป ชิปสมัยใหม่ส่วนใหญ่มีหน่วยความจำแฟลชซึ่งตั้งโปรแกรมโดยใช้โปรโตคอล I2C หรือโปรโตคอลที่คล้ายกัน
หน่วยความจำที่เขียนซ้ำได้มีอยู่ใน PIC, AVR และคอนโทรลเลอร์อื่น ๆ , ชิปหน่วยความจำเช่น 24Cxx และหน่วยความจำที่คล้ายกัน, การ์ดหน่วยความจำต่าง ๆ เช่น MMC และ SD, แฟลชการ์ด USB ธรรมดาที่เชื่อมต่อกับคอมพิวเตอร์ผ่านขั้วต่อ USB ลองพิจารณาการเขียนข้อมูลลงไป หน่วยความจำแฟลชของไมโครคอนโทรลเลอร์ PIC16F628A มี 2 สาย DATA และ CLOCK สำหรับการส่งข้อมูล เส้น CLOCK ใช้เพื่อจ่ายพัลส์นาฬิกา และใช้สาย DATA เพื่อส่งข้อมูล
ในการถ่ายโอนข้อมูล 1 บิตไปยังไมโครคอนโทรลเลอร์ คุณต้องตั้งค่า 0 หรือ 1 (ขึ้นอยู่กับค่าของบิต) บนสายข้อมูล (DATA) และสร้างแรงดันตกคร่อม (การเปลี่ยนจาก 1 เป็น 0) บนสายนาฬิกา ( นาฬิกา).
หนึ่งบิตสำหรับคอนโทรลเลอร์นั้นไม่เพียงพอ เขารออีกห้าครั้งเพื่อที่จะรับรู้ข้อความ 6 บิตนี้เป็นคำสั่ง คอนโทรลเลอร์ชอบคำสั่งมากและต้องประกอบด้วย 6 บิต - นั่นคือธรรมชาติของ PIC16
นี่คือรายการและความหมายของคำสั่งที่ PIC สามารถเข้าใจได้ มีคำสั่งไม่มากนัก - คำศัพท์ของคอนโทรลเลอร์นี้มีขนาดเล็ก แต่อย่าคิดว่ามันโง่ไปเลย - มีอุปกรณ์ที่มีคำสั่งน้อยกว่า "LoadConfiguration" 000000 - กำลังโหลดการกำหนดค่า
"LoadDataForProgramMemory" 000010 - กำลังโหลดข้อมูลลงในหน่วยความจำโปรแกรม
"LoadDataForDataMemory" - 000011 - กำลังโหลดข้อมูลลงในหน่วยความจำข้อมูล (EEPROM)
"IncreatAddress" 000110 - เพิ่มที่อยู่ของ PC MK
"ReadDataFromProgramMemory" 000100 - การอ่านข้อมูลจากหน่วยความจำโปรแกรม
"ReadDataFromDataMemory" 000101 - การอ่านข้อมูลจากหน่วยความจำข้อมูล (EEPROM)
"BeginProgrammingOnlyCycle" 011000 - เริ่มรอบการตั้งโปรแกรม
"BulkEraseProgramMemory" 001001 - ลบหน่วยความจำโปรแกรมให้สมบูรณ์
"BulkEraseDataMemory" 001011 - ลบหน่วยความจำข้อมูลอย่างสมบูรณ์ (EEPROM)
"BeginEraseProgrammingCycle" 001000 - เริ่มต้นรอบการเขียนโปรแกรม คอนโทรลเลอร์ตอบสนองต่อคำสั่งเหล่านี้แตกต่างออกไป ในรูปแบบต่างๆ หลังจากออกคำสั่งแล้ว คุณจะต้องสนทนากับเขาต่อไป
ในการเริ่มกระบวนการตั้งโปรแกรมอย่างเต็มรูปแบบ คุณจะต้องจ่ายแรงดันไฟฟ้า 12 โวลต์ไปที่พิน MCLR ของคอนโทรลเลอร์ จากนั้นจึงจ่ายแรงดันไฟฟ้าให้กับมัน มันอยู่ในลำดับการจ่ายแรงดันไฟฟ้านี้ซึ่งมีความหมายบางอย่าง หลังจากจ่ายไฟแล้ว หากกำหนดค่า PIC ให้รันจากออสซิลเลเตอร์ RC ภายใน PIC อาจเริ่มรันโปรแกรมของตัวเอง ซึ่งไม่ได้รับอนุญาตเมื่อเขียนโปรแกรม เนื่องจากความล้มเหลวเป็นสิ่งที่หลีกเลี่ยงไม่ได้
การจ่ายไฟเบื้องต้น 12 โวลต์ให้กับ MCLR ช่วยให้คุณหลีกเลี่ยงการพัฒนาดังกล่าว
เมื่อเขียนข้อมูลลงในหน่วยความจำแฟลชของโปรแกรม MK หลังจากคำสั่ง "LoadDataForProgramMemory" 000010 - การโหลดข้อมูลลงในหน่วยความจำโปรแกรมข้อมูลจะต้องถูกส่งไปยังคอนโทรลเลอร์ - 16 บิต
ซึ่งมีลักษณะดังนี้: "0xxxxxxxxxxxxx0" กากบาทในคำนี้คือข้อมูลเอง และศูนย์ที่ขอบจะถูกส่งเป็นเฟรม - นี่คือมาตรฐานสำหรับ PIC16 มีเพียง 14 บิตที่สำคัญในหนึ่งคำ คอนโทรลเลอร์ชุดนี้มีรูปแบบการแสดงคำสั่ง 14 บิต
หลังจากการส่งคำข้อมูลเสร็จสิ้น PIC จะรอคำสั่งถัดไป
เนื่องจากเป้าหมายของเราคือการเขียนคำลงในหน่วยความจำโปรแกรมของ MK คำสั่งถัดไปจึงควรเป็นคำสั่ง
"BeginEraseProgrammingCycle" 001000 - เริ่มต้นวงจรการเขียนโปรแกรมเมื่อได้รับแล้ว คอนโทรลเลอร์จะถูกตัดการเชื่อมต่อจากโลกภายนอกเป็นเวลา 6 มิลลิวินาที ซึ่งจะต้องทำให้กระบวนการบันทึกเสร็จสมบูรณ์ สัญญาณที่พินไมโครคอนโทรลเลอร์จะถูกสร้างขึ้นโดยคอมพิวเตอร์โดยใช้โปรแกรมพิเศษ - โปรแกรมเมอร์ สามารถใช้พอร์ต COM, LPT หรือ USB สำหรับการส่งสัญญาณได้ โปรแกรมเช่น PonyProg, IsProg, WinPic800 ทำงานร่วมกับโปรแกรมเมอร์ JDM
วงจรโปรแกรมเมอร์ JDM วงจรโปรแกรมเมอร์อย่างง่ายแสดงอยู่ในรูป แม้ว่าวงจรนี้ไม่ได้ใช้การควบคุมลำดับการจ่ายแรงดันไฟฟ้า แต่ก็ง่ายมากและสามารถประกอบวงจรดังกล่าวได้อย่างรวดเร็วโดยใช้ชิ้นส่วนขั้นต่ำ
รูป (วงจรโปรแกรมเมอร์ JDM)


หนึ่งในคำถามเมื่อเชื่อมต่อโปรแกรมเมอร์กับคอมพิวเตอร์คือวิธีการตรวจสอบให้แน่ใจว่ามีการแยกแบบเลือก เพื่อหลีกเลี่ยงความเสียหายต่อพอร์ต COM ในกรณีที่วงจรทำงานผิดปกติ การออกแบบบางอย่างใช้ MAX232 IC ซึ่งให้การแยกแบบเลือกและการจับคู่ระดับสัญญาณ ในโครงการนี้ ปัญหาจะแก้ไขได้ง่ายขึ้น - โดยการใช้พลังงานแบตเตอรี่ ระดับสัญญาณที่มาจากคอมพิวเตอร์ถูกจำกัดโดยซีเนอร์ไดโอด VD1, VD2 และ VD3 แม้จะมีความเรียบง่ายของวงจรโปรแกรมเมอร์ JDM แต่ก็สามารถใช้ในการเขียนโปรแกรมไมโครคอนโทรลเลอร์ PIC เกือบทุกประเภทได้ จัมเปอร์ระหว่างพิน COM6 (DSR) และ COM7 (RTS) ได้รับการออกแบบเพื่อให้โปรแกรมสามารถระบุได้ว่าโปรแกรมเมอร์เชื่อมต่อกับคอมพิวเตอร์หรือไม่ .

การเชื่อมต่อของโปรแกรมเมอร์เอาท์พุตกับ MK เฉพาะนั้นขึ้นอยู่กับประเภทของ MK บ่อยครั้งที่มีการติดตั้งแผงหลายแผงบนบอร์ดโปรแกรมเมอร์ซึ่งออกแบบมาสำหรับคอนโทรลเลอร์ประเภทเฉพาะ

ตารางแสดงวัตถุประสงค์ของขาของ MK บางประเภทระหว่างการเขียนโปรแกรม




ตัวเลขจะแสดงพร้อมกับการกำหนดพินของไมโครคอนโทรลเลอร์ที่พบบ่อยที่สุดระหว่างการเขียนโปรแกรม Pinout (pinout) ของไมโครคอนโทรลเลอร์ PIC16F876A, PIC16F873A ในแพ็คเกจ DIP28

Pinout ของไมโครคอนโทรลเลอร์ PIC16F874A, PIC16F877A ในตัวเรือน DIP40
Pinout ของไมโครคอนโทรลเลอร์ PIC16F627A, PIC16F628A, PIC16F648A ในแพ็คเกจ DIP18
MCU PIC16F84 และ PIC16F84A มีการจัดเรียงพินแบบเดียวกันสำหรับการเขียนโปรแกรม

การกำหนดพินสำหรับไมโครคอนโทรลเลอร์ของซีรีย์ PIC16Fxxx ขึ้นอยู่กับประเภทของเคสโดยส่วนใหญ่แล้วจะเป็นมาตรฐาน แต่หากมีข้อสงสัยเกี่ยวกับเรื่องนี้ ก็น่าเชื่อถือที่สุดในการตรวจสอบแผ่นข้อมูลสำหรับอินสแตนซ์เฉพาะของ MK เอกสารบางส่วนมีอยู่ในเว็บไซต์รัสเซีย http://microchip.ru ชุดเอกสารข้อมูลและเอกสารอื่นๆ ทั้งหมดอยู่บนเว็บไซต์ของผู้ผลิตไมโครคอนโทรลเลอร์ PIC: http://microchip.com
ดัชนีโครงการ โปรแกรมช่วยให้คุณไปที่หน้าดัชนีโดยตรง ดูคำอธิบายของโครงการที่ต้องการได้ด้วยการคลิกเพียงไม่กี่ครั้ง และแฟลชโปรแกรมลงในตัวควบคุมทันที



หากคุณต้องการแฟลชคอนโทรลเลอร์ด้วยเฟิร์มแวร์ที่เลือก ให้คลิกที่ไฟล์ SFR เช่น Timer_a.sfr
โปรแกรมดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ไปยังแท็บใหม่



หลังจากนี้สิ่งที่เหลืออยู่คือการใส่ MK ลงในซ็อกเก็ตโปรแกรมเมอร์หากยังไม่ได้ทำและคลิกที่ปุ่ม "เขียนทั้งหมด"
โปรแกรมถูกบันทึกใน MK หลังจากนั้น คอนโทรลเลอร์จะถูกเสียบเข้าไปในบอร์ดอุปกรณ์ และอุปกรณ์ก็พร้อมใช้งาน

คุณสามารถดาวน์โหลดโปรแกรมได้ในหน้าดาวน์โหลดไฟล์: http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pic_mikrokontrollerov/9-1-0-1613 ส่วน:
คำตอบ

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 - วงจรโปรแกรมเมอร์


ฉันจะจัดเตรียมรายการองค์ประกอบสำหรับผู้ที่ขี้เกียจเกินกว่าจะดูแผนภาพให้ละเอียดทันที:

  • R1 - 10 kโอห์ม
  • R2 - 10 kOhm (ตัดแต่งแล้ว) ด้วยการปรับความต้านทานของตัวต้านทานนี้ คุณจะต้องได้ประมาณ 13V ที่พินหมายเลข 4 (VPP) ในระหว่างการเขียนโปรแกรม ในกรณีของฉัน ความต้านทานคือ 1.2 kOhm
  • R3 - 200 โอห์ม
  • R4, R5 - 1.5 kOhm
  • วีดี1, วีดี2, วีดี3, วีดี4, วีดี6 - 1N4148
  • VD5 - 1N4733A (แรงดันไฟฟ้าคงที่ 5.1V)
  • VD7 - 1N4743A (แรงดันไฟฟ้าคงที่ 13V)
  • C1 - 100 nF (0.1 µF)
  • C2 - 470 uF x 16 V (อิเล็กโทรไลต์)
  • SUB-D9F - ขั้วต่อพอร์ต COM (MAMA หรือ SOCKET)
  • ซ็อกเก็ต DIP8 - ขึ้นอยู่กับคอนโทรลเลอร์ที่คุณใช้

แผนภาพใช้ตัวอย่างการเชื่อมต่อตัวควบคุมทั่วไปเช่น 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

วงจรโปรแกรมเมอร์


ประกอบด้วยไมโครวงจรสองตัวคือ MAX232 ที่นำเข้าและ KR1533LA3 ในประเทศซึ่งสามารถแทนที่ด้วย KR155LA3 ได้ ทรานซิสเตอร์สองตัว KT502 ซึ่งสามารถแทนที่ด้วย KT345, KT3107 หรือทรานซิสเตอร์ PNP พลังงานต่ำอื่น ๆ KT3102 สามารถเปลี่ยนได้เช่นเป็น BC457, KT315 ไฟ LED สีเขียวทำหน้าที่เป็นตัวบ่งชี้ความพร้อมของพลังงาน ไฟ LED สีแดงจะสว่างขึ้นในระหว่างกระบวนการเฟิร์มแวร์ไมโครคอนโทรลเลอร์ ไดโอด 1N4007 ใช้เพื่อป้องกันวงจรจากการจ่ายแรงดันไฟฟ้าที่มีขั้วไม่ถูกต้อง

วัสดุ


รายการชิ้นส่วนที่จำเป็นในการประกอบโปรแกรมเมอร์:
  • โคลง 78L05 – 2 ชิ้น
  • โคลง 78L12 – 1 ชิ้น
  • แอลอีดี 3 วี. สีเขียว – 1 ชิ้น
  • แอลอีดี 3 วี. สีแดง – 1 ชิ้น
  • ไดโอด 1N4007 – 1 ชิ้น
  • ไดโอด 1N4148 – 2 ชิ้น
  • ตัวต้านทาน 0.125 W 4.7 kOhm – 2 ชิ้น
  • ตัวต้านทาน 0.125 W 1 kOhm – 6 ชิ้น
  • คาปาซิเตอร์ 10 uF 16V – 4 ตัว
  • คาปาซิเตอร์ 220 uF 25V – 1 ชิ้น
  • คาปาซิเตอร์ 100 nF – 3 ชิ้น
  • ทรานซิสเตอร์ KT3102 – 1 ชิ้น
  • ทรานซิสเตอร์ KT502 – 1 ชิ้น
  • ชิป MAX232 – 1 ชิ้น
  • ชิป KR1533LA3 – 1 ชิ้น
  • ขั้วต่อสายไฟ – 1 ชิ้น
  • ขั้วต่อพอร์ต COM ตัวเมีย - 1 ชิ้น
  • ซ็อกเก็ต DIP40 – 1 ชิ้น
  • ซ็อกเก็ต DIP8 – 2 ชิ้น
  • ซ็อกเก็ต DIP14 – 1 ชิ้น
  • ซ็อกเก็ต DIP16 – 1 ชิ้น
  • ซ็อกเก็ต DIP18 – 1 ชิ้น
  • ซ็อกเก็ต DIP28 – 1 ชิ้น
นอกจากนี้คุณต้องมีหัวแร้งและความสามารถในการใช้งาน

การผลิต PCB

โปรแกรมเมอร์ประกอบอยู่บนแผงวงจรพิมพ์ขนาด 100x70 มม. แผงวงจรพิมพ์ทำโดยใช้วิธี LUT ไฟล์แนบมากับบทความ ไม่จำเป็นต้องสะท้อนภาพก่อนพิมพ์


ดาวน์โหลดบอร์ด:

(ดาวน์โหลด: 639)

การประกอบโปรแกรมเมอร์

ก่อนอื่นจัมเปอร์จะถูกบัดกรีบนแผงวงจรพิมพ์จากนั้นจึงบัดกรีตัวต้านทานไดโอด สุดท้าย คุณจะต้องประสานซ็อกเก็ตและขั้วต่อสายไฟและพอร์ต COM



เพราะ มีซ็อกเก็ตจำนวนมากบนแผงวงจรพิมพ์สำหรับไมโครคอนโทรลเลอร์แบบแฟลช แต่ไม่ได้ใช้พินทั้งหมด คุณสามารถใช้เคล็ดลับนี้และลบหน้าสัมผัสที่ไม่ได้ใช้ออกจากซ็อกเก็ตได้ ในเวลาเดียวกันจะใช้เวลาน้อยลงในการบัดกรีและการใส่ไมโครวงจรเข้าไปในซ็อกเก็ตนั้นจะง่ายกว่ามาก


ขั้วต่อพอร์ต COM (เรียกว่า DB-9) มีพินสองตัวที่ต้อง "ติด" เข้ากับบอร์ด เพื่อไม่ให้เจาะรูเพิ่มเติมบนบอร์ดคุณสามารถคลายเกลียวสกรูสองตัวที่ด้านข้างของตัวเชื่อมต่อและหมุดจะหลุดออกเช่นเดียวกับขอบโลหะของตัวเชื่อมต่อ


หลังจากบัดกรีชิ้นส่วนทั้งหมดแล้ว ต้องล้างบอร์ดจากฟลักซ์ และต้องต่อวงแหวนหน้าสัมผัสที่อยู่ติดกันเพื่อดูว่ามีการลัดวงจรหรือไม่ ตรวจสอบให้แน่ใจว่าไม่มีวงจรไมโครในซ็อกเก็ต (คุณต้องถอดทั้ง MAX232 และ KR1533LA3) เชื่อมต่อไฟ ตรวจสอบว่ามีแรงดันไฟฟ้า 5 โวลต์ที่เอาต์พุตของตัวปรับความเสถียรหรือไม่ หากทุกอย่างเรียบร้อยดีคุณสามารถติดตั้งไมโครวงจร MAX232 และ KR1533LA3 ได้โปรแกรมเมอร์ก็พร้อมใช้งาน แรงดันไฟฟ้าของวงจรคือ 15-24 โวลต์



บอร์ดโปรแกรมเมอร์ประกอบด้วยซ็อกเก็ต 4 ช่องสำหรับไมโครคอนโทรลเลอร์และอีกช่องสำหรับชิปหน่วยความจำแบบแฟลช ก่อนที่จะติดตั้งไมโครคอนโทรลเลอร์ที่จะแฟลชบนบอร์ด คุณต้องตรวจสอบว่าพินเอาท์ตรงกับพินเอาท์บนบอร์ดโปรแกรมเมอร์หรือไม่ โปรแกรมเมอร์สามารถเชื่อมต่อกับพอร์ต COM ของคอมพิวเตอร์โดยตรงหรือผ่านสายต่อ สร้างความสุข!