MiniProject 010123120 Embedded System Design Lab นาฬิกาปลุก
การใช้งานโมดูลแสดงผลด้วย LED แบบ Dotmatrix ขนาด 8x8 โดย MAX 7219 (RED)
โมดูลแสดงผลด้วย LED แบบ Dotmatrix
ขนาด 8x8 (แดง)
ที่มา http://alexiaelectronic.blogspot.com/
เป็นโมดูลที่แสดงผลด้วย Dotmatrix LED โดยใช้ไอซี
MAX7219 ขับเคลื่อน LED ให้แสดงผล
ซึ่งควบคุมการทำงานของวงจรด้วยสัญญาณเพียง 3 เส้น (DIN,
CS, CLK) และสามารถต่อพ่วงโมดูลเพื่อเพิ่มพื้นที่ในการแสดงผลได้อีกด้วย
คุณสมบัติโมดูล
- ใช้ไฟเลี้ยงวงจร
5V
- ขนาดโมดูล
5x3.2
cm
- แสดงผลด้วย
Dot
Matrix LED สีแดง ขนาด 8x8 ขับ LED ได้ 64 ดวง
- โมดูลมีทั้งอินพุตและเอาต์พุตอินเตอร์เฟสสามารถต่อได้หลายโมดูล
(Cascade)
พร้อมกันได้
ไอซี MAX
7219
นำมาควบคุมการทำงานแผง
LED
แบบ Common Cathode (CC) ขนาด 8x8 และสามารถเชื่อมต่อไมโครคอนโทรลเลอร์ผ่านบัส SPI ได้
การส่งข้อมูลเข้าไปในไอซี
MAX7219
เพื่อเขียนลงในรีจิสเตอร์แต่ละตัว จะใช้วิธีเลื่อนบิตตามจังหวะ CLK
โดยใช้การส่งข้อมูลครั้งละขนาด 16 บิต
และส่งบิต 15 เข้าไปก่อนตามลำดับ จนถึงบิต 0 ซึ่งรูปแบบการส่งข้อมูลแบบนี้สอดคล้องกับการทำงานของ SPI ในโหมด 0 โดยข้อมูลขนาด 16 บิตประกอบด้วย
8 บิตสูงเป็น Address ส่วนอีก
8 บิตต่ำเป็น Data สำหรับ Address จะมีดังนี้
รูปแสดงตำแหน่งของบิตในรีจิสเตอร์สำหรับคำสั่งและข้อมูลขนาด
16 บิต
ตารางแสดงที่อยู่ของรีจิสเตอร์ภายในของไอซี MAX7219
** X คือค่าอะไรก็ได้ ไม่มีผลต่อคำสั่ง
สัญญาณควบคุมไอซี MAX 7219 (DIN,
CS, CLK)
การใช้งานสำหรับแผง LED
8x8 โดยกำหนดค่าสำหรับรีจิสเตอร์ดังนี้
- รีจิสเตอร์
“Decode
Mode” (0x9)
เริ่มด้วยคำสั่ง Decode Mode ก่อน
เพราะมีผลกับค่าที่กำหนดให้แต่ละหลัก สำหรับ Decode Mode จะเป็นการกำหนดว่าจะกำหนดเป็นรหัส
BCD หรือไม่ ในการกำหนด
Decode Mode จะกำหนดได้ตั้งแต่ 0x00
ถึง 0xFF โดยที่ 0x00 คือไม่มีการใช้
BCD และ 0xFF คือใช้ BCD ทุกหลัก ถ้าเป็น 0x3A ก็จะเป็น DIGIT 5, 4,
3, 1 ที่ใช้ BCD (00111010B) (เลข 1 ในแต่ละบิตแทนที่การใช้ BCD ในหลักนั้นๆ และ 0
คือไม่ใช้ BCD )
- รีจิสเตอร์
“Digit
0” … “Digit7”
กำหนดค่าสำหรับสถานะติดดับของ
LED
จำนวน 8 ดวง ในแถวแนวนอนเดียวกัน
ซึ่งกำหนดหลักไหนก็ส่ง Address ตามด้วย Data สำหรับ Data มีดังนี้
- รีจิสเตอร์
“Intensity”
(0x0A)
สำหรับกำหนดความสว่างของไฟ LED โดยกำหนดค่าได้ตั้งแต่ 0-15
(0x00 - 0x0F) ก็จะสว่างจากน้อยไปมาก สว่างประมาณครึ่งหนึ่งจะเป็น 0x0A07 หรือ { 0x0A, 0x07 } สว่างต่ำสุดจะเป็น
0x0A00 หรือ { 0x0A, 0x00 }
- รีจิสเตอร์
“Scan
limit” (0x0B)
สำหรับการกำหนดว่าจะให้แสดงหลักไหนบ้าง
มีค่าตั้งแต่ 0-7 (0x00 - 0x07) โดยที่ 0x00 จะแสดงแค่ DIGIT 0 เท่านั้น 0x04 จะแสดง DIGIT 0, 1, 2, 3, 4 และ 0x07 จะแสดง DIGIT 0, 1, 2, 3, 4, 5, 6,
7 หรือทุกหลักนั่นเอง
- รีจิสเตอร์
“Shutdown”
(0x0C)
สำหรับกำหนดการ Shutdown ซึ่ง 1 สำหรับ Normal และ 0 สำหรับ Shutdown
เมื่อเข้าสู่ Shutdown Mode ขา Data
(A-G และ DP) จะเป็น Low ส่วนขา DIGIT (DIGIT 0 - DIGIT 7) จะเป็น High
ไม่มีความคิดเห็น:
แสดงความคิดเห็น