Google Translate
جهت دريافت رايگان تازه هاي سايت شماره مويايل خود را به همراه نام و نام خانوادگي به شماره 99009123812060 ارسال كنيد.
· موتور همو پلار در 10 ثانيه | [ 5 نظر - 15322 مشاهده ] |
· نصب برنامه در Slax | [ 9 نظر - 11677 مشاهده ] |
· ورود به محيط Slax | [ 16 نظر - 12113 مشاهده ] |
· خواندن فایلهای MMC و SD با فرمت FAT16 , FAT32 | [ 33 نظر - 25947 مشاهده ] |
· رله کنترل فاز Three Phase Monitor | [ 35 نظر - 30039 مشاهده ] |
تابلوروان: برنامه نویسی اولین تابلوروانحال نوبت به توضیح برنامه هست. من برنامه این میکرو را به زبان بیسیک نوشتم و از نرم افزار BASCOM-AVR استفاده کردم. $regfile = "m8def.dat" همانطور که میدانید، دستوراتی که با علامت "$" در BASCOM آغاز میشوند، جزو دستورات کمپایلر به حساب میآیند. و در زمان کمپایل کدی را تولید نمیکنند. دو دستور فوق نیز همینگونه هستند. در دستور اول نوع میکرو برای کمپایلر تعریف میشود که در اینجا ATmega8 میباشد و در دستور بعدی فرکانس کریستال بر حسب هرتز مشخص میشود.در این برنامه مقدار فرکانس تعریفی هشت مگاهرتز است. توجه داشته باشید که من در مدار تابلو روان خود، از کریستال خارجی استفاده نکردم. لذا این دستور تعیین کننده فرکانس اسیلاتور داخلی میکروکنترلر میباشد. Config Portb = Output در دو دستور فوق پورت های B,D بعنوان خروجی پیکربندی گشتهاند. من در این مدار تابلو روان از پورت B برای راه اندازی و کنترل سطرها و از پورت D جهت راهاندازی ستونها استفاده کردهام.
Dim Row As Byte در این دو دستور من دو متغییر از نوع بایت تعریف کردم. متغییر Row جهت شمارش سطرها و متغییر Scan جهت تهیه سیگنال جاروب در سطرها استفاده میشود.
بعد از موارد فوق در برنامه، به حلقه اصلی برنامه میرسیم. جهت ساخت این حلقه از دستور Do-Loop استفاده شده و بدلیل عدم ذکر هیچگونه شرطی در این دستور، دستورات موجود در بدنه این حلقه به تعداد بینهایت بار اجرا میگردند.
Scan = &B11111110 در ابتدای حلقه Do-Loop متغییر Scan، مقدار دهی اولیه میشود تا سیگنال مورد نیاز جهت فعال نمودن سطر نخست تولید گردد. با توجه به ساختار ماتریس LED مورد استفاده در این تابلو روان ( اتصال کاتد LED های موجود در یک سطر به یکدیگر ) جهت فعال سازی یک سطر باید پین مربوط به آن سطر در میکرو صفر شود و سایر پین های مربوط به دیگر سطرها، یک شوند. همانطور نیز که مشاهده کردید در دستور فوق نیز بیت نخست متغییر Scan نیز صفر شده که مربوط به سطر اول ماتریس است و سایر بیتها نیز یک شدهاند. در نتیجه فقط سطر اول فعال خواهد شد و سایر سطرها غیر فعال هستند.
در ادامه برنامه به حلقه For-Next میرسیم. متغییر Row در این حلقه با صفر مقدار دهی اولیه میشود و اجرای دستورات حلقه تا رسیدن این متغییر به عدد 6 تعریف شده. لذا تعداد دفعات اجرای دستورات درون حلقه 7 بار خواهد بود. درواقع ما در درون این حلقه یک بار کامل کل سطرهای ماتریس را که هفت عدد میباشد جاروب میکنیم.
For Row = 0 To 6 در اولین دستور در حلقه For-Next مقدار متغییر Scan در پورت B میکروکنترلر قرار میگیرد. تا سطر مورد نظر در ماتریس فعال شود. در دستور بعدی متغییر Scan به اندازه یک بیت به سمت چپ شیفت چرخشی داده میشود. با این شیفت صفر موجود در این متغییر به سمت چپ منتقل شده و جای آنرا یک بیت یک پر میکند. بعنوان مثال در نخستین بار اجرای این دستور متغییر Scan از مقدار 11111110 به مقدار 11111101 تغییر میکند و در شیفت بعدی به 11111011 تا اینکه بعد از هفتمین شیفت بصورت 10111111 در میآید. که در هفتمین مرحله در واقع بیت هفتم، صفر شده است که باعث فعال گشتن سطر هفتم ماتریس خواهد شد. در این برنامه من قصد نمایش حرف A را داشتم، لذا جدولی با نام Gelayof در برنامه تعریف کردم .همانطور نیز که در زیر مشاهده میکنید، جهت ذخیره اطلاعات مربوط به حرف A من از هفت بایت استفاده نمودم و اطلاعات مربوط به هر سطر را در یک بایت قرار دادهام. از طرفی چون در این مدار پهنای ماتریس LED، پنج است فقط از پنج بیت اول هر بایت استفاده شده و سه بیت با ارزش آن صفر شدهاند. شما بنابر نیاز خود میتوانید با تغییر دادن وضعیت بیتها به نمایش هر شکل و یا کاراکتری بپردازید. Gelayof:
حال اطلاعات این جدول مرحله به مرحله و سطر به سطر خوانده شده و در پورت D قرار میگیرد.این عمل توسط دستور Lookup در برنامه صورت میگیرد. در این دستور بایت مورد نظر ( اطلاعات سطر مورد نظر ) توسط متغییر Row تعیین میشود. بعد از قرار دادن اطلاعات مربوط هر سطر در پورت D به اندازه 20 میکرو ثانیه این اطلاعات در پورت نگاه داشته میشود تا LED های موجود در آن سطر روشن بمانند و اثر آن در چشم بیننده باقی بماند. سپس پورت D صفر میشود و اعمال فوق مجددا جهت سطر بعدی تکرار میگردد. بعد از هر بار جاروب کامل تمامی سطرها، کنترل برنامه از حلقه 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]
[ ارسال جوابیه ]
[ ارسال جوابیه ]
[ ارسال جوابیه ]
[ ارسال جوابیه ] |
امتیاز دهی به مطلب
تعداد آراء: 18 انتخاب ها
|