เริ่มต้นการเขียนโปรแกรม PIC


13

ฉันได้มองหาการเขียนโปรแกรม PIC แต่ไม่เหมือนกับไมโครคอนโทรลเลอร์อื่น ๆ ที่มีอยู่จำนวนชิปที่แตกต่างกันที่มีอยู่ทำให้ฉันสับสน นอกจากนี้ยังปรากฏว่าชิปบางตัวที่แนะนำในบางเว็บไซต์เป็นตัวเลือกที่ดีสำหรับผู้ที่เริ่มต้นด้วยการเขียนโปรแกรม PIC อาจถูกแทนที่ (หรือฉันอาจสับสนมากขึ้น)

ดังนั้นคำถามของฉันเดือดถึงสามส่วน:

  • ชิพ PIC ที่ดีสำหรับการเริ่มต้นคืออะไร

  • ฉันมีความสุขที่ได้ทำทั้งแอสเซมเบลอร์หรือภาษาอื่น ๆ ดังนั้นคุณควรแนะนำ IDE / ภาษาใดสำหรับ Linux

  • สิ่งที่คุณจะแนะนำในแง่ของการรับโค้ดไปยังชิปผ่านการเชื่อมต่อ USB จากแล็ปท็อป Linux (PicKit 2 มีความเป็นไปได้เพียงอย่างเดียว) และการกำหนดค่าวงจร / บอร์ดใดที่ฉันต้องทำ

แก้ไข: หลังจากคุยกับ Kortuk นาน (ดูความคิดเห็นด้านล่าง) เกี่ยวกับข้อดีของชุดบิตต่าง ๆ ฉันตัดสินใจเริ่มต้นด้วย PicKit2 Starter Kit สิ่งนี้มาพร้อมกับชิป PIC16F690 ที่ติดตั้ง

คำตอบ:


7

ฉันเห็นด้วยกับ PIC18s แต่สำหรับใครบางคนที่เพิ่งเริ่มต้นพวกเขาอาจจะค่อนข้างรุนแรง ตอนนี้ฉันสอนวิศวกรไฟฟ้าระดับ PIC การพัฒนาและแม้แต่ในชั้นเรียนเดียวกันภูมิหลังที่หลากหลายของพวกเขาสามารถสร้างความประหลาดใจได้

ตอนนี้ฉันสอนคนที่ใช้คอมไพเลอร์ CCS PIC-Cแต่มันมีค่าใช้จ่าย มันไม่น่าเชื่ออย่างง่ายและได้รับเลือกเนื่องจากนักเรียนส่วนใหญ่ของเราทำงานในห้องทดลองด้วยการประกอบขั้นพื้นฐานหรือการเขียนโปรแกรม x86 เท่านั้น

ฉันมีความรู้สึกว่า PIC16 แบบง่าย ๆ อาจเหมาะกว่า แต่ขึ้นอยู่กับพื้นหลังของคุณ PIC16F688 เป็น PIC ที่ง่ายมากที่เราใช้สำหรับโครงการแรกของเราที่จะทำให้ผู้คนอุ่นขึ้น


1
ฉันมีปริญญาเกียรตินิยมอันดับหนึ่งในสาขาคอมพิวเตอร์ซึ่งรวมถึงการเขียนโปรแกรมจำนวนมาก (C ++ ส่วนใหญ่บิตของ VB6 บางแอสเซมเบลอร์) ฉันยังได้รับปริญญาด้านคณิตศาสตร์และสอนวิชาคณิตศาสตร์ให้กับเด็ก ๆ ในระดับมัธยมศึกษา ฉันสามารถและเขียนโปรแกรมในหลายภาษา (ไม่ใช่ C) และมองหาสิ่งใหม่ ๆ รวมถึงการเล่นกับไมโครคอนโทรลเลอร์
Amos

1
16F88 เป็นตัวเลือกที่สมบูรณ์แบบ มี PIC ที่แตกต่างกันออกไปหลายล้านตัวและฉันคิดว่าประมาณ 50,000 รูปนั้นดีสำหรับการเริ่มต้น การเขียนโปรแกรมไมโครคอนโทรลเลอร์มักจะมีปัญหากับคนที่ฉันช่วยด้วยพื้นหลัง CS เพราะพวกเขาไม่ได้เรียนวิชาไฟฟ้าหลายเรื่องซึ่งเป็นสิ่งที่ฉันหวังว่าพวกเขาจะเพิ่มในหลักสูตรปริญญา ฉันไม่คิดว่าการเขียนโปรแกรมจะเป็นสิ่งที่ท้าทายเลย แต่มันอาจไม่ใช่ทางเลือกที่ไม่ดีที่จะได้รับคณะกรรมการพัฒนาการของคุณ สิ่งนี้จะได้รับผลกระทบจากช่วงราคาของคุณ microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Kortuk

1
ฉันคิดว่าลิงค์สุดท้ายที่ฉันโพสต์อาจเป็นตัวเลือกที่ดีมันจะให้บอร์ดกับคุณสำหรับการทำงาน 50 ดอลลาร์ (-25% ถ้าคุณมีอีเมล. edu) จากนั้นคุณมีโปรแกรมเมอร์ที่คุณสามารถใช้สำหรับ ชิปอื่น ๆ ที่คุณได้รับ ฉันหวังว่าจะได้ยินว่าโครงการของคุณเป็นอย่างไร
Kortuk

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

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

4

สำหรับ PIC มีคอมไพเลอร์โอเพนซอร์ซที่เรียกว่า JAL (Just Another Language)

เช่นเดียวกับภาษาโปรแกรมอื่น ๆ ที่ช่วยให้สามารถใช้ไลบรารีฮาร์ดแวร์เพื่อลดความซับซ้อนของกระบวนการติด PIC ที่คุณเลือกกับฮาร์ดแวร์อื่น ซอฟต์แวร์นี้ยังช่วยให้คุณสามารถรวบรวมและอัปโหลดโปรแกรมผ่าน PIC2 ของคุณ (หรือโคลนของโปรแกรมเมอร์นี้)

JAL เป็นภาษาที่ใช้ภาษา Pascal และเป็นซอฟต์แวร์ฟรี (ดีเสมอถ้าคุณเพิ่งเริ่มต้น)

รายการ JAL Wiki

สำหรับหนังสือ "ไมโครคอนโทรลเลอร์ PIC, 50 โปรเจ็กต์สำหรับผู้เริ่มต้นและผู้เชี่ยวชาญ" โดยเบิร์ตแวนแดมนั้นควรค่าแก่การแนะนำให้รู้จักกับ JAL

จนถึงตอนนี้ฉันเพิ่งใช้ชิป 16F877A จาก PIC ซึ่งเป็นชิปเริ่มต้นที่ดี ค่อนข้างถูกและมีพอร์ตให้เลือกมากมาย


ไชโยฉันจะดู JAL ใช้ IDE เฉพาะหรือไม่มีหนึ่งอันสำหรับ Linux หรือไม่
Amos

1
ใช่มันได้อย่างใดอย่างหนึ่งที่เรียกว่า JAL แก้ไขมันจะทำให้คุณสิทธิในด้านการเขียนโปรแกรมและมีเครื่องมือทั่วไปที่คุณมักจะพบใน IDE ของ jal.sunish.net/jaledit
Justblair

แต่น่าเสียดายที่ว่า Windows เท่านั้นมีไม่ปรากฏเป็นหนึ่งสำหรับลินุกซ์ที่เรียกว่า PicShell เบต้าปัจจุบันอยู่ที่: linux.softpedia.com/get/Text-Editing-Processing/IDEs/...
เอมอส

2

สำหรับชิพดูที่ซีรีย์ 18F โดยทั้งหมดราคาถูกเท่ากับ 16F ที่มีความกล้ามากขึ้น 18F2550 เป็นชิปที่ดีและรวมถึง USB มีคนอื่นในซีรีส์เดียวกัน ดูแผนภูมิการเลือกไมโครชิพบนเว็บไซต์ของพวกเขา

IDE ฟรีจาก microchip ซึ่งรวมถึง C ซึ่งคุณควรใช้กับ IMHO ไม่แน่ใจว่า microchip IDE ทำงานบน Linux หรือไม่

PicKit อาจดีสำหรับการเขียนโปรแกรมอาจต้องการ bootloader เป็นครั้งแรกจากนั้น bootload ผ่าน usb Bitwacker (google it) เป็นการตั้งค่าที่ดีที่จะใช้หรือคัดลอก

มีฟอรัมและไซต์อื่น ๆ มากมายเพียง google ปัญหาหนึ่งของ PIC คือมีภาษามากมายและไม่มีอะไรเหมือนกันเลย (แม้จะอยู่ในคอมไพเลอร์ c) ถ้าคุณสามารถเขียนคำถามที่ดีถามได้ที่ piclist.com แต่ทำการบ้านของคุณก่อน ฟอรัมไม่ได้เป็นสถานที่ที่ดีที่สุดสำหรับการเรียนรู้มองหาไซต์กวดวิชาสำหรับเรื่องนั้น (อีกครั้งเว็บไซต์ bitwacher เป็นสิ่งที่ดีเช่นกัน Google "Embedded Adventures" คนที่แต่งตัวประหลาดได้ทำมากใน C (แต่ไม่ใช่ microchip หนึ่ง)


ฉันได้ทำบุ๊กมาร์ก Adventure Adventures ไว้เมื่อฉันมีเวลาหนึ่งถึงสองชั่วโมงในการฆ่าและดู Bitwacker เพื่อใช้อ้างอิงในอนาคต ไชโย
Amos

1

บอร์ด Dwengo นั้นใช้ PIC18F4550 พวกเขายังมี PICkit2 ที่มีต้นทุนต่ำและแบบฝึกหัดที่ดีมากที่จะให้คุณเริ่มต้น: http://www.dwengo.org/tutorials


น่าสนใจ คุณจะไม่เป็น Wim คนเดียวที่เป็นหนึ่งในทีม Dwengo ด้วยหรือไม่?
Amos

อ๋ออันเดียวกัน ;-)
Wim

1

สำหรับการอ้างอิงถึงบางสิ่งฉันได้เขียนโปรแกรมด้วย PIC โดยใช้Pik Kit 2 Pickit 1 ฉันขอแนะนำไมโครคอนโทรลเลอร์โครงการ 100 โครงการสำหรับอัจฉริยะที่ชั่วร้ายฉันยังมีโพสต์บล็อกบางอย่างที่เกี่ยวข้องกับสิ่งนั้น

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

ฉันวางแผนที่จะโพสต์อัปเดต SPI เช่นเดียวกับเมื่อฉันรู้วิธีจัดการ CAN บัสปริมาณการใช้ชิปไมโครชิพฉันจะมีการอัปเดตเช่นกัน

ขอขอบคุณ,

onaclov


ดูน่าสนใจฉันจะตรวจสอบสิ่งของของคุณให้ละเอียดยิ่งขึ้นเมื่อฉันได้รับหนึ่งนาที
Amos

ฉันอาจจะไม่รู้ว่าจะดูที่ไหนตลอดเวลา แต่รู้สึกว่าเมื่อเปรียบเทียบกับ avr และ arduino ไม่มีบทเรียนเกี่ยวกับ PIC และฉันอยากจะเปลี่ยนสิ่งนั้นจริง ๆ ....
onaclov2000

1

ถ้าคุณต้องการใช้ PICs ฉันจะพิจารณา PIC24 ซีรีส์ 16 บิตเหมือนกันหรือ dsPIC33 ที่คล้ายกันมาก มันเร็วกว่ามีประสิทธิภาพมากกว่าในการตั้งโปรแกรมได้ง่ายขึ้นและไม่ต้องเสียค่าใช้จ่ายใด ๆ มากกว่าบิต 8 บิตพื้นฐานที่สุด ส่วนล่างที่มีอยู่ในแพคเกจซ็อกเก็ตกรมทรัพย์สินทางปัญญาที่เป็นมิตรเขียงหั่นขนมเกินไป

เป็นเรื่องยากมากที่จะหาตัวอย่างบนอินเทอร์เน็ต แต่เท่าที่ฉันเห็นว่าเป็นข้อเสียเปรียบหลัก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.