ايران ويج

نسخه‌ی کامل: شمارش معکوس سه رقمی سون سگمنت مالتی پلکس
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام و عرض خسته نباشید : این فایل سورس و شماتیک شمارش معکوس سه رقمی خدمت دوستان
از سون سگمنت سه تایی اند مشترک استفاده شده فقط نمیدانم چطوری میشه زمان به پایان رسیدن شمارش را تغییر داد!
الان با گذشت زمان حدود 23 ثانیه شمارش معکوس از 999  تمام  و صفر میشه ؛چطور میشه زمان را جوری تنظیم کرد که همین شمارش مثلا 999 ثانیه طول بکشه، و تمام بشه. متغیر کردن زمان شروع تا پایان شمارش یا به عبارتی کند کردن عمل شمارش را کسی بلده شرح بده ؟ با تشکر

#include <mega8.h>
#include <delay.h>

void main()
{   
    unsigned char anode_seg[]={192,249,164,176,153,146,130,248,128,144,160,131,198,161,134,142};
    unsigned char control[]={0b11111110,0b11111101,0b11111011};
   
    int a2=9,b2=9,c2=9;
    DDRB=0x00;
    DDRD=0xFF;
    DDRC=0x00;
        while(PINC.1==0)
        {
          
            PORTB=control[0];PORTD=anode_seg[a2];delay_ms(1);a2=a2-1;
            PORTB=control[2];PORTD=anode_seg[b2];delay_ms(1);
            PORTB=control[1];PORTD=anode_seg[c2];delay_ms(1);
           
            if(a2==-1)
            {
                a2=9;
                if(b2!=0){b2=b2-1;}
                else if(b2==0)
                {
                    b2=9;PORTC=control[1];PORTC=anode_seg[b2];delay_ms(1);
                    if(c2!=0){c2=c2-1;}
                    else if(c2==0)
                    {
                        c2=9;PORTC=control[1];PORTC=anode_seg[c2];delay_ms(1);
                        if(c2!=0){c2=c2-0;}
                      
                    }
                }  
            }
        } 

}
سورس +شماتیک