دیگه کلافه شدم :angry:
یه ساعت با مگا 16 و DS1307 ساختم که دماسنج هم داره. قبل از برنامه نویسی ساعت هیچ مشکلی نبود و دما و سگمنتها عالی کار میکردن اما از وقتی که برنامه ساعت اضافه شده نور سگمنتها خیلی خیلی کم شده.
هر کاری که به ذهنم اومد کرد درس نشد :angry:
دلایهارو کم و زیاد کردم نتیجه نداد .
اما وقتی دلایهارو بیش از اندازه زیاد کردم مشکل رفع شد اما نمایش به هم ریخت. آخه دلایها خیلی بالا بود.
اینم کد
تو رو خدا به دادم برسین قبل اینکه دیوونه بشم :twisted:
یه ساعت با مگا 16 و DS1307 ساختم که دماسنج هم داره. قبل از برنامه نویسی ساعت هیچ مشکلی نبود و دما و سگمنتها عالی کار میکردن اما از وقتی که برنامه ساعت اضافه شده نور سگمنتها خیلی خیلی کم شده.
هر کاری که به ذهنم اومد کرد درس نشد :angry:
دلایهارو کم و زیاد کردم نتیجه نداد .
اما وقتی دلایهارو بیش از اندازه زیاد کردم مشکل رفع شد اما نمایش به هم ریخت. آخه دلایها خیلی بالا بود.
اینم کد
کد:
PORTB = 0x00; delay_us(300); PORTD = 0; PORTB = ~(segment[Temp / 10 / 10]); PORTD.7 = ledDama; delay_us(500); PORTB = 0x00; delay_us(300); PORTD = 1; PORTB = ~(segmentp[Temp / 10 % 10]); PORTD.7 = ledDama; delay_us(500); PORTB = 0x00; delay_us(300); PORTD = 2; PORTB = ~(segment[Temp % 10]); PORTD.7 = ledDama; delay_us(500); //dama-------------------------------------- rtc_get_time (&hor, &min, &sec); rtc_get_date(&wday, &day, &month, &year); //Tarikh------------------------------------ //sal PORTB = 0x00; delay_us(300); PORTD = 3; PORTB = ~(segment[year / 10]); delay_us(500); PORTB = 0x00; delay_us(300); PORTD = 4; PORTB = ~(segment[year % 10]); delay_us(500); // mah PORTB = 0x00; delay_us(300); PORTD = 5; PORTB = ~(segment[month / 10]); delay_us(500); PORTB = 0x00; delay_us(300); PORTD = 6; PORTB = ~(segment[month % 10]); delay_us(500); //rooz PORTB = 0x00; delay_us(300); PORTD = 7; PORTB = ~(segment[day / 10]); delay_us(500); PORTB = 0x00; delay_us(200); PORTD = 8; delay_us(200); PORTB = ~(segment[day % 10]); delay_us(500); //rooze hafte PORTC = weekday[wday]; //Saat-------------------------------------- //second......................... PORTB = 0x00; delay_us(200); PORTD = 9; delay_us(200); PORTB = ~(segment[hor / 10]); delay_us(500); PORTB = 0x00; delay_us(200); PORTD = 10; delay_us(200); PORTB = ~(segment[hor % 10]); delay_us(500); //Minit......................... PORTB = 0x00; delay_us(200); PORTD = 11; delay_us(200); PORTB = ~(segment[min / 10]); delay_us(500); PORTB = 0x00; delay_us(200); PORTD = 12; delay_us(200); PORTB = ~(segment[min % 10]); delay_us(500); //Hours.......................... PORTB = 0x00; delay_us(200); PORTD = 13; delay_us(200); PORTB = ~(segment[sec / 10]); delay_us(500); PORTB = 0x00; delay_us(200); PORTD = 14; delay_us(200); PORTB = ~(segment[sec % 10]); delay_us(500);
دیدگاه