ฉันแน่ใจว่าคำว่า ‘ไมโครคอนโทรลเลอร์’ ต้องคุ้นเคยกับคุณ เป็นชิปตัวเดียวที่มีโปรเซสเซอร์หน่วยความจำพร้อมกับพินอินพุต / เอาต์พุตที่ฝังอยู่ภายใน เรามักใช้ไมโครคอนโทรลเลอร์สำหรับแอพพลิเคชั่นฝังตัวเป็นตัวควบคุมเพื่อควบคุมแอคทูเอเตอร์ใด ๆ เช่นมอเตอร์หรือจอแสดงผล
ฉันแน่ใจว่าต้องมีพวกคุณหลายคนที่ชอบสร้างระบบฝังตัวของคุณเองหรือให้ฉันพูดโครงการง่ายๆโดยใช้ไมโครคอนโทรลเลอร์ ตอนนี้คุณต้องมีแนวคิดพื้นฐานเกี่ยวกับแต่ละขั้นตอนที่จำเป็นในการพัฒนาโครงการที่ใช้ไมโครคอนโทรลเลอร์ ดังนั้นที่นี่ฉันจะอธิบายขั้นตอนพื้นฐานในการสร้างโครงการที่ใช้ไมโครคอนโทรลเลอร์
แต่ก่อนหน้านั้นให้เราทำความเข้าใจเกี่ยวกับโครงการที่เราต้องการออกแบบและทฤษฎีเบื้องหลัง
จุดมุ่งหมายของโครงการ
เพื่อออกแบบระบบไฟแฟลช LED โดยใช้ไมโครคอนโทรลเลอร์
ทฤษฎี
ระบบไฟแฟลช LED สามารถผลิตแสงผ่านไดโอดเปล่งแสง หลอดไส้ที่ใช้ในแสงแฟลชแบบเดิมใช้พลังงานมากกว่าและมีอายุการใช้งานน้อยลงมาก ในทางกลับกันไฟ LED ใช้พลังงานน้อยลงและมีอายุการใช้งานยาวนาน
แนวคิดพื้นฐานเบื้องหลังการออกแบบ
ไมโครคอนโทรลเลอร์จะสร้างพัลส์ลอจิกเอาต์พุตเพื่อให้ไฟ LED เปิดและปิดในบางช่วงเวลา เป็นไมโครคอนโทรลเลอร์ 40 พิน คริสตัลเชื่อมต่อกับพินอินพุตของไมโครคอนโทรลเลอร์ให้สัญญาณนาฬิกาที่แม่นยำที่ความถี่คริสตัล
ขั้นตอนในการพัฒนาโครงการ
ขั้นตอนที่ 1: การออกแบบวงจร
คริสตัลไมโครคอนโทรลเลอร์ 8051 ทำงานที่ความถี่ 11.0592 MHz เนื่องจากสามารถให้พัลส์นาฬิกาที่แน่นอนสำหรับการซิงโครไนซ์ข้อมูล ตัวเก็บประจุสองตัวเชื่อมต่อกับคริสตัลออสซิลเลเตอร์ที่มีช่วง 20pf ถึง 40pf ซึ่งใช้เพื่อทำให้สัญญาณนาฬิกามีเสถียรภาพ ไมโครคอนโทรลเลอร์ 8051 ในบางครั้งไปบล็อกสถานะหรือการคำนวณเวลาที่ขาดหายไป
ในเวลานั้นเราจำเป็นต้องรีเซ็ตไมโครคอนโทรลเลอร์ เมื่อรีเซ็ตไมโครคอนโทรลเลอร์จะใช้เวลาหน่วงเวลาสูงสุด 3 วินาทีด้วยความช่วยเหลือของตัวต้านทาน 10k และตัวเก็บประจุ 10 ยูเอฟ
ส่วนประกอบวงจร:
ส่วนประกอบฮาร์ดแวร์:
- LED สีเหลือง
- คริสตัล
- รีเซ็ต
- ไมโครคอนโทรลเลอร์ 8051
- คาปาซิเตอร์
- ตัวต้านทาน
ส่วนประกอบซอฟต์แวร์:
- ไม่มีคอมไพเลอร์
- ซอฟต์แวร์ Proteus
- ภาษา C ในตัว
การเชื่อมต่อวงจร
แหล่งจ่ายไฟ DC 5v มอบให้กับไมโครคอนโทรลเลอร์ 40 พินซึ่งขับเคลื่อนวงจร คริสตัลเชื่อมต่อกับขา 18 และ 19 ของไมโครคอนโทรลเลอร์ วงจรรีเซ็ตเชื่อมต่อที่ 9 พินของไมโครคอนโทรลเลอร์ LED สีเหลืองเชื่อมต่อกับพิน P0.2 ของไมโครคอนโทรลเลอร์
ขั้นตอนที่ 2: การเข้ารหัสโปรแกรมไมโครคอนโทรลเลอร์
- เปิดซอฟต์แวร์ Kiel uVison2 ก่อน แสดงแถบเมนูที่มีตัวเลือกไฟล์แก้ไขดูโปรเจ็กต์และเครื่องมือ
- เลือกตัวเลือกโครงการและเลือก 'ตัวเลือกโครงการใหม่' จากเมนูแบบเลื่อนลง ตั้งชื่อโครงการแล้วคลิกปุ่ม 'บันทึก' เพื่อบันทึกโครงการ สร้างโฟลเดอร์ชื่อ 'target'
- เลือกไมโครคอนโทรลเลอร์สำหรับโครงการของคุณ ฉันกำลังเลือก 'Atmel' เลือกประเภทไมโครคอนโทรลเลอร์ Atmel ที่ถูกต้องจากเมนูแบบเลื่อนลง ที่นี่เลือกไมโครคอนโทรลเลอร์ 89C51 โฟลเดอร์ที่มีชื่อ 'กลุ่มแหล่งที่มา' จะถูกสร้างขึ้นในโฟลเดอร์ 'เป้าหมาย'
- คลิกที่เมนู 'ไฟล์' บนแถบเมนู เลือก 'ไฟล์ใหม่' จากเมนูแบบเลื่อนลง
เช่นเดียวกับหน้าต่าง
- เขียนโค้ดบนช่องว่าง
โปรแกรม LED Flash Light:
# รวม
sbit LED = P0 ^ 2
ความล่าช้าเป็นโมฆะ (ไม่ได้ลงนาม int a)
เป็นโมฆะ main ()
{LED = 0
ในขณะที่ (1)
{LED = 0
ล่าช้า (600)
LED = 1
ล่าช้า (600)
}
}
ความล่าช้าเป็นโมฆะ (int b ที่ไม่ได้ลงนาม)
{int ที่ไม่ได้ลงนาม k
สำหรับ (k = 0k } วงจรนี้ได้รับการออกแบบโดยใช้ซอฟต์แวร์ Proteus เป็นซอฟต์แวร์ออกแบบวงจรที่มีฐานข้อมูลส่วนประกอบที่เราสามารถใช้สร้างวงจรได้ แต่ละองค์ประกอบมีอยู่ในไลบรารีคอมโพเนนต์ หน้าต่าง Proteus โดยใช้วงจร แผนภูมิวงจรรวม การโหลดโค้ดลงในไมโครคอนโทรลเลอร์เรียกว่าการถ่ายโอนข้อมูล ไมโครคอนโทรลเลอร์เข้าใจเฉพาะภาษาไบนารี ดังนั้นเราจำเป็นต้องโหลดรหัสฐานสิบหกลงในไมโครคอนโทรลเลอร์ มีซอฟต์แวร์มากมายในตลาดสำหรับการโหลดโค้ดไปยังไมโครคอนโทรลเลอร์ ที่นี่ฉันใช้ซอฟต์แวร์โปรแกรมเมอร์ 'Willer' เพื่อถ่ายโอนรหัสไปยังไมโครคอนโทรลเลอร์ 8051 ชุดโปรแกรมเมอร์มาพร้อมกับซอฟต์แวร์พร้อมกับชุดฮาร์ดแวร์ ต้องติดตั้งซอฟต์แวร์นี้ลงในคอมพิวเตอร์ ชุดฮาร์ดแวร์มาพร้อมกับซ็อกเก็ตที่ไมโครคอนโทรลเลอร์วางอยู่ ต่อไปนี้คือขั้นตอนในการโหลดโค้ดลงในไมโครคอนโทรลเลอร์ ชุดฮาร์ดแวร์ Willer Programmer หน้าต่างซอฟต์แวร์ Willer พร้อมที่จะสร้างโครงการของคุณเองแล้วใช่ไหม คุณต้องสังเกตว่าฉันได้ให้โครงการพื้นฐานโดยใช้ไมโครคอนโทรลเลอร์และเขียนโค้ดเป็นภาษา 'C' แต่ไมโครคอนโทรลเลอร์เข้าใจภาษาแอสเซมบลี ดังนั้นฉันจึงฝากงานไว้ที่นี่ เขียนโค้ดเดียวกันนี้โดยใช้ภาษาแอสเซมบลีในส่วนความคิดเห็นด้านล่าง เครดิตภาพ:ขั้นตอนที่ 3: การวาดวงจร
ขั้นตอนที่ 4: การถ่ายโอนรหัส
ขั้นตอนที่ 5: การจำลองวงจร