به نام خدا : حرکت اعداد در سون سگمنت مثل تابلو روان.
کد پروژه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
#include <mega16.h> #include <delay.h> ///////////////////////////////////////////////// unsigned char my_mobail_number[]={0xBF,0xEF,0xCF,0x87,0xDB,0xE6,0xCF,0x86,0xFD,0xFF,0xFD,0x00}; //09372431686 ///////////////////////////////////////////////// void main(void) { int i,j; DDRA=0XFF; DDRC=0XFF; PORTA=0X00; PORTC=0XFF; while (1) { for(i=0;i<=15;i++) { for(j=0;j<=300;j++) { if(i<=10) { int j1=i-1,j2=i-2,j3=i-3,j4=i-4,j5=i-5; if(i-1<0)j1=11; if(i-2<0)j2=11; if(i-3<0)j3=11; if(i-4<0)j4=11; if(i-5<0)j5=11; PORTC=0b11011111; PORTA=my_mobail_number[i]; delay_us(100); PORTC=0b11101111; PORTA=my_mobail_number[j1]; delay_us(100); PORTC=0b11110111; PORTA=my_mobail_number[j2]; delay_us(100); PORTC=0b11111011; PORTA=my_mobail_number[j3]; delay_us(100); PORTC=0b11111101; PORTA=my_mobail_number[j4]; delay_us(100); PORTC=0b11111110; PORTA=my_mobail_number[j5]; delay_us(100); } else if(i==11) { PORTC=0b11101111; PORTA=my_mobail_number[10]; delay_us(120); PORTC=0b11110111; PORTA=my_mobail_number[9]; delay_us(120); PORTC=0b11111011; PORTA=my_mobail_number[8]; delay_us(120); PORTC=0b11111101; PORTA=my_mobail_number[7]; delay_us(120); PORTC=0b11111110; PORTA=my_mobail_number[6]; delay_us(120); } else if(i==12) { PORTC=0b11110111; PORTA=my_mobail_number[10]; delay_us(150); PORTC=0b11111011; PORTA=my_mobail_number[9]; delay_us(150); PORTC=0b11111101; PORTA=my_mobail_number[8]; delay_us(150); PORTC=0b11111110; PORTA=my_mobail_number[7]; delay_us(150); } else if(i==13) { PORTC=0b11111011; PORTA=my_mobail_number[10]; delay_us(200); PORTC=0b11111101; PORTA=my_mobail_number[9]; delay_us(200); PORTC=0b11111110; PORTA=my_mobail_number[8]; delay_us(200); } else if(i==14) { PORTC=0b11111101; PORTA=my_mobail_number[10]; delay_us(300); PORTC=0b11111110; PORTA=my_mobail_number[9]; delay_us(300); } else if(i==15) { PORTC=0b11111110; PORTA=my_mobail_number[10]; delay_us(600); } } } }; } |
مهمان
سلام میشه حرکت 3 عدددلخواه در 3 تاسون سگمنت بگیدبه چه صورتیه؟کجاهابایدتتغییر کنه؟!!..
مهمان
اگر ممکنه توضیحات مربوط به خط هایی که از متغیر جی(j) استفاده شده رو میگید؟
مهمان
سلام میشه بفرمایید متعیر j چرا اضافه شده و اینکه وقتی این برنامه رو نوشتم قسمت های j2 یا j3 و اینا ارور دادن undefined symbol. میشه راهنمایی کنید
مهمان
سلام ممکنه یه توضیحی درمورد iوjبدید اینا چین وچه میکنند مصالبتونو خوندم چیزی دستگیرم نشد لطفا زود بهم جواب بدید این تکلیف دانشگاهمه ولی خب من خیلی بهش تسلط ندارم
مهمان
سلام
چه طوری شماره رو عوض کنم
مهمان
همین برنامه رو به زبان بیسیک ندارین
نویسنده این مطلب
نه
مهمان
اگر تعدااد 7سگمنت ها کمترباشه .مشکلی پیش میاد؟؟
نویسنده این مطلب
نه
نویسنده این مطلب
راستی اخوی دقت نکردی
درسته نوشتم که دادا
Delay_us(100) که درست هم نوشتم-تو بحث رفرش باید این جوری بنویسی و چند بار تکرارش کنی تا سون سگمنت چشمک نزنه.
دقت کن مهندس
مهمان
سلام مهندس
خیلی پایینه و باعث کم نور شدن سگمنتها میشه.
این تاخیرهایی که گذاشتی delay_us(100).
باید تاخیر بیشتر باشه.
دقت کن عزیز
نویسنده این مطلب
سلام آقاعلی
تو شبیه سازی اینا برام مهم نیست _ مدارش مهم نیست.
مهم اینه که برنامه به درستی اجرا بشه.
اگه هم توجه کنی تو هر پروژه ای مدارش یه چیزی کم داره، چون این کمبود ها تو پروتئوس مهم نیست.
ممنون از این توجه ریز بینانه شما