Google Translate
جهت دريافت رايگان تازه هاي سايت شماره مويايل خود را به همراه نام و نام خانوادگي به شماره 99009123812060 ارسال كنيد.
· موتور همو پلار در 10 ثانيه | [ 5 نظر - 15336 مشاهده ] |
· نصب برنامه در Slax | [ 9 نظر - 11691 مشاهده ] |
· ورود به محيط Slax | [ 16 نظر - 12130 مشاهده ] |
· خواندن فایلهای MMC و SD با فرمت FAT16 , FAT32 | [ 33 نظر - 25960 مشاهده ] |
· رله کنترل فاز Three Phase Monitor | [ 35 نظر - 30052 مشاهده ] |
تابلوروان: جاروب ستونيدر برنامه قبلی ما از روش جاروب سطری در برنامه نویسی تابلو روان استفاده کردیم. حال من تصمیم به توضیح روش جاروب ستونی در تابلو روان را دارم. و از همان مدار قبلی برای تست این روش استفاده میکنیم و فقط برنامه میکروکنترلر تغییر میکند. در جاروب ستونی ما ابتدا نخستین ستون را فعال میکنیم و سپس ستون دوم فعال میشود و این روال ادامه پیدا میکند تا به ستون آخر برسیم. اگر به مدار ماتریس LED دقت کنید میبینید که ما آند LED های هر ستون را به هم متصل نمودهایم، پس جهت فعال نمودن هر سطر باستی آنرا به سطح ولتاژ مثبت متصل کنیم، از طرفی بدلیل اینکه در ماتریس LED، کاتد LED های هر سطر به هم متصل هستند، جهت روشن نمودن هر LED سطر متناظر با آن LED بایستی به سطح ولتاژ صفر متصل گردد. از همین جا روشن میشود که در طراحی جدول گلایف بایستی بر خلاف برنامه قبلی به ازای نقاطی که میخواهیم LED در آنجا روشن باشد، بایستی عدد صفر را قرار دهیم. به تصویر زیر دقت کنید.
در تصویر فوق من نحوه طراحی جدول گلایف را برای جاروب ستونی در تابلو روان نشان دادهام، که باعث به نمایش در آمدن کاراکتر A در ماتریس LED تابلو روان خواهد شد. همانطور که مشاهده میکنید به ازای نقاط فعال ( نقاطی که LED در آنجا روشن خواهد بود ) من مقدار بیت متانظر با آنرا صفر در نظر گرفتم و بالعکس در نقاط غیر فعال بیت متناظر را صفر در نظر گرفتهام. از طرفی اگر به یاد داشته باشد در برنامه قبلی تعداد بایت های مورد نیاز جهت نمایش کاراکتر A، هفت بایت بود ولی در اینجا ما فقط با استفاده از پنج بایت توانستیم همین کار را انجام دهیم!!! جهت تبدیل متن به کدهای هگز گلایف جهت استفاده در تابلوروان میتوانید از برنامه زیر استفاده کنید: http://www.hlachini.com/text2hex.wiz
من در اینجا صرفا بخش هایی از برنامه را بررسی میکنم که با برنامه قبلی تفاوت کرده است.
Dim Col As Byte در این دو دستور من دو متغییر از نوع بایت تعریف کردم. متغییر Col جهت شمارش ستونها و متغییر Scan جهت تهیه سیگنال جاروب در ستونها استفاده میشود. بعد از موارد فوق در برنامه، به حلقه اصلی برنامه میرسیم. جهت ساخت این حلقه از دستور Do-Loop استفاده شده و بدلیل عدم ذکر هیچگونه شرطی در این دستور، دستورات موجود در بدنه این حلقه به تعداد بینهایت بار اجرا میگردند.
Scan = &B00000001 در ابتدای حلقه Do-Loop متغییر Scan، مقدار دهی اولیه میشود تا سیگنال مورد نیاز جهت فعال نمودن سطر نخست تولید گردد. با توجه به ساختار ماتریس LED مورد استفاده در این تابلو روان ( اتصال آند LED های موجود در یک ستون به یکدیگر ) جهت فعال سازی یک ستون باید پین مربوط به آن ستون در میکرو یک شود و سایر پین های مربوط به دیگر ستونها، صفر شوند. همانطور نیز که مشاهده کردید در دستور فوق نیز بیت نخست متغییر Scan نیز یک شده که مربوط به ستون اول ماتریس است و سایر بیتها نیز صفر شدهاند. در نتیجه فقط ستون اول فعال خواهد شد و سایر ستونها غیر فعال هستند. در ادامه برنامه به حلقه For-Next میرسیم. متغییر Col در این حلقه با صفر مقدار دهی اولیه میشود و اجرای دستورات حلقه تا رسیدن این متغییر به عدد 4 تعریف شده. لذا تعداد دفعات اجرای دستورات درون حلقه 5 بار خواهد بود. در واقع ما در درون این حلقه یک بار کامل کل ستونهای ماتریس را که پنج عدد میباشد جاروب میکنیم.
For Col = 0 To 4 در اولین دستور در حلقه For-Next مقدار متغییر Scan در پورت D میکروکنترلر قرار میگیرد. تا ستون مورد نظر در ماتریس فعال شود. در دستور بعدی متغییر Scan به اندازه یک بیت به سمت چپ شیفت چرخشی داده میشود. با این شیفت بیت 1 موجود در این متغییر به سمت چپ منتقل شده و جای آنرا یک بیت صفر پر میکند. بعنوان مثال در نخستین بار اجرای این دستور متغییر Scan از مقدار 00000001 به مقدار 00000010 تغییر میکند و در شیفت بعدی به 00000100 تا اینکه بعد از پنجمین شیفت بصورت 00010000 در میآید. که در پنجمین مرحله در واقع بیت پنجم، یک شده است که باعث فعال گشتن ستون پنجم ماتریس خواهد شد. در این برنامه من قصد نمایش حرف A را داشتم، لذا جدولی با نام Gelayof در برنامه تعریف کردم .همانطور نیز که در زیر مشاهده میکنید، جهت ذخیره اطلاعات مربوط به حرف A من از پنج بایت استفاده نمودم و اطلاعات مربوط به هر ستون را در یک بایت قرار دادهام. از طرفی چون در این مدار ارتفاع ماتریس LED، هفت است فقط از هفت بیت اول هر بایت استفاده شده و بیت با ارزش آن یک شده. شما بنابر نیاز خود میتوانید با تغییر دادن وضعیت بیتها به نمایش هر شکل و یا کاراکتری بپردازید. Gelayof:
حال اطلاعات این جدول مرحله به مرحله و ستون به ستون خوانده شده و در پورت B قرار میگیرد.این عمل توسط دستور Lookup در برنامه صورت میگیرد. در این دستور بایت مورد نظر ( اطلاعات ستون مورد نظر ) توسط متغییر Col تعیین میشود. بعد از قرار دادن اطلاعات مربوط هر ستون در پورت B به اندازه 20 میکرو ثانیه این اطلاعات در پورت نگاه داشته میشود تا LED های موجود در آن ستون روشن بمانند و اثر آن در چشم بیننده باقی بماند. سپس تمامی پینهای پورت B یک میشود تا LED های این ستون خاموش شوند و اعمال فوق مجددا جهت ستون بعدی تکرار میگردد. بعد از هر بار جاروب کامل تمامی ستونها، کنترل برنامه از حلقه For-Next خارج شده و مجددا متغییر Scan مقدار دهی اولیه شده تا برای جاروب مجدد آماده گردد. بله به همین سادگی شما یک نمونه ساده از تابلو روان را با روش جاروب ستونی ساختید! متن کامل برنامه را بصورت یکجا در زیر آورده شده است. '********************************************* جهت دانلود فایل برنامه به همراه نقشه اینجا کلیک کنید. کلمات کليدي : ارسال شده در مورخه : يكشنبه، 3 شهريور ماه ، 1387 توسط admin
مرتبط با موضوع : مثال تابلو 16 در 128 با مبدل آنلاین [پنجشنبه، 11 شهريور ماه ، 1389]تابلو روان و اندازه گیری دما با SMT160 [چهارشنبه، 3 شهريور ماه ، 1389] انیمیشن در تابلوروان توسط 74HC595 [پنجشنبه، 7 مرداد ماه ، 1389] تابلوروان با میکرو 8051 [سه شنبه، 5 مرداد ماه ، 1389] نرم افزار آنلاین تبدیل متن به کد هگز [چهارشنبه، 17 تير ماه ، 1388] برنامه نویسی اولین تابلوروان [يكشنبه، 3 شهريور ماه ، 1387] بررسی اولین مدار عملی تابلو روان [يكشنبه، 3 شهريور ماه ، 1387] جدول گلایف [يكشنبه، 3 شهريور ماه ، 1387] جاروب یک در میان [يكشنبه، 3 شهريور ماه ، 1387] اثر فلیکر [يكشنبه، 3 شهريور ماه ، 1387]
[ ارسال جوابیه ] |
امتیاز دهی به مطلب
تعداد آراء: 10 انتخاب ها
|