میخوام به جای ثانیه شمار 60تا led بذارم به صورت دایره ای که دور اول یکی یکی روشن بشن و دور دوم یکی یکی خاموش بشن باید چیکار کنم 60تارو چجوری ببندم ماتریسیه :sad:
برای بالا بردن تعداد خروجی ها میتونی دیکودر ها رو به صورت پشت سر هم ببندی .
مهم نیست که چه اندیشه ای در سر و چه ترسی در دل دارید؛ مهم آن است که بیکار ننشینید و دست به کاری بزنید و وارد میدان عمل بشوید.
نمی توانید به کودکی بیاموزید که از خود مواظبت کند، مگر آنکه او را آزاد بگذارید تا برای مواظبت از خود بکوشد؛ ممکن است اشتباه کند، ولی دانایی او از میان همین اشتباهات سرچشمه می گیرد.
ولی با 4017نمیتونم این کاری رو که میخوام بکنم چون میتونم فقط یه led روشن رو دور تا دور بچرخونم ولی میخوام اول تمام شون یکی یکی روشن و بعد از اینکه یه دور کامل تمامشون روشن شد یکی یکی خاموش بشن ضمنا اگه به صورت ماتریسی ببندم فکر کنم نهایتا یکی و نصفی پورت لازم داشته باشه ولی با 4017به 6عدد نباز دارم ضمنا حجم مدار هم خیلی زیاد و مدار پیچیده میشه اگه ماتریسی ببندم از هر نظر بصرفه تره ولی بلد نیستم این کارو با ماتریس انجام بدم میتونین راهنمایی کنین
:redface:
ولی به نظر من ماتریسی بستن LED ها آخرین راهه! و قبل از آخرین راه همیشه حداقل یک یا چندتا راه دیگه هم هست!
فراموش نکن که ماتریسی بستن مشکلات خاص خودش رو داره. مثلا نمیتونی به همه LED ها در یک لحظه دسترسی داشته باشی ، برنامه نویسیش خیلی سخت میشه و .... !
شما با آی سی های لچ خیلی راحت میتونی 60 تا LED رو کنترل کنی. فکر کنم 74573 واسه شما خوب باشه.
برای این کار بهترین گزبنه شیفت رجیستر هست اونم ترجیحا74hc595
کلا میتونید با 2 یا 3 یا 4 پایه این کار رو بکنید
پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری
اخه کار با لچا رو بلد نیستم میتونین یه کمکی بهم بکنین ممنون میشم لااقل چند خطشو بدین که کلیاتش دستم بیاد بقیشو خودم میرم :icon_razz:
این لچ ها دارای دوپایه واسه کنترل و 8 پایه واسه دیتا هستن . اون 8تا پایه رو که باید وصل کنی به یه پورت از میکرو . اون دوتا پین کنترل هم یکی اسمش LE هست و یکی دیگه هم OE . پین OE که باید زمین بشه . پین LE هم به یکی از پین های میکرو وصل میشه . نحوه کارکردش هم اینطوریه که : اطلاعات (که همون 0 و 1 واسه روشن و خاموش شدن LED ها باشه ) توسط میکرو به ورودی این ای سی اعمال میشه . اگه حالا پین LE رو 1 کنی این اطلاعات به خروجی میرن . بعد اگه همین پین LE رو 0 کنی ، اطلاعات خروجی لچ (قفل) میشن . به این معنی که با تغییرات ورودی ، خروجی تغییری نمیکنه . پس هر وقت خواستی ورودی به خروجی بره باید LE رو 1 کنی و در غیر اینصورت باید این پین رو 0 کنی . همین .
خوب یعنی من اگه عدد یک رو رو این پورت بریزم برای اینکه این یک هشت تا خروجی رو طی کنه باید 8بار این el رو با فاصله زمانی خاصی 0 و 1 کنم درست ه که البته زمانشم نمیدونم :redface: ولی فکر کنم باید چند بار و هر بارحدود چند میلی ثانیه این کارو بکنم درسته مثلا 10 دفعه با فاصله زمانی 50میکروثانیه و بعد عدد دوم و الی اخر ...درسته همین زماناس یا نه :biggrin:
مثال زیر رو یه نگاه بنداز . اینطور بهتر متوجه میشی . البته با pic نوشتم . فرقی نداره ، راحت میتونی واسه avr بنویسیش . چون وقت نداشتم برنامش بهینه نیست . میتونی بهتر بنویسیش . با این روش با یه atmega8 میتونی 120 تا led رو کنترل کنی .
برنامش چیزه خاصی نیست . خیلی راحت میشه به بیسیک برش گردوند . شما به صورت یه راهنما بهش نگاه کنید . توسط اون برنامه میتونید روش کارکردن با 74573 رو یاد بگیرید . نحوه نوشتنش مهم نیست .
دیدگاه