บทความประกอบการเรียนรู้ => ไมโครคอนโทรลเลอร์ (MCS51) => ข้อความที่เริ่มโดย: admin ที่ ตุลาคม 17, 2010, 01:27:42 PM

หัวข้อ: งานครั้งที่ 7 การประกอบวงจรและเขียนโปรแกรมแสดงผลด้วย 7-Segment
เริ่มหัวข้อโดย: admin ที่ ตุลาคม 17, 2010, 01:27:42 PM
เขียนโปรแกรมแสดงตัวเลขวินาที 00-59
วงจรที่ใช้เป็นดังรูป
(http://image.free.in.th/v/2013/ie/lab7.11-sch.png)

http://www.youtube.com/v/3oHOY1gMHBY
หัวข้อ: Re: งานครั้งที่ 6 การประกอบวงจรและเขียนโปรแกรมแสดงผลด้วย 7-Segment
เริ่มหัวข้อโดย: admin ที่ ตุลาคม 17, 2010, 01:28:31 PM
Transistor BC547
(http://www.es.co.th/Picture/TO-92.jpg)
http://www.es.co.th/detail.asp?Prod=13603211 (http://www.es.co.th/detail.asp?Prod=13603211)

7 Segment ขนาด 0.36 นิ้ว
(http://www.es.co.th/Picture/TOD-3261AG.jpg)
http://www.es.co.th/detail.asp?Prod=01006446 (http://www.es.co.th/detail.asp?Prod=01006446)

การจัดขาของ 7 Segment เบอร์นี้เป็นดังรูป
(http://image.free.in.th/z/ij/7segment.png)
หัวข้อ: Re: งานครั้งที่ 7 การประกอบวงจรและเขียนโปรแกรมแสดงผลด้วย 7-Segment
เริ่มหัวข้อโดย: admin ที่ กรกฎาคม 19, 2012, 03:46:38 PM
โปรแกรมสำหรับทดสอบบอร์ดวงจรแสดงผล
โค๊ด: [Select]
#include<REGX52.h>
sbit com1=P2^7;
sbit com2=P2^6;
void main(void)
{
code unsigned char value[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int i,n,m;
com1=0;
com2=0;
while(1)
{
for(i=0;i<10;i++)
{
for(m=0;m<100;m++)
{
    P0=value[i];
    com1=1;
    for(n=0;n<100;n++);
    com1=0;
    P0=value[9-i];
    com2=1;
    for(n=0;n<100;n++);
    com2=0;
}
}
}
}