อ่าน 7 นาที
อินเทล 8255
ชิป Intel 8255 (หรือ i8255 ) Programmable Peripheral Interface (PPI) ถูกพัฒนาและผลิตโดย Intel ในช่วงครึ่งแรกของทศวรรษ 1970 สำหรับ ไมโครโปรเซสเซอร์ Intel 8080 ชิป 8255...
อินเทล 8255

ชิปIntel 8255 (หรือi8255 ) Programmable Peripheral Interface (PPI) ถูกพัฒนาและผลิตโดย Intel ในช่วงครึ่งแรกของทศวรรษ 1970 สำหรับ ไมโครโปรเซสเซอร์ Intel 8080ชิป 8255 มีสายอินพุต/เอาต์พุตแบบขนาน 24 สาย พร้อมโหมดการทำงานที่ตั้งโปรแกรมได้หลากหลาย
8255 เป็นสมาชิกของ ตระกูล ชิปMCS-85 ซึ่งออกแบบโดย Intel เพื่อใช้กับไมโครโปรเซสเซอร์ 8085และ8086และรุ่นต่อๆ มา[ 1 ] ในตอนแรกมีจำหน่ายในแพ็คเกจ DIP 40 ขา และต่อมา ในแพ็คเกจPLCC 44 ขา[ 2 ]มีการใช้งานอย่างแพร่หลายในระบบประมวลผลดิจิทัล และต่อมาถูกลอกเลียนแบบโดยผู้ผลิตรายอื่น 82C55 เป็น เวอร์ชัน CMOSเพื่อความเร็วที่สูงขึ้นและการใช้กระแสไฟที่ต่ำลง
ปัจจุบันฟังก์ชันการทำงานของ 8255 ส่วนใหญ่ถูกฝังอยู่ใน ชิปประมวลผล VLSI ขนาดใหญ่ เป็นฟังก์ชันย่อยRenesas ยังคงผลิต 8255 เวอร์ชันCMOS อยู่ [ 3 ]แต่ส่วนใหญ่ใช้เพื่อขยาย I/O ของไมโครคอนโทรลเลอร์
ชิปที่คล้ายกัน
ชิป 8255 มีฟังก์ชันการทำงานคล้ายกับชิปMotorola 6820 PIA (Peripheral Interface Adapter) จาก ตระกูล Motorola 6800ซึ่งเดิมทีก็บรรจุอยู่ในแพ็คเกจ DIL 40 พินเช่นกัน ชิป 8255 มีพิน I/O 24 พิน พร้อมบิตกำหนดทิศทางได้ 4 บิต: หนึ่งบิตสำหรับพอร์ต A (7:0) (เช่น พินทั้งหมดในพอร์ต), หนึ่งบิตสำหรับพอร์ต B (7:0), หนึ่งบิตสำหรับพอร์ต C (3:0) และหนึ่งบิตสำหรับพอร์ต C (7:4) ในทางตรงกันข้าม ชิป Motorola และ MOS มีพิน I/O เพียง 16 พิน บวกกับพินควบคุม 4 พิน แต่ชิป Motorola/MOS อนุญาตให้กำหนดทิศทาง (อินพุตหรือเอาต์พุต) ของพิน I/O ทั้งหมดได้ทีละพิน ทั้งสองแบบมีรูปแบบการทำงานที่สามารถทำการจับมืออัตโนมัติและสร้างสัญญาณขัดจังหวะได้ในระดับหนึ่ง
ชิป I/O ไมโครโปรเซสเซอร์อื่นๆ ที่เทียบเคียงได้ ได้แก่ ชิป 2655 Programmable Peripheral Interface จาก ตระกูล Signetics 2650 , ชิปZ80 PIO , ชิปWestern Design Center WDC 65C21 (เทียบเท่ากับ Motorola 6820/6821) และชิปMOS Technology 6522 VIAและ6526 CIAซึ่งมีฟังก์ชันเพิ่มเติมมากมาย เช่น ตัวจับเวลาและรีจิสเตอร์เลื่อน
ตัวแปร

Intel ID8255A เวอร์ชันเกรดอุตสาหกรรมมีจำหน่ายในราคา 17.55 ดอลลาร์สหรัฐ สำหรับจำนวน 100 ชิ้นขึ้นไป[ 4 ] Intel 8255A-5 เวอร์ชันที่มีจำหน่ายมีราคา 6.55 ดอลลาร์สหรัฐ สำหรับจำนวน 100 ชิ้นขึ้นไป[ 5 ] 82C55A CMOS เวอร์ชันที่มีจำหน่ายนั้นจ้างบริษัทOki Electronic Industry Co., Ltd.ผลิต[ 6 ] แพ็คเกจที่มีจำหน่ายจาก Intel ที่มีตราสินค้า 82C55 ในรูปแบบ PLCC 44 พินมีการทดสอบตัวอย่างในไตรมาสที่สี่ของปี 1985 [ 7 ] ในยุโรปตะวันออก วงจรที่เทียบเท่ากันนั้นผลิตขึ้นในชื่อKR580VV55Aในสหภาพโซเวียต และในชื่อ MHB8255A โดยTeslaในเชโกสโลวาเกีย
แอปพลิเคชัน
8255 ถูกใช้กันอย่างแพร่หลายในระบบไมโครคอมพิวเตอร์/ไมโครคอนโทรลเลอร์และคอมพิวเตอร์บ้าน หลายเครื่อง เช่นSV-328และMSX ทุก รุ่น 8255 ถูกใช้ในIBM PCรุ่น แรก [ 8 ] PC/XT, PC/jr และโคลน รวมถึง คอมพิวเตอร์ที่สร้างเองจำนวน มากเช่นN8VEM
การทำงาน
8255 ช่วยให้ CPU หรือระบบดิจิทัลสามารถเข้าถึงอินพุต/เอาต์พุต แบบขนานที่ตั้งโปรแกรม ได้[ 9 ] 8255 มีพินอินพุต/เอาต์พุต 24 พิน[ 10 ]ซึ่งแบ่งออกเป็นสามพอร์ต 8 บิต (A, B, C) [ 11 ] พอร์ต A และพอร์ต B สามารถใช้เป็นพอร์ตอินพุต/เอาต์พุต 8 บิตได้ พอร์ต C สามารถใช้เป็นพอร์ตอินพุต/เอาต์พุต 8 บิต หรือเป็นพอร์ตอินพุต/เอาต์พุต 4 บิตสองพอร์ต หรือเพื่อสร้างสัญญาณแฮนด์เชคสำหรับพอร์ต A และ B
ท่าเรือทั้งสามแห่งยังแบ่งกลุ่มย่อยได้ดังนี้:
- กลุ่ม A ประกอบด้วยพอร์ต A และส่วนบนของพอร์ต C
- กลุ่ม B ประกอบด้วยท่าเรือ B และส่วนล่างของท่าเรือ C
มีสายข้อมูลแปดเส้น (D0–D7) (พร้อมบัฟเฟอร์ข้อมูล 8 บิต ) สำหรับอ่าน/เขียนข้อมูลไปยังพอร์ตหรือรีจิสเตอร์ควบคุมภายใต้สถานะRD (ขา 5) และWR (ขา 36) ซึ่งเป็นสัญญาณแอคทีฟต่ำสำหรับการอ่านและการเขียนตามลำดับสายแอดเดรส A1 และ A0 ช่วยให้สามารถเข้าถึงรีจิสเตอร์ข้อมูลสำหรับแต่ละพอร์ตหรือรีจิสเตอร์ควบคุมได้ ดังที่แสดงไว้ด้านล่าง :
เอ1 เอ0 พอร์ตที่เลือก 0 0 พอร์ตเอ 0 1 ท่าเรือบี 1 0 พอร์ต C 1 1 รีจิสเตอร์ควบคุม
สัญญาณควบคุมการเลือกชิปCS (ขา 6) ใช้สำหรับเปิดใช้งานชิป 8255 เป็นสัญญาณแบบแอคทีฟต่ำ กล่าวคือ เมื่อCS = 0 ชิป 8255 จะทำงาน อินพุต RESET (ขา 35) เชื่อมต่อกับสาย RESET ของระบบ เช่น 8085, 8086 เป็นต้น เพื่อให้เมื่อระบบถูกรีเซ็ต พอร์ตทั้งหมดจะถูกกำหนดค่าเริ่มต้นเป็นสายอินพุต การทำเช่นนี้เพื่อป้องกันไม่ให้ชิป 8255 และ/หรืออุปกรณ์ต่อพ่วงใดๆ ที่เชื่อมต่ออยู่เสียหายเนื่องจากการตั้งค่าทิศทางพอร์ตไม่ตรงกัน ตัวอย่างเช่น พิจารณาอุปกรณ์อินพุตที่เชื่อมต่อกับ 8255 ที่พอร์ต A หากจากการทำงานก่อนหน้านี้ พอร์ต A ถูกกำหนดค่าเริ่มต้นเป็นพอร์ตเอาต์พุต และหาก 8255 ไม่ถูกรีเซ็ตก่อนใช้งานการกำหนดค่าปัจจุบัน อาจเกิดความเสียหายกับอุปกรณ์อินพุตที่เชื่อมต่อ หรือ 8255 หรือทั้งสองอย่าง เนื่องจากทั้ง 8255 และอุปกรณ์ที่เชื่อมต่อจะส่งข้อมูลออกไป
รีจิสเตอร์ควบคุม (หรือตรรกะควบคุม หรือรีจิสเตอร์คำสั่ง) เป็นรีจิสเตอร์ 8 บิตที่ใช้ในการเลือกโหมดการทำงานและการกำหนดอินพุต/เอาต์พุตของพอร์ต[ 12 ]
โหมดการทำงานของ 8255
ระบบ 8255 มีโหมดการทำงานพื้นฐานสองโหมด:
- โหมดตั้งค่า/รีเซ็ตบิต (โหมด BSR)
- โหมดอินพุต/เอาต์พุต (โหมด I/O)
โหมดการทำงานทั้งสองจะถูกเลือกโดยพิจารณาจากค่าที่ปรากฏในบิต D7 ของรีจิสเตอร์คำสั่งควบคุม เมื่อ D7 = 1 ไมโครคอนโทรลเลอร์ 8255 จะทำงานในโหมด I/O และเมื่อ D7 = 0 จะทำงานในโหมด BSR
โหมด Bit Set/Reset (BSR)
โหมด Bit Set/Reset (BSR) สามารถใช้งานได้เฉพาะบนพอร์ต C เท่านั้น แต่ละบรรทัดของพอร์ต C (PC 7 - PC 0 ) สามารถตั้งค่าหรือรีเซ็ตได้โดยการเขียนค่าที่เหมาะสมลงในรีจิสเตอร์คำสั่งควบคุม โหมด BSR และโหมด I/O เป็นอิสระต่อกัน และการเลือกโหมด BSR จะไม่ส่งผลกระทบต่อการทำงานของพอร์ตอื่นๆ ในโหมด I/O [ 13 ]

- ในโหมด BSR ค่าD 7 บิตจะเป็น 0 เสมอ
- บิต D6 , D5 และ D4 เป็นบิตที่ไม่ต้องสนใจ (Don't Care Bits)
- บิต D3 , D2 และ D1 ใช้สำหรับเลือกพินของพอร์ต C
- บิต D 0ใช้สำหรับตั้งค่า/รีเซ็ตพินที่เลือกของพอร์ต C
การเลือกขาพอร์ต C จะพิจารณาดังนี้:
| ดี3 | ดี2 | ดี1 | เลือกบิต/พินของพอร์ต C แล้ว |
|---|---|---|---|
| 0 | 0 | 0 | พีซี0 |
| 0 | 0 | 1 | พีซี1 |
| 0 | 1 | 0 | พีซี2 |
| 0 | 1 | 1 | พีซี3 |
| 1 | 0 | 0 | พีซี4 |
| 1 | 0 | 1 | พีซี5 |
| 1 | 1 | 0 | พีซี6 |
| 1 | 1 | 1 | พีซี7 |
ตัวอย่างเช่น หากจำเป็นต้องตั้งค่า PC 5ให้ระบุในคำสั่งควบคุมดังนี้
- เนื่องจากเป็นโหมด BSR ดังนั้นD 7 = '0 '
- เนื่องจาก D 4 , D 5 , D 6ไม่ได้ถูกใช้งาน จึงถือว่ามีค่าเป็น ' 0 '
- ต้องเลือกPC 5 ดังนั้น D 3 = '1', D 2 = '0', D 1 = '1 '
- ต้องตั้งค่าPC 5 ดังนั้น D0 = '1 '
ดังนั้น ตามค่าข้างต้น 0B (เลขฐานสิบหก) จะถูกโหลดเข้าไปในรีจิสเตอร์คำสั่งควบคุม (CWR)
| ดี7 | ดี6 | ดี5 | ดี4 | ดี3 | ดี2 | ดี1 | ดี0 |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
โหมดอินพุต/เอาต์พุต
โหมดนี้จะถูกเลือกเมื่อบิต D 7ของรีจิสเตอร์คำควบคุมเป็น 1 มีโหมด I/O สามโหมด: [ 14 ]
- โหมด 0 - การรับส่งข้อมูลแบบง่าย
- โหมด 1 - อินพุต/เอาต์พุตแบบสโตรบ
- โหมด 2 - อินพุต/เอาต์พุตแบบสองทิศทางพร้อมไฟกระพริบ
รูปแบบคำสั่งควบคุม

- D0 , D1 , D3 , D4 ถูกกำหนดให้กับพอร์ต C ล่าง, พอร์ต B, พอร์ต C บน และพอร์ต A ตามลำดับ เมื่อบิตเหล่านี้เป็น1พอร์ตที่เกี่ยวข้องจะทำหน้าที่เป็นพอร์ตอินพุต ตัวอย่างเช่น ถ้า D0 = D4 = 1 พอร์ต C ล่างและพอร์ต A จะทำหน้าที่เป็นพอร์ตอินพุต ถ้าบิตเหล่านี้เป็น0พอร์ตที่เกี่ยวข้องจะทำหน้าที่เป็นพอร์ตเอาต์พุต ตัวอย่างเช่น ถ้า D1 = D3 = 0 พอร์ต B และพอร์ต C บนจะทำหน้าที่เป็นพอร์ตเอาต์พุต
- D2ใช้สำหรับเลือกโหมดของกลุ่ม B (พอร์ต B และพอร์ตล่าง C) เมื่อ D2 = 0จะเลือกโหมด 0 และเมื่อ D2 = 1 จะเลือกโหมด 1
- D 5และ D 6ใช้สำหรับเลือกโหมดของกลุ่ม A (พอร์ต A และพอร์ต C ด้านบน) การเลือกทำได้ดังนี้:
| ดี6 | ดี5 | โหมด |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | X | 2 |
- เนื่องจากเป็นโหมด I/O ดังนั้นD 7 = 1
ตัวอย่างเช่น หากต้องกำหนดค่าพอร์ต B และพอร์ต C ด้านบนเป็นพอร์ตอินพุต และพอร์ต C ด้านล่างและพอร์ต A เป็นพอร์ตเอาต์พุต (ทั้งหมดในโหมด 0):
- เนื่องจากเป็นโหมด I/O ดังนั้น D 7 = 1
- บิตเลือกโหมด D2, D5, D6 จะเป็น 0 ทั้งหมดสำหรับการทำงานในโหมด 0
- พอร์ต B และพอร์ต C ด้านบนควรทำงานเป็นพอร์ตอินพุต ดังนั้น D 1 = D 3 = 1
- พอร์ต A และพอร์ต C ด้านล่างควรทำงานเป็นพอร์ตเอาต์พุต ดังนั้น D 4 = D 0 = 0
ดังนั้น เพื่อให้การทำงานเป็นไปตามที่ต้องการ จะต้องโหลดค่า"10001010" = 8A (เลขฐานสิบหก)ลง ในรีจิสเตอร์คำสั่งควบคุม
โหมด 0 – การรับส่งข้อมูลแบบง่าย
ในโหมดนี้ พอร์ตต่างๆ สามารถใช้สำหรับการดำเนินการ I/O อย่างง่ายโดยไม่ต้องใช้สัญญาณแฮนด์เชค พอร์ต A และพอร์ต B ให้การดำเนินการ I/O อย่างง่าย พอร์ต C ที่แบ่งออกเป็นสองส่วน สามารถใช้ร่วมกันเป็นพอร์ต 8 บิตเพิ่มเติม หรือใช้เป็นพอร์ต 4 บิตแยกกันได้ เนื่องจากพอร์ต C ทั้งสองส่วนเป็นอิสระต่อกัน จึงสามารถใช้งานโดยกำหนดให้ส่วนหนึ่งเป็นพอร์ตอินพุตและอีกส่วนหนึ่งเป็นพอร์ตเอาต์พุตได้
คุณสมบัติการรับ/ส่งข้อมูลในโหมด 0 มีดังต่อไปนี้:
- พอร์ตเอาต์พุตถูกล็อคไว้
- พอร์ตอินพุตมีการบัฟเฟอร์ ไม่ใช่การล็อค
- พอร์ตไม่มีความสามารถในการจับมือหรือขัดจังหวะ
- ด้วยพอร์ต 4 พอร์ต ทำให้สามารถกำหนดค่าการรับส่งข้อมูล (I/O) ได้ถึง 16 รูปแบบที่แตกต่างกัน
'Latched' หมายความว่าบิตต่างๆ ถูกบันทึกไว้ในรีจิสเตอร์เก็บข้อมูล (อาร์เรย์ของฟลิปฟลอป) ซึ่งจะคงค่าเอาต์พุตให้คงที่แม้ว่าอินพุตจะเปลี่ยนแปลงหลังจากถูกบันทึกแล้ว ส่วนบัฟเฟอร์เป็นองค์ประกอบที่ไม่ใช่หน่วยความจำ ซึ่งทำหน้าที่เพียงส่งผ่านสัญญาณปัจจุบันเมื่อเปิดใช้งาน
เอาต์พุตของไอซี 8255 จะถูกล็อคไว้เพื่อเก็บข้อมูลล่าสุดที่เขียนลงไป เนื่องจากข้อมูลจะอยู่บนบัสเพียงหนึ่งรอบการทำงานเท่านั้น ดังนั้น หากไม่มีกลไกการล็อค ข้อมูลเอาต์พุตจะกลายเป็นข้อมูลที่ไม่ถูกต้องทันทีที่รอบการเขียนเสร็จสิ้น
ค่าอินพุตจะไม่ถูกล็อกไว้ เนื่องจากซีพียูเพียงแค่ต้องอ่านค่าปัจจุบัน จากนั้นจึงเก็บข้อมูลไว้ในรีจิสเตอร์หรือหน่วยความจำของซีพียูหากต้องการเรียกใช้ในภายหลัง หากค่าอินพุตเปลี่ยนแปลงขณะที่กำลังอ่านพอร์ต ผลลัพธ์อาจไม่แน่นอน
โหมด 0 – โหมดป้อนข้อมูล
- ในโหมดอินพุต ชิป 8255 จะรับข้อมูลจากพอร์ตอุปกรณ์ต่อพ่วงภายนอก และซีพียูจะอ่านข้อมูลที่ได้รับผ่านทางบัสข้อมูล
- ซีพียูจะเลือกชิป 8255 ก่อนโดยการทำให้CS เป็นสถานะต่ำ จากนั้นจึงเลือกพอร์ตที่ต้องการโดยใช้สายA0และA1
- จากนั้น CPU จะส่งสัญญาณ RD เพื่ออ่านข้อมูลจากอุปกรณ์ต่อพ่วงภายนอกผ่านทางบัสข้อมูลของระบบ
โหมด 0 – โหมดเอาต์พุต
- ในโหมดเอาต์พุต CPU จะส่งข้อมูลไปยัง 8255 ผ่านทางบัสข้อมูลของระบบ จากนั้นพอร์ตอุปกรณ์ต่อพ่วงภายนอกจะรับข้อมูลนี้ผ่านทางพอร์ต 8255
- ซีพียูจะเลือกชิป 8255 ก่อนโดยทำให้CS เป็นสถานะต่ำ จากนั้นจึงเลือกพอร์ตที่ต้องการโดยใช้สายA0และA1
- จากนั้น CPU จะส่งสัญญาณ WR เพื่อเขียนข้อมูลไปยังพอร์ตที่เลือกผ่านทางบัสข้อมูลของระบบ ข้อมูลนี้จะถูกรับโดยอุปกรณ์ต่อพ่วงภายนอกที่เชื่อมต่อกับพอร์ตที่เลือก
โหมด 1 - โหมดอินพุต/เอาต์พุตแบบกระพริบ
เมื่อเราต้องการใช้พอร์ต A หรือพอร์ต B สำหรับการรับส่งข้อมูลแบบแฮนด์เชค (สโตรบ) เราจะกำหนดค่าเริ่มต้นของพอร์ตนั้นในโหมด 1 (พอร์ต A และพอร์ต B สามารถกำหนดค่าเริ่มต้นให้ทำงานในโหมดที่แตกต่างกันได้ เช่น พอร์ต A สามารถทำงานในโหมด 0 และพอร์ต B ในโหมด 1) พินบางส่วนของพอร์ต C ทำหน้าที่เป็นสายแฮนด์เชค
สำหรับพอร์ต B ในโหมดนี้ (ไม่ว่าจะทำหน้าที่เป็นพอร์ตอินพุตหรือพอร์ตเอาต์พุตก็ตาม) พิน PC0, PC1 และ PC2 จะทำหน้าที่เป็นสายส่งสัญญาณเชื่อมต่อ (handshake lines)
หากพอร์ต A ถูกกำหนดค่าเริ่มต้นเป็นพอร์ตอินพุตโหมด 1 แล้ว PC3, PC4 และ PC5 จะทำหน้าที่เป็นสัญญาณแฮนด์เชค ส่วนพิน PC6 และ PC7 สามารถใช้เป็นสายอินพุต/เอาต์พุตได้
โหมดที่ 1 ซึ่งรองรับการจับมือ (handshaking) มีคุณสมบัติดังต่อไปนี้:
- พอร์ตสองพอร์ต ได้แก่ พอร์ต A และพอร์ต B สามารถใช้เป็นพอร์ตอินพุต/เอาต์พุต 8 บิตได้
- แต่ละพอร์ตใช้สายสัญญาณพอร์ต C จำนวน 3 เส้นเป็นสัญญาณจับมือ (handshake signal) และสัญญาณที่เหลืออีก 2 เส้นสามารถใช้เป็นพอร์ตอินพุต/เอาต์พุตได้
- รองรับตรรกะการขัดจังหวะ
- ข้อมูลขาเข้าและขาออกถูกล็อคไว้แล้ว
สัญญาณการจับมือขาเข้า
- 1. IBF (Input Buffer Full) - เป็นสัญญาณเอาต์พุตที่แสดงว่าแลตช์อินพุตมีข้อมูลอยู่
- 2. STB (Strobed Input) - อินพุตแบบสโตรบจะโหลดข้อมูลเข้าไปในพอร์ตแลตช์ ซึ่งจะเก็บข้อมูลไว้จนกว่าจะถูกป้อนเข้าสู่ไมโครโปรเซสเซอร์ผ่านคำสั่ง IN
- 3. INTR ( Interrupt request ) - เป็นเอาต์พุตที่ร้องขอการขัดจังหวะ ขา INTR จะมีค่าเป็นลอจิก 1 เมื่ออินพุต STB กลับไปเป็นลอจิก 1 และจะถูกล้างค่าเมื่อไมโครโปรเซสเซอร์รับข้อมูลจากพอร์ตเข้ามา
- 4. INTE (Interrupt enable) - ไม่ใช่ทั้งอินพุตหรือเอาต์พุต แต่เป็นบิตภายในที่ตั้งโปรแกรมผ่านตำแหน่งบิตของพอร์ต PC4 (พอร์ต A) หรือ PC2 (พอร์ต B)
สัญญาณการจับมือส่งออก
- 1. OBF (Output Buffer Full) - เป็นสัญญาณเอาต์พุตที่จะเปลี่ยนเป็นค่าต่ำทุกครั้งที่มีข้อมูลส่งออก (OUT) ไปยังพอร์ต A หรือพอร์ต B สัญญาณนี้จะเปลี่ยนเป็นค่าลอจิก 1 เมื่อได้รับพัลส์ ACK จากอุปกรณ์ภายนอก
- 2. ACK (Acknowledge) - สัญญาณนี้ทำให้ขา OBF กลับไปที่ระดับลอจิก 1 สัญญาณ ACK เป็นการตอบกลับจากอุปกรณ์ภายนอก ซึ่งบ่งชี้ว่าได้รับข้อมูลจากพอร์ต 82C55A แล้ว
- 3. INTR (Interrupt request) - เป็นสัญญาณที่มักจะขัดจังหวะการทำงานของไมโครโปรเซสเซอร์เมื่ออุปกรณ์ภายนอกได้รับข้อมูลผ่านสัญญาณนี้ พินนี้มีคุณสมบัติเฉพาะโดยบิต INTE (interrupt enable) ภายใน
- 4. INTE (Interrupt enable) - ไม่ใช่ทั้งอินพุตหรือเอาต์พุต แต่เป็นบิตภายในที่ตั้งโปรแกรมไว้เพื่อเปิดหรือปิดการใช้งานขา INTR บิต INTE A ตั้งโปรแกรมโดยใช้บิต PC6 และบิต INTE B ตั้งโปรแกรมโดยใช้บิต PC2
โหมด 2 - โหมดอินพุต/เอาต์พุตแบบสองทิศทางพร้อมไฟกระพริบ
ในโหมดนี้ สามารถเริ่มต้นใช้งานพอร์ต A ได้เท่านั้น พอร์ต A สามารถใช้สำหรับ การถ่ายโอนข้อมูล แบบสองทิศทาง (handshake ) ซึ่งหมายความว่าสามารถรับหรือส่งข้อมูลได้บนสายสัญญาณเดียวกันแปดสาย (PA0 - PA7) พิน PC3 - PC7 ใช้เป็นสายสัญญาณ handshake สำหรับพอร์ต A ส่วนพินที่เหลือของพอร์ต C (PC0 - PC2) สามารถใช้เป็นสายสัญญาณอินพุต/เอาต์พุตได้หากกลุ่ม B ถูกเริ่มต้นใช้งานในโหมด 0 หรือใช้เป็นสายสัญญาณ handshake สำหรับพอร์ต B หากกลุ่ม B ถูกเริ่มต้นใช้งานในโหมด 1 ในโหมดนี้ 8255 อาจใช้เพื่อขยายบัสระบบไปยังไมโครโปรเซสเซอร์ รอง หรือเพื่อถ่ายโอนไบต์ข้อมูลไปยังและจาก ตัวควบคุม ฟลอปปี้ดิสก์สัญญาณยืนยันและสัญญาณ handshake มีไว้เพื่อรักษาการไหลของข้อมูลและการซิงโครไนซ์ที่ถูกต้องระหว่างตัวส่งและตัวรับข้อมูล
ลิงก์ภายนอก
- drew.hickmans.netคำอธิบายโดยละเอียดเกี่ยวกับไอซี Intel 8255
- ic-on-line.cn , เอกสารข้อมูลผลิตภัณฑ์
- sharpmz.orgภาพรวมฟังก์ชัน
- เว็บไซต์ intel-assembler.it ถูกเก็บถาวรเมื่อวันที่ 23 เมษายน 2016 ที่Wayback Machineมีรายละเอียดทางเทคนิคเกี่ยวกับการเขียนโปรแกรมและตัวอย่างโค้ด
- bitsavers.informatik.uni-stuttgart.de , คู่มือผู้ใช้ระบบไมโครคอมพิวเตอร์ Intel 8080 (กันยายน 1975) รวมถึงชิป 8255 ด้วย
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ อินเทล 8255
ชิป Intel 8255 (หรือ i8255 ) Programmable Peripheral Interface (PPI) ถูกพัฒนาและผลิตโดย Intel ในช่วงครึ่งแรกของทศวรรษ 1970 สำหรับ ไมโครโปรเซสเซอร์ Intel 8080 ชิป 8255...
ชิปที่คล้ายกัน
ชิป 8255 มีฟังก์ชันการทำงานคล้ายกับชิป Motorola 6820 PIA (Peripheral Interface Adapter) จาก ตระกูล Motorola 6800 ซึ่งเดิมทีก็บรรจุอยู่ในแพ็คเกจ DIL 40 พินเช่นกัน ชิป 8255 มีพิน I/O 24 พิน พร้อมบิตกำหนดทิศทางได้ 4 บิต: หนึ่งบิตสำหรับพอร์ต A (7:0) (เช่น...
ตัวแปร
Intel ID8255A เวอร์ชันเกรดอุตสาหกรรมมีจำหน่ายในราคา 17.55 ดอลลาร์สหรัฐ สำหรับจำนวน 100 ชิ้นขึ้นไป [ 4 ] Intel 8255A-5 เวอร์ชันที่มีจำหน่ายมีราคา 6.
แอปพลิเคชัน
8255 ถูกใช้กันอย่างแพร่หลายในระบบไมโครคอมพิวเตอร์/ไมโครคอนโทรลเลอร์และ คอมพิวเตอร์บ้าน หลายเครื่อง เช่น SV-328 และ MSX ทุก รุ่น 8255 ถูกใช้ใน IBM PC รุ่น แรก [ 8 ] PC/XT, PC/jr และโคลน รวมถึง คอมพิวเตอร์ที่สร้างเอง จำนวน มากเช่น N8VEM