PIC คือไฟล์ ไมโครคอนโทรลเลอร์อุปกรณ์ต่อพ่วง ซึ่งได้รับการพัฒนาในปี 1993 โดยไมโครคอนโทรลเลอร์ General Instruments มันถูกควบคุมโดยซอฟต์แวร์และตั้งโปรแกรมในลักษณะที่ทำงานต่าง ๆ และควบคุมสายการผลิต ไมโครคอนโทรลเลอร์ PIC ใช้ในแอพพลิเคชั่นใหม่ ๆ เช่นสมาร์ทโฟนอุปกรณ์เสริมเครื่องเสียงและอุปกรณ์ทางการแพทย์ขั้นสูง
ไมโครคอนโทรลเลอร์ PIC
มี PIC มากมายในตลาดตั้งแต่ PIC16F84 ถึง PIC16C84 PIC ประเภทนี้เป็นแฟลช PIC ราคาไม่แพง ไมโครชิปเพิ่งเปิดตัวชิปแฟลชที่มีประเภทต่างๆเช่น 16F628, 16F877 และ 18F452 16F877 มีราคาสองเท่าของราคา 16F84 รุ่นเก่า แต่มีขนาดใหญ่กว่ารหัสถึงแปดเท่าพร้อม RAM ที่มากขึ้นและพิน I / O ที่มากขึ้นตัวแปลง UART, A / D และคุณสมบัติอื่น ๆ อีกมากมาย
สถาปัตยกรรมไมโครคอนโทรลเลอร์ PIC
ไมโครคอนโทรลเลอร์ PIC ขึ้นอยู่กับสถาปัตยกรรม RISC สถาปัตยกรรมหน่วยความจำเป็นไปตามรูปแบบความทรงจำที่แยกจากกันสำหรับโปรแกรมและข้อมูลของ Harvard โดยมีบัสแยกกัน
สถาปัตยกรรมไมโครคอนโทรลเลอร์ PIC
1. โครงสร้างหน่วยความจำ
สถาปัตยกรรม PIC ประกอบด้วยความทรงจำสองแบบ ได้แก่ หน่วยความจำโปรแกรมและหน่วยความจำข้อมูล
หน่วยความจำโปรแกรม: นี่คือพื้นที่หน่วยความจำ 4K * 14 ใช้เพื่อจัดเก็บคำสั่ง 13 บิตหรือรหัสโปรแกรม ข้อมูลหน่วยความจำโปรแกรมถูกเข้าถึงโดยรีจิสเตอร์โปรแกรมที่เก็บแอดเดรสของหน่วยความจำโปรแกรม ที่อยู่ 0000H ใช้เป็นพื้นที่หน่วยความจำรีเซ็ตและ 0004H ใช้เป็นพื้นที่หน่วยความจำขัดจังหวะ
หน่วยความจำข้อมูล: หน่วยความจำข้อมูลประกอบด้วย RAM 368 ไบต์และ EEPROM 256 ไบต์ แรม 368 ไบต์ประกอบด้วยหลายธนาคาร แต่ละธนาคารประกอบด้วยทะเบียนวัตถุประสงค์ทั่วไปและการลงทะเบียนฟังก์ชันพิเศษ
ฟังก์ชันพิเศษรีจิสเตอร์ประกอบด้วยรีจิสเตอร์ควบคุมเพื่อควบคุมการทำงานต่างๆของทรัพยากรชิปเช่นไทเมอร์ ตัวแปลงอนาล็อกเป็นดิจิตอล , พอร์ตอนุกรม, พอร์ต I / O เป็นต้นตัวอย่างเช่น TRISA register ที่สามารถเปลี่ยนบิตเพื่อแก้ไขการทำงานของอินพุตหรือเอาต์พุตของพอร์ต A
รีจิสเตอร์วัตถุประสงค์ทั่วไปประกอบด้วยรีจิสเตอร์ที่ใช้ในการจัดเก็บข้อมูลชั่วคราวและผลการประมวลผลของข้อมูล รีจิสเตอร์เอนกประสงค์เหล่านี้คือรีจิสเตอร์ 8 บิตแต่ละตัว
ทะเบียนการทำงาน: ประกอบด้วยพื้นที่หน่วยความจำที่เก็บตัวถูกดำเนินการสำหรับแต่ละคำสั่ง นอกจากนี้ยังเก็บผลลัพธ์ของการดำเนินการแต่ละครั้ง
ลงทะเบียนสถานะ: บิตของการลงทะเบียนสถานะแสดงถึงสถานะของ ALU (หน่วยตรรกะเลขคณิต) หลังจากการดำเนินการทุกครั้งของคำสั่ง นอกจากนี้ยังใช้เพื่อเลือกหนึ่งใน 4 ธนาคารของ RAM
การเลือกไฟล์ลงทะเบียน: ทำหน้าที่เป็นตัวชี้ไปยังรีจิสเตอร์เอนกประสงค์อื่น ๆ ประกอบด้วยที่อยู่ไฟล์ลงทะเบียนและใช้ในการระบุที่อยู่ทางอ้อม
รีจิสเตอร์เอนกประสงค์อีกแบบคือรีจิสเตอร์โปรแกรมซึ่งเป็นรีจิสเตอร์ 13 บิต บิตด้านบน 5 บิตถูกใช้เป็น PCLATH (Program Counter Latch) เพื่อทำหน้าที่เป็นอิสระจากรีจิสเตอร์อื่น ๆ และ 8 บิตด้านล่างจะใช้เป็นบิตตัวนับโปรแกรม ตัวนับโปรแกรมทำหน้าที่เป็นตัวชี้ไปยังคำสั่งที่เก็บไว้ในหน่วยความจำของโปรแกรม
EEPROM: ประกอบด้วยพื้นที่หน่วยความจำ 256 ไบต์ เป็นหน่วยความจำถาวรเช่น ROM แต่เนื้อหาสามารถลบและเปลี่ยนแปลงได้ระหว่างการทำงานของไมโครคอนโทรลเลอร์ เนื้อหาใน EEPROM สามารถอ่านหรือเขียนถึงได้โดยใช้ฟังก์ชันพิเศษลงทะเบียนเช่น EECON1, EECON เป็นต้น
2. พอร์ต I / O
ซีรี่ส์ PIC16 ประกอบด้วยพอร์ต 5 พอร์ตเช่นพอร์ต A พอร์ต B พอร์ต C พอร์ต D และพอร์ต E
พอร์ต A: เป็นพอร์ต 16 บิตซึ่งสามารถใช้เป็นพอร์ตอินพุตหรือเอาต์พุตตามสถานะของทะเบียน TRISA
พอร์ต B: เป็นพอร์ต 8 บิตซึ่งสามารถใช้เป็นทั้งพอร์ตอินพุตและเอาต์พุต 4 บิตของมันเมื่อใช้เป็นอินพุตสามารถเปลี่ยนแปลงได้ตามสัญญาณขัดจังหวะ
พอร์ต C: เป็นพอร์ต 8 บิตซึ่งการทำงาน (อินพุตหรือเอาต์พุต) ถูกกำหนดโดยสถานะของทะเบียน TRISC
พอร์ต D: เป็นพอร์ต 8 บิตซึ่งนอกเหนือจากการเป็นพอร์ต I / O แล้วยังทำหน้าที่เป็นพอร์ตทาสสำหรับการเชื่อมต่อกับ ไมโครโปรเซสเซอร์ รถบัส.
พอร์ต E: เป็นพอร์ต 3 บิตที่ทำหน้าที่เพิ่มเติมของสัญญาณควบคุมไปยังตัวแปลง A / D
3. ตัวจับเวลา
ไมโครคอนโทรลเลอร์ PIC ประกอบด้วย 3 ตัวจับเวลา ซึ่ง Timer 0 และ Timer 2 เป็นตัวจับเวลาแบบ 8 บิตและ Time-1 เป็นตัวจับเวลา 16 บิตซึ่งสามารถใช้เป็น เคาน์เตอร์ .
4. ตัวแปลง A / D
ไมโครคอนโทรลเลอร์ PIC ประกอบด้วย 8 ช่องสัญญาณตัวแปลงอนาล็อกเป็นดิจิตอล 10 บิต การทำงานของ ตัวแปลง A / D ถูกควบคุมโดยการลงทะเบียนฟังก์ชันพิเศษเหล่านี้: ADCON0 และ ADCON1 บิตล่างของตัวแปลงจะถูกเก็บไว้ใน ADRESL (8 บิต) และบิตด้านบนจะถูกเก็บไว้ในทะเบียน ADRESH ต้องใช้แรงดันอ้างอิงอะนาล็อกที่ 5V สำหรับการทำงาน
5. ออสซิลเลเตอร์
ออสซิลเลเตอร์ ใช้สำหรับการสร้างเวลา ไมโครคอนโทรลเลอร์ PIC ประกอบด้วยออสซิลเลเตอร์ภายนอกเช่นคริสตัลหรือ RC ออสซิลเลเตอร์ ในกรณีของคริสตัลออสซิลเลเตอร์คริสตัลจะเชื่อมต่อระหว่างพินออสซิลเลเตอร์สองพินและค่าของตัวเก็บประจุที่เชื่อมต่อกับแต่ละพินจะกำหนดโหมดการทำงานของออสซิลเลเตอร์ โหมดต่างๆ ได้แก่ โหมดพลังงานต่ำโหมดคริสตัลและโหมดความเร็วสูง ในกรณีของ RC ออสซิลเลเตอร์ค่าของตัวต้านทานและตัวเก็บประจุจะกำหนดความถี่สัญญาณนาฬิกา ความถี่สัญญาณนาฬิกาอยู่ในช่วง 30 kHz ถึง 4 MHz
6. โมดูล CCP:
โมดูล CCP ทำงานในสามโหมดต่อไปนี้:
โหมดจับภาพ: โหมดนี้จะจับเวลาที่สัญญาณมาถึงหรืออีกนัยหนึ่งคือจับค่าของ Timer1 เมื่อพิน CCP สูงขึ้น
เปรียบเทียบโหมด: ทำหน้าที่เป็นตัวเปรียบเทียบแบบอะนาล็อกที่สร้างเอาต์พุตเมื่อค่า timer1 ถึงค่าอ้างอิงที่แน่นอน
โหมด PWM: มันให้ มอดูเลตความกว้างของพัลส์ เอาต์พุตที่มีความละเอียด 10 บิตและรอบการทำงานที่ตั้งโปรแกรมได้
อุปกรณ์ต่อพ่วงพิเศษอื่น ๆ ได้แก่ ตัวจับเวลา Watchdog ที่รีเซ็ตไมโครคอนโทรลเลอร์ในกรณีที่ซอฟต์แวร์ทำงานผิดพลาดและการรีเซ็ต Brownout ที่รีเซ็ตไมโครคอนโทรลเลอร์ในกรณีที่พลังงานผันผวนและอื่น ๆ เพื่อความเข้าใจที่ดีขึ้นเกี่ยวกับไมโครคอนโทรลเลอร์ PIC นี้เรากำลังจัดทำโครงการที่ใช้งานได้จริงหนึ่งโครงการซึ่งใช้คอนโทรลเลอร์นี้ในการทำงาน
ไฟถนนที่ส่องสว่างเมื่อตรวจจับการเคลื่อนไหวของยานพาหนะ
นี้ โครงการควบคุมไฟถนน LED ได้รับการออกแบบมาเพื่อตรวจจับการเคลื่อนไหวของรถบนทางหลวงเพื่อเปิดปิดไฟถนนข้างหน้าและปิดไฟท้ายเพื่อประหยัดพลังงาน ในโครงการนี้การเขียนโปรแกรมไมโครคอนโทรลเลอร์ PIC ทำได้โดยใช้ ฝัง C หรือภาษาแอสเซมบลี
ไฟถนนที่ส่องสว่างเมื่อตรวจจับการเคลื่อนไหวของยานพาหนะ
วงจรแหล่งจ่ายไฟให้พลังงานแก่วงจรทั้งหมดโดยการลดขั้นตอนแก้ไขกรองและควบคุมแหล่งจ่ายไฟ AC เมื่อไม่มียานพาหนะบนทางหลวงไฟทั้งหมดจะยังคงดับเพื่อให้สามารถประหยัดพลังงานได้ เซ็นเซอร์ IR ถูกวางไว้ที่ด้านใดด้านหนึ่งของถนนเมื่อพวกเขารับรู้การเคลื่อนไหวของยานพาหนะและในทางกลับกันจะส่งคำสั่งไปยัง ไมโครคอนโทรลเลอร์ เพื่อเปิดหรือปิดไฟ LED ไฟ LED จะติดเมื่อมีรถเข้าใกล้และเมื่อรถขับออกไปจากเส้นทางนี้ความเข้มจะต่ำหรือดับสนิท
โครงการไมโครคอนโทรลเลอร์ PIC สามารถใช้ในแอปพลิเคชั่นต่างๆได้เช่นอุปกรณ์ต่อพ่วงวิดีโอเกมอุปกรณ์เสริมเสียง ฯลฯ นอกเหนือจากนี้หากต้องการความช่วยเหลือเกี่ยวกับโครงการใด ๆ คุณสามารถติดต่อเราได้โดยการแสดงความคิดเห็นในส่วนความคิดเห็น