سلام راه اندازی ساعت با lcd راحت می باشد ولی با سون سگمنت دغدغه های خاص خود مانند نیاز به 4051, چیز های دیگر حال قصد من از زدن تایپک عملیاتی کردن ساعت با سون سگمنت کاتد مشترک و atmega88pa هست شماتیک که درست هست من میزارم کد رو هم میزارم هر کی در توانش هست کد رو اصلاح کنه همه استفاده کنند:
اصلاح کردن کد تغییر زیادی در حال من نمیکنه ولی برای تازه واردها جالب میتونه باشه چون من با ال سی دی هم ساعت هم دماسنج راه اندازی میکنم
عکس مدار http://s9.picofile.com/file/83229951...15_pdsprj.html
#include <mega88Pa.h>
#include <delay.h>
#include <stdio.h>
unsigned char cathode_seg[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6 F};
char second=0, minute=12 , hour=05 ;
void main(void)
{
while (1)
{
second++;
delay_ms(50);
if(second==60) { second=0; minute++; }
if(minute==60) { minute=0; hour++; }
if(second==60) { hour=24; hour=0; }
DDRB.0=1;
while(1)
{
PORTD.0=1; minute++;
delay_ms(5);
PORTD.1=1; hour++;
delay_ms(5);
}
}
}
اصلاح کردن کد تغییر زیادی در حال من نمیکنه ولی برای تازه واردها جالب میتونه باشه چون من با ال سی دی هم ساعت هم دماسنج راه اندازی میکنم
عکس مدار http://s9.picofile.com/file/83229951...15_pdsprj.html
#include <mega88Pa.h>
#include <delay.h>
#include <stdio.h>
unsigned char cathode_seg[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6 F};
char second=0, minute=12 , hour=05 ;
void main(void)
{
while (1)
{
second++;
delay_ms(50);
if(second==60) { second=0; minute++; }
if(minute==60) { minute=0; hour++; }
if(second==60) { hour=24; hour=0; }
DDRB.0=1;
while(1)
{
PORTD.0=1; minute++;
delay_ms(5);
PORTD.1=1; hour++;
delay_ms(5);
}
}
}