|
تبدیل LED به سون سگمنت
|
|
ارسال: #1
|
|||
|
|||
|
با سلام مخزنی دارم که وقتی پُره ، روی پنل فرمان 4 تا LED سبز روشن میشه و طبیعتاً با کم شدن مایع داخل مخزن چراغها یکی یکی خاموش میشن البته یه چراغ قرمز هم داره که با خاموش شدن 4 تا چراغ سبز ، روشن میشه. حالا بدون در نظر گرفتن چراغ قرمز مداری میخوام که برای ورودی سیم 4تا چراغ سبز رو بهش بدم و این پر یا خالی بودن مخزن رو با اعداد 0 - 1 - 2 - 3 و 4 روی سون سگمنت ببینم. یعنی بجای روشن بودن 4 تا چراغ ، بنویسه 4 و با خاموش شدن هر چراغ یکی کم کنه به عبارتی 4 - 3 - 2 - 1 وبا خاموش شدن آخرین چراغ سبز عدد 0 رو نشون بده. از چراغ قرمز هم به عنوان آلارم تخلیه مخزن استفاده میکنم. حالا تو این سایت کسی هست مشکل بنده رو حل کنه ؟ " با آرزوی پیروزی برای همـۀ خوبان " |
|||
|
|
ارسال: #2
|
|||
|
|||
|
RE: تبدیل LED به سون سگمنت
با سلام و خوش آمد گویی به شما کاربر گرامی مشکل شما به طور کامل بررسی شد.پروژه با شبیه سازی و سورس کدویژن به صورت کامل آمده دانلود است و حتی در صورتی که از Atemga 16 استفاده کنید، نیاز به ویرایش سورس هم نیست.[/font]روش عملکرد هم به این صورت است که آی سی به یک سون سگمنت آند مشترک متصل شده است. اعداد سون سگمن با توجه به صفر و یک شدن پورت ایجاد می شود. برای این کار اعداد به صورت یک آرایه تعریف شده اند:
کد: unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; if (PINA==0) PORTC=seg[0]; // halate sefr ke hame led ha khamooshan if (PINA==1) // halate 1 ke led aval roshane PORTC=seg[1]; if (PINA==3) // halate 2 ke led aval va dovom roshane PORTC=seg[2]; if (PINA==7) // halate 3 ke led aval va dovom va sevom roshane PORTC=seg[3]; if (PINA==15) // halate 4 ke 4 ta led roshan hastan PORTC=seg[4]; [font=tahoma]در این سورس به این صورت عمل شده که با عدم روشن بودن led ها صفر نشان داده شود.اگر led اول روشن شود 1 نشان داده شوداگر led اول و دوم روشن شود، 2 نشان داده شود.اگر led اول و دوم و سوم روشن شود 3 نشان داده شود.و....واما در شبیه سازی، کلیدها به جای LED شما قرار می گیرهشما باید پایه مثبت LED ها رو به آی سی وصل کنید و زمین مداری که می خواهید به آی سی وصل شود را به این مدار مشترک کنید.دقت کنید در صورتی که ولتاژ LED ها از سطح فعال سازی AVR پایین تر است، از ATMEGA سری A استفاده کنید تا با سطح ولتاژ کمتر هم درایو شود.نکته مهم دیگر، استفاده از مقاومت های 10 کیلو هست که در شبیه سازی قابل مشاهده هستند. این مقاومت ها برای زمانی که مقادیر LED ها صفر است(خاموش اند) مورد نیاز هست و آنها را حتما به همان شکل استفاده کنید.شما حتما دقت کنید فقط تنها کاری که باید انجام بدید، قرار دادن LED ها به جای کلید هاست و دقت کردن در اینکه مثبت LED ها به آی سی متصل شوند.توجهشبیه سازی در پروتئوس 7.7 انجام شده و احتمال داره با نسخه پایین تر مشکل پیدا کنهبرنامه نویسی با کدویژن AVR ورژن 2.05 انجام شده فایل ها در پیوست قابل دانلود هستند |
|||
|
|
ارسال: #3
|
|||
|
|||
|
RE: تبدیل LED به سون سگمنت
میشه در مورد این قسمت از کد که نوشتید توضیح بدید؟
ممنون... unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
|
|||
|
ارسال: #4
|
|||
|
|||
|
RE: تبدیل LED به سون سگمنت
دوست من اين كد داره اعداد رو ايجاد ميكنه
به اين صورت كه به ازاي صفر و يك شدن پورت هاي آي سي، اعداد ساخته ميشوند. ما حقيقت داريم اين صفر و يك ها رو به صورت آماده در اختيار شما قرار ميديم. شما با يك آرايه كه همين كدي هست كه اشاره داشتيد، به اين حالت هاي پورت دسترسي پيدا كرده ايد. انديس هاي آرايه، دارند اعداد رو تشكيل مي دهند كه معادل هگز اون ميتونه پورت ها رو صفر و يك كنه مثلا براي ساختن عدد 8، كد هگز 0x80 به پورت c داده شده. حالا اين كد مياد و با توجه به مقداري كه داره، پايه هاي آي سي رو صفر و يك ميكنه چون اينجا مقدار اين هگز 128 مي شود، در حقيقت پورت c با عدد 128 معادل مي شود. كه بايد ببنيد كدام يك از پايه هاي آي سي از پورت سي صفر و يك مي شوند. باز هم مشكلي بود مطرح بفرماييد. موفق باشيد ![]() |
|||
|
ارسال: #5
|
|||
|
|||
RE: تبدیل LED به سون سگمنت
(03-27-2011 05:00 AM)admin نوشته شده توسط: دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید. خیلی خیلی ممنون از توضیحتون... |
|||
|
|
ارسال: #6
|
|||
|
|||
|
RE: نمایش عدد منفی در سون سگمنت
سلام من درابط با ic7483جمع کنند وتفریق کننده ونشان دادن عدد منفی روی سونسگمنت اطلاعات می خواستم اگه می شه برام ایمیلش کننید
|
|||
جستجو
تقویم
راهنما




