อุปกรณ์ต่อพ่วงอิเล็กทรอนิกส์ที่สำคัญที่เชื่อมต่อกับไมโครคอนโทรลเลอร์ 8051

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





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

ไมโครคอนโทรลเลอร์ 8051 อุปกรณ์ต่อพ่วง

ไมโครคอนโทรลเลอร์ 8051 อุปกรณ์ต่อพ่วง



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


นี่คือโมดูลที่สำคัญบางส่วนที่เชื่อมต่อกับไมโครคอนโทรลเลอร์ 8051



1. LED เชื่อมต่อกับไมโครคอนโทรลเลอร์:

คำอธิบาย:

LED มักใช้ในหลาย ๆ แอพพลิเคชั่นเพื่อระบุเอาต์พุต พวกเขาพบแอพพลิเคชั่นมากมายเป็นตัวบ่งชี้ระหว่างการทดสอบเพื่อตรวจสอบความถูกต้องของผลลัพธ์ในขั้นตอนต่างๆ มีราคาถูกมากและมีให้เลือกหลายรูปแบบสีและขนาด

ไดโอดเปล่งแสง

ไดโอดเปล่งแสง

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


วงจรต่อไปนี้อธิบายถึง“ วิธีการเรืองแสงของ LED”

LED สามารถเชื่อมต่อกับไมโครคอนโทรลเลอร์ได้ทั้งแบบแอโนดทั่วไปหรือการกำหนดค่าแคโทดทั่วไป ที่นี่ไฟ LED เชื่อมต่อในการกำหนดค่าขั้วบวกทั่วไปเนื่องจากการกำหนดค่าแคโทดทั่วไปใช้พลังงานมากกว่า

แผนภูมิวงจรรวม

LED เชื่อมต่อกับไมโครคอนโทรลเลอร์

LED เชื่อมต่อกับไมโครคอนโทรลเลอร์

รหัสแหล่งที่มา:

# รวม
เป็นโมฆะ main ()
{
int ที่ไม่ได้ลงนาม i
ในขณะที่ (1)
{
P0 = 0x00
สำหรับ (i = 0i<30000i++)
P0 = 0xff
สำหรับ (i = 0i<30000i++)
}
}

2. วงจรเชื่อมต่อจอแสดงผล 7 ส่วน

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

การแสดงผล 7 ส่วน

การแสดงผล 7 ส่วน

จอแสดงผล 7 ส่วนถูกใช้ในหลายระบบเพื่อแสดงข้อมูลตัวเลข สามารถแสดงได้ครั้งละหนึ่งหลัก ดังนั้นจำนวนเซ็กเมนต์ที่ใช้จึงขึ้นอยู่กับจำนวนหลักที่จะแสดง ที่นี่ตัวเลข 0 ถึง 9 จะแสดงอย่างต่อเนื่องตามการหน่วงเวลาที่กำหนดไว้ล่วงหน้า

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

การกำหนดค่าการแสดงผล 7 ส่วน

การกำหนดค่าการแสดงผล 7 ส่วน

ตารางต่อไปนี้แสดงค่าฐานสิบหกที่ใช้เพื่อแสดงตัวเลขต่างๆ

ตารางแสดงผล 7 ส่วน

ตารางแสดงผล 7 ส่วน

แผนภูมิวงจรรวม

การเชื่อมต่อการแสดงผล 7 ส่วน

การเชื่อมต่อการแสดงผล 7 ส่วน

รหัสแหล่งที่มา:

# รวม
sbit a = P3 ^ 0
เป็นโมฆะ main ()
{
อักขระที่ไม่ได้ลงนาม n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
int ที่ไม่ได้ลงนาม i, j
a = 1
ในขณะที่ (1)
{
สำหรับ (i = 0i<10i++)
{
P2 = n [i]
สำหรับ (j = 0j<60000j++)
}
}
}

3. LCD เชื่อมต่อกับไมโครคอนโทรลเลอร์

LCD ย่อมาจากจอแสดงผลคริสตัลเหลวซึ่งสามารถแสดงอักขระต่อบรรทัดได้ ที่นี่จอ LCD 16 คูณ 2 สามารถแสดง 16 ตัวอักษรต่อบรรทัดและมี 2 บรรทัด ใน LCD นี้อักขระแต่ละตัวจะแสดงในเมทริกซ์ 5 * 7 พิกเซล

จอแสดงผล LCD

จอแสดงผล LCD

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

ประกอบด้วยการลงทะเบียนสองรายการเช่นการลงทะเบียนคำสั่ง / คำสั่งและการลงทะเบียนข้อมูล

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

การลงทะเบียนข้อมูลจะจัดเก็บข้อมูลที่จะแสดงบน LCD ข้อมูลเป็นค่า ASCII ของอักขระที่จะแสดงบนจอ LCD

การทำงานของ LCD ถูกควบคุมโดยคำสั่งสองคำสั่ง เมื่อ RS = 0, R / W = 1 จะอ่านข้อมูลและเมื่อ RS = 1, R / W = 0 จะเขียน (พิมพ์) ข้อมูล

LCD ใช้รหัสคำสั่งต่อไปนี้:

คำสั่งการแสดงผล LCD

คำสั่งการแสดงผล LCD

แผนภูมิวงจรรวม:

การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์

การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์

รหัสแหล่งที่มา:

# รวม
#define kam P0

sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit ที่ = P2 ^ 2

โมฆะ lcd_initi ()
โมฆะ lcd_dat (ถ่านที่ไม่ได้ลงชื่อ)
โมฆะ lcd_cmd (ถ่านที่ไม่ได้ลงชื่อ)
ความล่าช้าเป็นโมฆะ (int ไม่ได้ลงนาม)
การแสดงผลเป็นโมฆะ (ถ่านที่ไม่ได้ลงชื่อ, ถ่าน r ที่ไม่ได้ลงชื่อ)
เป็นโมฆะ main ()
{

lcd_initi ()
lcd_cmd (0x80)
ล่าช้า (100)
จอแสดงผล (“ EDGEFX TECHLNGS”, 15)
lcd_cmd (0xc0)
จอแสดงผล (“ KITS & SOLTIONS”, 15)
ในขณะที่ (1)
}

การแสดงผลเป็นโมฆะ (ถ่านที่ไม่ได้ลงชื่อ, ถ่าน r ที่ไม่ได้ลงชื่อ)
{
int w ที่ไม่ได้ลงนาม
สำหรับ (w = 0w{

lcd_dat (s [w])
}
}

โมฆะ lcd_initi ()
{
lcd_cmd (0x01)
ล่าช้า (100)
lcd_cmd (0x38)
ล่าช้า (100)
lcd_cmd (0x06)
ล่าช้า (100)
lcd_cmd (0x0c)
ล่าช้า (100)
}
โมฆะ lcd_dat (char dat ที่ไม่ได้ลงชื่อ)
{
หวี = นั่น
rs = 1
rw = 0

ใน = 1
ล่าช้า (100)
ใน = 0
}
โมฆะ lcd_cmd (ถ่าน cmd ที่ไม่ได้ลงชื่อ)
{
มา = cmd
rs = 0
rw = 0

ใน = 1
ล่าช้า (100)
ใน = 0
}
ความล่าช้าเป็นโมฆะ (ไม่ได้ลงนาม int n)
{

int ที่ไม่ได้ลงนาม
สำหรับ (a = 0a}

4. วงจรเชื่อมต่อสเต็ปเปอร์มอเตอร์

ประเภทของ Stepper Motors-1

มอเตอร์ Unipolar Stepper

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

ประเภทของ Stepper Motors-2

Bipolar Stepper Motor

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

แผนภูมิวงจรรวม:

วงจรเชื่อมต่อสเต็ปเปอร์มอเตอร์

วงจรเชื่อมต่อสเต็ปเปอร์มอเตอร์

รหัสแหล่งที่มา:

# รวม
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3

เป็นโมฆะล่าช้า ()

เป็นโมฆะ main ()
{

ในขณะที่ (1)
{

a = 0
b = 1
c = 1
d = 1
ล่าช้า ()
a = 1
b = 0
c = 1
d = 1
ล่าช้า ()
a = 1
b = 1
c = 0
d = 1
ล่าช้า ()
a = 1
b = 1
c = 1
d = 0

}
}

เป็นโมฆะล่าช้า ()
{

ถ่านที่ไม่ได้ลงนาม i, j, k
สำหรับ (i = 0i<6i++)
สำหรับ (j = 0j<255j++)
สำหรับ (k = 0k<255k++)

}

5. แป้นพิมพ์เมทริกซ์เชื่อมต่อกับ 8051

คำอธิบาย:

ปุ่มกด Matrix

ปุ่มกด Matrix

ปุ่มกดเป็นอุปกรณ์อินพุตที่ใช้กันอย่างแพร่หลายโดยมีแอพพลิเคชั่นมากมายเช่นโทรศัพท์คอมพิวเตอร์ ATM ล็อคอิเล็กทรอนิกส์เป็นต้นปุ่มกดใช้เพื่อรับข้อมูลจากผู้ใช้เพื่อประมวลผล นี่คือปุ่มกดเมทริกซ์ขนาด 4 คูณ 3 ที่ประกอบด้วยสวิตช์ที่เรียงเป็นแถวและคอลัมน์ เชื่อมต่อกับไมโครคอนโทรลเลอร์ . นอกจากนี้ยังมีการเชื่อมต่อ LCD ขนาด 16 คูณ 2 เพื่อแสดงเอาต์พุต

แนวคิดการเชื่อมต่อของปุ่มกดนั้นง่ายมาก ทุกหมายเลขของปุ่มกดจะถูกกำหนดพารามิเตอร์ที่ไม่ซ้ำกันสองตัวคือแถวและคอลัมน์ (R, C) ดังนั้นทุกครั้งที่กดปุ่มหมายเลขจะถูกระบุโดยการตรวจจับหมายเลขแถวและคอลัมน์ของปุ่มกด

ไดอะแกรมภายในของปุ่มกด

ไดอะแกรมภายในของปุ่มกด

ในขั้นต้นแถวทั้งหมดจะถูกตั้งค่าเป็นศูนย์ (‘0’) โดยคอนโทรลเลอร์และคอลัมน์จะถูกสแกนเพื่อตรวจสอบว่ามีการกดปุ่มใด ๆ หรือไม่ ในกรณีที่ไม่มีการกดปุ่มเอาต์พุตของคอลัมน์ทั้งหมดจะสูง (‘1’)

แผนภูมิวงจรรวม

ปุ่มกด Matrix เชื่อมต่อกับ 8051

ปุ่มกด Matrix เชื่อมต่อกับ 8051

รหัสแหล่งที่มา:

# รวม
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit ที่ = P2 ^ 2
sbit c1 = P1 ^ 4
sbit c2 = P1 ^ 5
sbit c3 = P1 ^ 6
sbit r1 = P1 ^ 0
sbit r2 = P1 ^ 1
sbit r3 = P1 ^ 2
sbit r4 = P1 ^ 3
โมฆะ lcd_initi ()
โมฆะ lcd_dat (ถ่านที่ไม่ได้ลงชื่อ)
โมฆะ lcd_cmd (ถ่านที่ไม่ได้ลงชื่อ)
ความล่าช้าเป็นโมฆะ (int ไม่ได้ลงนาม)
การแสดงผลเป็นโมฆะ (ถ่านที่ไม่ได้ลงชื่อ, ถ่าน r ที่ไม่ได้ลงชื่อ)

เป็นโมฆะ main ()
{
lcd_initi ()
lcd_cmd (0x80)
ล่าช้า (100)
จอแสดงผล (“ 0987654321”, 10)
ในขณะที่ (1)
}

การแสดงผลเป็นโมฆะ (ถ่านที่ไม่ได้ลงชื่อ, ถ่าน r ที่ไม่ได้ลงชื่อ)
{

int ที่ไม่ได้ลงนาม w
สำหรับ (w = 0w{

lcd_dat (s [w])
}
}
โมฆะ lcd_initi ()
{
lcd_cmd (0x01)
ล่าช้า (100)
lcd_cmd (0x38)
ล่าช้า (100)
lcd_cmd (0x06)
ล่าช้า (100)
lcd_cmd (0x0c)
ล่าช้า (100)
}

โมฆะ lcd_dat (char dat ที่ไม่ได้ลงชื่อ)
{
หวี = นั่น
rs = 1
rw = 0

ใน = 1
ล่าช้า (100)
ใน = 0
}
โมฆะ lcd_cmd (ถ่าน cmd ที่ไม่ได้ลงชื่อ)
{
มา = cmd
rs = 0
rw = 0

ใน = 1
ล่าช้า (100)
ใน = 0

}
ความล่าช้าเป็นโมฆะ (ไม่ได้ลงนาม int n)
{

int ที่ไม่ได้ลงนาม
สำหรับ (a = 0a}
}

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

คำถามหรือข้อเสนอแนะเพิ่มเติมที่เกี่ยวข้องกับหัวข้อนี้สามารถกล่าวถึงได้ในส่วนความคิดเห็นด้านล่าง

เครดิตภาพ