8279 - คีย์บอร์ดที่ตั้งโปรแกรมได้

แป้นพิมพ์ / จอแสดงผลที่ตั้งโปรแกรมได้ 8279 ได้รับการออกแบบโดย Intel ที่เชื่อมต่อแป้นพิมพ์กับ CPU แป้นพิมพ์จะสแกนแป้นพิมพ์ก่อนและระบุว่ามีการกดแป้นใด จากนั้นจะส่งการตอบสนองสัมพัทธ์ของคีย์ที่กดไปยัง CPU และในทางกลับกัน

คีย์บอร์ดเชื่อมต่อกับ CPU ได้กี่วิธี?

แป้นพิมพ์สามารถเชื่อมต่อได้ทั้งในโหมดขัดจังหวะหรือโหมดโพล ในInterrupt modeโปรเซสเซอร์จะได้รับการร้องขอบริการก็ต่อเมื่อกดปุ่มใด ๆ มิฉะนั้น CPU จะทำงานหลักต่อไป

ใน Polled modeซีพียูจะอ่านแฟล็กภายในของ 8279 เป็นระยะเพื่อตรวจสอบว่ามีการกดปุ่มใด ๆ หรือไม่ด้วยการกดปุ่ม

แป้นพิมพ์ 8279 ทำงานอย่างไร

แป้นพิมพ์ประกอบด้วยปุ่มสูงสุด 64 ปุ่มซึ่งเชื่อมต่อกับ CPU โดยใช้คีย์ - รหัส คีย์ - โค้ดเหล่านี้จะถูกยกเลิกการเด้งและจัดเก็บไว้ใน FIFORAM ขนาด 8 ไบต์ซึ่ง CPU สามารถเข้าถึงได้ หากป้อนมากกว่า 8 อักขระใน FIFO หมายความว่ามีการกดมากกว่าแปดปุ่มในแต่ละครั้ง นี่คือเมื่อมีการตั้งค่าสถานะโอเวอร์รัน

หาก FIFO มีรายการคีย์ที่ถูกต้อง CPU จะถูกขัดจังหวะในโหมดขัดจังหวะมิฉะนั้น CPU จะตรวจสอบสถานะในการสำรวจเพื่ออ่านรายการ เมื่อ CPU อ่านรายการคีย์แล้ว FIFO จะได้รับการอัปเดตและรายการคีย์จะถูกผลักออกจาก FIFO เพื่อสร้างพื้นที่สำหรับรายการใหม่

สถาปัตยกรรมและคำอธิบาย

การควบคุม I / O และบัฟเฟอร์ข้อมูล

หน่วยนี้ควบคุมการไหลของข้อมูลผ่านไมโครโปรเซสเซอร์ จะเปิดใช้งานเมื่อ D ต่ำเท่านั้น บัฟเฟอร์ข้อมูลเชื่อมต่อบัสภายนอกของระบบกับบัสภายในของไมโครโปรเซสเซอร์ พิน A0, RD และ WR ใช้สำหรับคำสั่งสถานะหรือการอ่าน / เขียนข้อมูล

การควบคุมและการลงทะเบียนเวลาและการควบคุมเวลา

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

สแกนเคาน์เตอร์

มีสองโหมดคือ Encoded modeและโหมดถอดรหัส ในโหมดเข้ารหัสตัวนับจะให้จำนวนไบนารีที่จะถอดรหัสจากภายนอกเพื่อจัดเตรียมเส้นสแกนสำหรับแป้นพิมพ์และการแสดงผล

ใน decoded scan modeเคาน์เตอร์ภายในถอดรหัสน้อยอย่างมีนัยสำคัญ 2 บิตและให้ถอดรหัส 1 ใน 4 สแกน SL 0 -sl 3

ส่งคืนบัฟเฟอร์การดีบักคีย์บอร์ดและการควบคุม

ขั้นแรกหน่วยนี้จะสแกนแถวปิดคีย์อย่างชาญฉลาดหากพบจากนั้นหน่วย debounce ของแป้นพิมพ์จะ deboun การป้อนคีย์ ในกรณีที่ตรวจพบคีย์เดียวกันรหัสของคีย์นั้นจะถูกโอนโดยตรงไปยัง RAM เซ็นเซอร์พร้อมกับสถานะคีย์ SHIFT & CONTROL

FIFO / Sensor RAM และ Status Logic

หน่วยนี้ทำหน้าที่เป็นแรม 8-byte first-in-first-out (FIFO) ซึ่งรหัสของคีย์ที่กดทุกปุ่มจะถูกป้อนลงใน RAM ตามลำดับ ตรรกะสถานะสร้างคำขอขัดจังหวะหลังจากการดำเนินการอ่าน FIFO แต่ละครั้งจนกว่า FIFO จะว่างเปล่า

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

แสดงที่อยู่รีจิสเตอร์และแสดง RAM

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

8279 - คำอธิบายพิน

รูปต่อไปนี้แสดงพินไดอะแกรมของ 8279 -

สายบัสข้อมูล DB 0 - DB 7

นี่คือสายบัสข้อมูลแบบสองทิศทาง 8 สายที่ใช้ในการถ่ายโอนข้อมูลไปยัง / จาก CPU

CLK

อินพุตนาฬิกาถูกใช้เพื่อสร้างการกำหนดเวลาภายในที่ต้องการโดยไมโครโปรเซสเซอร์

รีเซ็ต

ตามชื่อแสดงว่าพินนี้ใช้เพื่อรีเซ็ตไมโครโปรเซสเซอร์

CS Chip Select

เมื่อตั้งค่าพินนี้ไว้ที่ต่ำจะทำให้สามารถอ่าน / เขียนได้ไม่เช่นนั้นควรตั้งค่าพินนี้เป็นสูง

0

พินนี้ระบุการถ่ายโอนข้อมูลคำสั่ง / สถานะ เมื่ออยู่ในระดับต่ำแสดงถึงการถ่ายโอนข้อมูล

RD, WR

พินอ่าน / เขียนนี้ช่วยให้บัฟเฟอร์ข้อมูลส่ง / รับข้อมูลผ่านบัสข้อมูล

IRQ

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

V ss , V cc

นี่คือกราวด์และสายจ่ายไฟของไมโครโปรเซสเซอร์

SL 0 - SL 3

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

RL 0 - RL 7

นี่คือ Return Lines ซึ่งเชื่อมต่อกับเทอร์มินัลของคีย์หนึ่งในขณะที่เทอร์มินัลอื่น ๆ ของคีย์เชื่อมต่อกับเส้นสแกนที่ถอดรหัสแล้ว เส้นเหล่านี้ถูกตั้งค่าเป็น 0 เมื่อกดปุ่มใด ๆ

SHIFT

สถานะบรรทัดอินพุต Shift จะถูกจัดเก็บพร้อมกับรหัสคีย์ทั้งหมดใน FIFO ในโหมดแป้นพิมพ์ที่สแกน จนกว่ามันจะถูกดึงให้ต่ำโดยใช้ปุ่มปิดมันจะถูกดึงขึ้นภายในเพื่อให้สูง

CNTL / STB - โหมดควบคุม / STROBED I / P

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

BD

ย่อมาจากการแสดงผลว่างเปล่า ใช้เพื่อปิดจอแสดงผลระหว่างการสลับตัวเลข

OUTA 0 - OUTA 3และ OUTB 0 - OUTB 3

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

โหมดการทำงานของ 8279

มีสองโหมดการทำงานบน 8279 - Input Mode และ Output Mode.

โหมดอินพุต

โหมดนี้เกี่ยวข้องกับอินพุตที่กำหนดโดยแป้นพิมพ์และโหมดนี้แบ่งออกเป็น 3 โหมดเพิ่มเติม

  • Scanned Keyboard Mode- ในโหมดนี้เมทริกซ์หลักสามารถเชื่อมต่อได้โดยใช้การสแกนที่เข้ารหัสหรือถอดรหัส ในการสแกนแบบเข้ารหัสแป้นพิมพ์ 8 × 8 หรือในการสแกนแบบถอดรหัสสามารถเชื่อมต่อแป้นพิมพ์ 4 × 8 ได้ รหัสของคีย์ที่กดด้วยสถานะ SHIFT และ CONTROL จะถูกเก็บไว้ใน FIFO RAM

  • Scanned Sensor Matrix- ในโหมดนี้อาร์เรย์เซ็นเซอร์สามารถเชื่อมต่อกับโปรเซสเซอร์โดยใช้การสแกนตัวเข้ารหัสหรือตัวถอดรหัส ในการสแกนตัวเข้ารหัสสามารถเชื่อมต่อเมทริกซ์เซ็นเซอร์ 8 × 8 หรือด้วยเมทริกซ์เซ็นเซอร์สแกนตัวถอดรหัส 4 × 8 ได้

  • Strobed Input - ในโหมดนี้เมื่อตั้งค่าสายควบคุมเป็น 0 ข้อมูลในรายการส่งคืนจะถูกเก็บไว้ในไบต์ FIFO ไบต์

โหมดเอาต์พุต

โหมดนี้เกี่ยวข้องกับการดำเนินการที่เกี่ยวข้องกับการแสดงผล โหมดนี้แบ่งออกเป็นสองโหมดเอาต์พุต

  • Display Scan - โหมดนี้ช่วยให้สามารถจัดระเบียบจอแสดงผลมัลติเพล็กซ์แบบอักขระ 8/16 ตัวเป็นหน่วยแสดงผลคู่ 4 บิต / เดี่ยว 8 บิต

  • Display Entry - โหมดนี้อนุญาตให้ป้อนข้อมูลเพื่อแสดงผลจากด้านขวา / ด้านซ้าย