ความคิดเห็นที่2 จากตัวอย่างที่ส่งมาจากคอมนั้นเป็นข้อมูล 8 bit แต่ถ้าจะให้แสดงผลที่ 7-segment นั้นต้องการแค่ 7 bit(a-g) นั่นหมายความว่าเราต้องนำ output ที่ขับ LED เลีอกมา 7 bit (0-6)เพื่อที่จะต่อเข้าที่ 7-segment โดยตรงแต่ค่าที่ส่งมาจากvb
ต้องเป็นค่าที่สัมพันธ์กับตัวเลขที่จะให้ติดเช่นต้องการแสดงเลข8ค่าที่ต้องส่งมาจาก vb คือ 7F (1111111) แต่วิธีนี้ต้องไปแก้ไขที่โปรแกรม vb ด้วยเช่นจะส่งตัวเลข 8 ออกมาบรรทัดที่จะส่งให้แก้เป็น 7F ก็จะได้เลข8ไปติดที่7-segment
แต่มีอีกวิธีหนึ่งครับคือนำ วงจร decoder มาต่อที่ output เลยครับเพราะค่าที่ส่งมาจาก vb นั้นส่วนใหญ่ผมเห็นส่งมาให้แสดงที่ LED เป็นเลขฐานสอง
แต่เรานำมาประยุกต์โดยให้เข้าวงจรถอดรหัสก่อน ก็จะได้ตัวเลขไปแสดงที7-segment โดยที่ไม่ต้องไปแก้โปรแกรม vb ครับ วิธีนี้ใช้4bit ครับ (0-3) ส่วน bitที่เหลือไม่ต้องสนใจครับ เพราะเราต้องการแค่4bit แรกเช่นส่งค่าตัวเลข 8 มาจะได้ค่า xxxx1000 เมื่อนำมาผ่าน decoder แล้ว จะได้ 11111111 ออกไปที่ output a-g แค่นี้ก็เรียบร้อยครับ อ้อ!ลืมบอกไปเวลาเรานำสัญลักษณ์ decoder มาต่อเพิ่มจะเห็นว่ามี input อยู่ 4 ให้ลากสายออกมาจากinput นิดหนี่ง แล้วตั้งชื่อขาให้สัมพันธ์กับ output ของ dff8b ดูบิตต่ำให้ตรงกันก็ใช้ได้ เช่น output ของ dff8b เป็น LED[7..0] เราก็มาตั้งที่ input ของ decoder เรียงจากบิตต่ำเป็น LED0,LED1,LED2,LED3 ส่วนoutput(a-g) ก็ assing ตามปกติ
ลองเอาไปทำดูนะครับถ้า complier ไม่ผ่าน mail หาผมก็ได้เพราะผมเคยทำโปรเจ็คเกี่ยวกับเรื่องพวกนี้อยู่เหมือนกัน..ruengsak_ch@hotmail.com..
|