การติดต่อกับเอาท์พุตที่เป็น LED 7 ส่วน


      ความจริง LED 7 ส่วนหรือที่เรียกกันว่า 7-เซกเมนต์ (7-Segment)นั้นก็คือการนำ LED มาต่อร่วมกันเป็นตัวเลข 7 ส่วน ลักษณะดังรูป ก.โดยแต่ละส่วนจะเรียกว่า เซกเมนต์ a ถึง g โดยภายในจะมีการต่อ LED 2 แบบ คือ

1. ต่อแบบอาโนดร่วมกัน (Common Anode) ดังรูป ข.
2. ต่อแบบคาโนดร่วมกัน (Common Cathode) ดังรูป ค.

รูปแสดงรูปร่างของLED แบบ 7 ส่วนและโครงสร้างภายใน

      ปกติใน LED – 7 ส่วนจะมี จุด(Point)เพิ่มมาอีกส่วนหนึ่ง รวมเป็น 8 ส่วนเซกเมนต์ การควบคุมให้แสดงผลเป็นตัวเลขหรืออักษรใด ก็ขึ้นอยู่กับตำแหน่งของ LED ในแต่ละส่วน เช่นการแสดงผลเป็นเลข 0 เซกเมนต์ที่ติดสว่างก็คือ เซกเมนต์ a,b,c,d,e และ f
      ถ้าต้องการแสดงเป็นเลข 1 เซกเมนต์ที่ติดสว่างก็จะมีเพียง b และ c และถ้าต้องการให้เป็น 7 ก็จะใช้เซกเมนต์ a,b และ c
      การต่อวงจรก็กระทำเช่นเดียวกับการต่อ LED เพียงแต่พิจารณาว่า ขาข้อมูล D0 ถึง D7 จะต่อเข้ากับขาของ LED 7-Segment อย่างไรสำหรับในกรณีของ ET-Board จะต่อในลักษณะดังรูป

รูปแสดงการต่อเชื่อ LED 7-Segment เข้ากับขาข้อมูล D0-D7

การแสดงผลเป็นตัวเลขต่างๆทำโดยการกำหนดแต่ละบิตดังนี้


      สำหรับการกำหนดการแสดงผลเป็นตัวอักษรก็จะกำหนดเซกเมนต์ที่สว่างตามความเหมาะสมเช่น กรณีต้องการแสดงเป็นตัวอักษร t อาจกำหนดให้เซกเมนต์มี่สว่างคือ d,e,f และ g ค่าข้อมูลในแต่ละบิทก็จะเป็น


      สำหรับการเขียนโปรแกรมแสดงผลก็ทำโดยการใช้การเปิดตารางดังตัวอย่างต่อไปนี้ โปรแกรมแสดงผล LED 7 ส่วน

รูปแสดงวงจรการต่อเอาท์พุตที่เป็น LED แบบ-7-Segment ที่พอร์ต 08H

     กำหนดให้พอร์ตเอาท์พุตของLED 7-ส่วนเป็นพอร์ตหมายเลข 08H กำหนดข้อมูลตัวเลขที่จะให้แสดงผล (ให้กำหนดค่าระหว่าง 0 ถึง 9) อยู่ในรีจิสเตอร์ E

       LD HL,TABLE  ; ให้ HL ชี้ที่ตารางข้อมูล
       LD D,00      ; ให้รีจิสเตอร์ มีค่าเป็น 00
       ADD HL,DE   ; บวกค่าตัวชี้ HL = HL + DE เพื่อเปิดตาราง
       LD A,(HL)     ; โหลดข้อมูลจากตำแหน่งที่ HL ชี้มาเก็บใน A
LOOP: OUT(08H),A   ; ส่งข้อมูลออกไปที่พอร์ตเอาท์พุต
       HALT         ; หยุดการทำงาน
TABLE: DFB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

หมายเหตุ คำสั่ง DFB (DeFine Byte) เป็นคำสั่งเทียมในภาษาแอสแซมบลีใช้สำหรับกำหนดค่าข้อมูลในตำแหน่ง TABLE ส่วนคอมม่า(,)ใช้แยกข้อมูลให้อยู่ในแอดเดรสถัดไป