با سلام خدمت دوستان
من با با استفاده از atmgea16 و شش عدد 7seg (که با کدهای bcd راه اندازی شدن) یک ساعت درست کردم. ثانیه رو با دستور delay_ms(1000) تولید کردم(تکلیفم همینطور بود) حالا مشکل من اینه که میخوام 4عدد کلید شاسی رو به مدار اضافه کنم برای کم و زیاد کردن مقدار دقیقه و ساعت. کسی میتونه بگه چجوری این کار امکان پذیره؟؟ الگوریتمش چجوریه؟
با زبان C کار میکنم و کامپایلر codevision . اینجا شماتیک مدار و کد رو میزارم. کد من بدونم در نظز گرفتن کلید هستش حالا میخوام اگه بشه بهش کلید هم اضافه کنم..
با تشکر

من با با استفاده از atmgea16 و شش عدد 7seg (که با کدهای bcd راه اندازی شدن) یک ساعت درست کردم. ثانیه رو با دستور delay_ms(1000) تولید کردم(تکلیفم همینطور بود) حالا مشکل من اینه که میخوام 4عدد کلید شاسی رو به مدار اضافه کنم برای کم و زیاد کردن مقدار دقیقه و ساعت. کسی میتونه بگه چجوری این کار امکان پذیره؟؟ الگوریتمش چجوریه؟
با زبان C کار میکنم و کامپایلر codevision . اینجا شماتیک مدار و کد رو میزارم. کد من بدونم در نظز گرفتن کلید هستش حالا میخوام اگه بشه بهش کلید هم اضافه کنم..
با تشکر

کد:
#include <mega16.h>
#include <delay.h>
unsigned int h,h1,m,m1,s,s1;
void main()
{
DDRA=0xff;
DDRC=0xff;
DDRD=0xff;
while(1)
{
for(h=0;h<=5;h++)
{PORTA=h<<4;
for(h1=0;h1<=9;h1++)
{
if(h==2 && h1==4) goto S1;
PORTA=(h<<4)|h1;
for(m=0;m<=5;m++)
{PORTD=m<<4;
for(m1=0;m1<=9;m1++)
{PORTD=(m<<4)|m1;
for(s=0;s<=5;s++)
{PORTC=s<<4;
for(s1=0;s1<=9;s1++)
{PORTC=(s<<4)|s1;
delay_ms(1000);
}
}
}
}
}
} S1:
}
}






دیدگاه