به نام خدا : نمایش عدد در ۷s با مقدار دهی باینری – توضیح برنامه : این پروژه یه کلید ۸ تایی داره؛ اگه کسی با اعداد باینری آشنایی داره میفهمه این پروژه چطور کار میکنه؛ کلید اول ، بیت اول-کلید دوم ، بیت دوم و …
نمایش عدد در ۷s با مقدار دهی باینری
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 |
#include <mega16.h> #include <delay.h> unsigned char cathode_seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char seg1 , seg2 , seg3 , number ; void hex_to_seg(char); void main(void) { DDRA=0X00; DDRC=0XFF; DDRD=0XFF; while (1) { number=PINA; hex_to_seg(number); PORTD=0b00000110; PORTC=seg3; delay_ms(3); PORTD=0b00000101; PORTC=seg2; delay_ms(3); PORTD=0b00000011; PORTC=seg1; delay_ms(3); }; } void hex_to_seg(char A) { seg1=cathode_seg[A%10]; seg2=cathode_seg[(A/10)%10]; seg3=cathode_seg[A/100]; } |
دانلود پروژه نمایش عدد در ۷s با مقدار دهی باینری
راسش رو بخواید حس توضیح دادن ندارم؛ هر چی فکر میکنم چیز خاصی نداره ! ولی کسی جاییش رو متوجه نشد در خدمتیم.
مهمان
سلام و خسته نباشید ببخشید کار respack 8 اینجا چیه؟
نویسنده این مطلب
سلام
همچین چیزی تو کد پروژه نی
respack
مهمان
ممنون برا این پروژه
و اما سوال
اینکه خط ۴ کد ویژن جلو کاتد سگمنت،۱ کاراکتر معلوم نیست
اون چیه؟
پیشاپیش ممنون از جوابتون
یا علی
نویسنده این مطلب
متوجه سوالتون نشدم – اعداد ۰ تا ۹ که میخوایم نمایش بدیم رو کدشون رو نوشتم دیگه –
مهمان
سلام من فقط کد ویژنشو میخام همین
نویسنده این مطلب
سلام
پروژه انجام نمیشود.
مهمان
سلام جواب منو ندادین
مهمان
سلام من ی پست گذاشتم ولی الان نیست
نویسنده این مطلب
سلام
جواب دادم – بگردی پیدا میکنی
مهمان
سلام ریئس ممنون بابت سایت خوبت من میخام با دوتا سگمنت دوتایی را به دو تا پورت جدا وصل کنم که هرکدوم شماره های جداگونه داشته باشه مثلا ی سگمنت از عدد 25 شروع کنه یه سگمنت از عدد 15 .
نویسنده این مطلب
سلام
رئیس که خداس
خب میخوای اینو برات انجام بدم؟
مهمان
بسیار ممنونم
خیلی لطف کردید
خیلی خیلی فلطف کردید
مهمان
ممنون دادا
اقا من اومدم یه دستور اضافه کردم که اگر فلان پایه یک شد مقدار پین a رو در 8 ضرب کنه خلاصه که جواب داد فکر کنم اینجوری هم راحت تره
گفتم بنویسم شاید بدر کسی بخوره
ممنون
نویسنده این مطلب
دم شما هم گرم …. که به فکر دوستات هستی
مهمان
سلام برادر یه نکته ای برام پیش اومده در این مورد الان همین برنامه ای که شما نوشتید خب طبعتا تا 255 بیشتر نمیره اگر بخوایم مثلا 1024 رو روی پین A پیاده کنیم چه حرکتی میتونیم بزنیم ؟ راهی داره داره یا بایداز پورت دیگه هم استفاده کنیم ؟یه راهنمایی میکنید ؟ به همین روش البته از طریق ذیپ سوییچ
ممنون
نویسنده این مطلب
سلام
۲۵۶ (چون شمارش از ۰ شروع میشه میگن ۲۵۵) یعنی ۸ بیت و ۱۰۲۴ میشه ۱۰ بیت
یعنی شما علاوه بر پایه های A باس ۲ تا پایه از پورت دیگه ای استفاده کنید.
تو کد زیر
hex_to_seg(number);
که number حاوی مقدار PINA هستش……تو حالت ۱۰۲۴(۱۰ بیتی)…میای علاوه بر PINA از PINB(مثلا—۲ تا پایه اش) هم استفاده میکنی و دیپ سوییچ رو بهشون وصل میکنی و
میای و ۲ تا پورت رو مقدارشون رو تو یه چیز ذخیره میکنی و به هم متصل میکنی و تا ۱۰ بیت جداش میکنی و ادامه کار….