Unicon 189
หลักการของการสแกนคียหรือตรวจสอบการกดคียในโปรแกรม อธิบายไดดังนี้ ที่ตอนตนของโปรแกรมมีการประกาศตัวแปรแบบอะเรยไว 2 ตัวคือ Rpin และ Cpin char Rpin[4] = {4,30,12,6}; // Define ROW Pin char Cpin[4] = {3,2,0,1};
// Define COL Pin
โดยตัวแปรแตละตัวมีสมาชิก 4 ตัว ซึงก็ ่ คือขาพอรตทีใช ่ งานนันเอง ่ ดวยการกําหนดตําแหนงขาพอรต ในลักษณะนี้ จึงกําหนดตําแหนงของสวิตชไดดังรูปที่ 8-10 เมื่อเริ่มโปรแกรม กําหนดใหตัวแปร i เปนตัวนับตําแหนงของสายสัญญาณดานแถวหรือโรว มีคา 0 ถึง 3 (ไมเกิน 4) และเพิ่มคาครั้งละหนึง่ จากนั้นทําการสงคาลอจิก “0” ออกมายังขาพอรตแถวแรกที่กําหนด ดวย Rpin ดวยคําสั่ง out(Rpin[i],0); จากนั้นทําการกําหนดคาตัวแปร j ใหมีคา 0 ถึง 3 และมีการเพิ่ม คาทีละหนึ่ง ตัวแปร j ใชในการชี้ตําแหนงของสวิตชที่ถูกกดในแนวหลักหรือคอลัมน โดยจะวนตรวจสอบวา มีการกดสวิตชหรือไม ดวยคําสั่ง if (in(Cpin[j])==0) Unicon port +5V
3 2 0 1
4 30 12 6
C1 C2 C3 C4 R1 R2R3 R4
0
1
2
3
R1-C1
R1-C2
R1-C3
R1-C4
4
5
6
7
R2-C1
R2-C2
R2-C3
R2-C4
8 R3-C1
9 10 11 R3-C2
R3-C3
R3-C4
12 13 14 15 R4-C1
R4-C2
R4-C3
R4-C4
รูปที่ 8-10 แสดงความสัมพันธระหวางขาพอรตของบอรด Unicon กับตําแหนงของสวิตชบนแผงวงจร สวิตช ZX-SW16