با سلام خدمت دوستان
من با با استفاده از 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: } }
دیدگاه