การทดลองที่ 5 Scan 7 Segment

การเขียนโปรแกรมเพื่อแสดงตัวเลข 7 segment จะใช้หลักการ ให้ตัวเลขติดทีละหลัก เรียงกันไปด้วยความถี่ที่ตาคนเราแยกไม่ออก ปกติแล้วจะใช้ interrupt timer มาเป็นฐานเวลาในการสแกนตัวเลข เนื่องจากให้คาบเวลาที่แน่นอน ถ้าเขียนโปรแกรมวนลูปใน while(1) เวลาไมโครคอนโทรลเลอร์ประมวลผลอย่างอื่นไปด้วย ตัวเลข 7 segment จะกระตุก

7 Segment ที่ผมเอามาทดลองนี้ เค้าขายอยู่ข้างทางแพ๊คละสิบบาทมีอยู่ 10 ตัวหน้าตาเป็นแบบนี้ครับ แบบนี้จะ wire สายหรือทำ PCB ง่ายหน่อย เพราะ 4 หลักใช้ขา common ร่วมกัน

รูปที่ 1

เทียบกับเหรียญบาทครับ

รูปที่ 2

ในการทดลองนี้ผมเอาไปต่อกับ Key up และ Key Down เพื่อเปลี่ยนแปลงค่าตัวเลข ถ้าใครจะไปประยุกต์ใช้กับงานอื่นก็ copy ส่วนสแกน 7 segment ไปใช้ได้ครับ

หลังจากต่อวงจรเสร็จ ให้โปรแกรม HEX ลง 89S52 จะเห็นตัวเลขติด 0000 ถ้าไม่ได้ตามนี้ลองกลับไปเช็ควงจรดูนะครับ ลองกด Key up ดูครับถ้ากดแล้วปล่อยจะเพิ่มทีละ 1 ค่า ถ้ากดค้างจะเห็นตัวเลขเพิ่มขึ้นอย่างต่อเนื่อง ส่วน Key Down ก็เป็นในทางตรงกันข้ามกับ Key Up คือเมื่อกดแล้วปล่อยค่าจะลดลงทีละ 1 ค่า เมื่อกดค้างค่าจะลดลงไปเรื่อยๆ

null

รูปที่ 3 วงจรที่ใช้ในการทดลอง

รูปที่ 4 ทำการทดลองในแผ่นปริ๊นต์อเนกประสงค์

Download Code การทดลองที่ 5

บทความอื่นๆที่เกี่ยวข้อง

Leave a Reply