خوش آمديد!
21:22 سه شنبه 4 ارديبهشت ماه ، 1403
تغییر آدرس سایت
اطلاعیه مهم آدرس سایت از HLachini.com به آدرس HLachini.elewiz.com تغییر پیدا کرده است.
حتما لینکهای صفحات خود را به آدرس جدید تغییر دهید.
همچنین سایت جدیدی نیز بزودی به آدرس EleWiz.com راه اندازی خواهد شد.

مترجم گوگل

Google Translate

فروشگاه

نرم افزار


نرم افزار LTG
نرم افزار تولید کننده سورس بسکام تابلوروان 16 در 64
تعداد:


GIF Code Wizard
تبديل انيميشن به كد تابلوروان
تعداد:


مدارات آماده


ماژول Wav Player
Mono/Stereo 8khz-48Khz
تعداد:


پروگرامر هوشمندUSB برای AVR
پروگرامر AVR با قابلیت درج تمامی میکروکنترولرها از پین یک زیف سوکت و تامین کلاک جهت پوشش تمامی حالات فیوزبیت CKSEL
تعداد: 50


ليست محصولات
SMS خبرنامه

SMS

جهت دريافت رايگان تازه هاي سايت شماره مويايل خود را به همراه نام و نام خانوادگي به شماره 99009123812060  ارسال كنيد.

عضویت در خبرنامه

ایمیل - Email



تازه های سایت
· موتور همو پلار در 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"
$crystal = 8000000

همانطور که میدانید، دستوراتی که با علامت "$" در BASCOM آغاز میشوند، جزو دستورات کمپایلر به حساب می‌آیند. و در زمان کمپایل کدی را تولید نمیکنند. دو دستور فوق نیز همینگونه هستند. در دستور اول نوع میکرو برای کمپایلر تعریف میشود که در اینجا ATmega8 میباشد و در دستور بعدی فرکانس کریستال بر حسب هرتز مشخص میشود.در این برنامه مقدار فرکانس تعریفی هشت مگاهرتز است. توجه داشته باشید که من در مدار تابلو روان خود، از کریستال خارجی استفاده نکردم. لذا این دستور تعیین کننده فرکانس اسیلاتور داخلی میکروکنترلر میباشد.



Config Portb = Output
Config Portd = Output

در دو دستور فوق پورت های B,D بعنوان خروجی پیکربندی گشته‌اند. من در این مدار تابلو روان از پورت B برای راه اندازی و کنترل سطرها و از پورت D جهت راه‌اندازی ستون‌ها استفاده کرده‌ام.

 

Dim Row As Byte
Dim Scan As Byte

در این دو دستور من دو متغییر از نوع بایت تعریف کردم. متغییر  Row  جهت شمارش سطرها و متغییر Scan  جهت تهیه سیگنال جاروب در سطرها استفاده میشود.

 

بعد از موارد فوق  در برنامه، به حلقه اصلی برنامه میرسیم. جهت ساخت این حلقه از دستور Do-Loop استفاده شده و بدلیل عدم ذکر هیچگونه شرطی در این دستور، دستورات موجود در بدنه این حلقه به تعداد بینهایت بار اجرا میگردند.

 

Scan = &B11111110

در ابتدای حلقه  Do-Loop متغییر Scan، مقدار دهی اولیه میشود تا سیگنال مورد نیاز جهت فعال نمودن سطر نخست تولید گردد. با توجه به ساختار ماتریس LED مورد استفاده در این تابلو روان ( اتصال کاتد LED های موجود در یک سطر به یکدیگر ) جهت فعال سازی یک سطر باید پین مربوط به آن سطر در میکرو صفر شود و سایر پین های مربوط به دیگر سطرها، یک شوند. همانطور نیز که مشاهده کردید در دستور فوق نیز بیت نخست متغییر Scan نیز صفر شده که مربوط به سطر اول ماتریس است و سایر بیت‌ها نیز یک شده‌اند. در نتیجه فقط سطر اول فعال خواهد شد و سایر سطرها غیر فعال هستند.

 

در ادامه برنامه به حلقه For-Next میرسیم. متغییر  Row در این حلقه با  صفر مقدار دهی اولیه میشود و اجرای دستورات حلقه تا رسیدن  این متغییر به عدد 6 تعریف شده. لذا تعداد دفعات اجرای دستورات درون حلقه 7 بار خواهد بود. درواقع ما در درون این حلقه یک بار کامل کل سطرهای ماتریس را که هفت عدد میباشد جاروب میکنیم.

 

    For Row = 0 To 6
        Portb = Scan
        Rotate Scan , Left
        Portd = Lookup(row , Gelayof)
        Waitus 20
        Portd = 0
    Next Row

در اولین دستور در حلقه For-Next  مقدار متغییر Scan در پورت B میکروکنترلر قرار میگیرد. تا سطر مورد نظر در ماتریس فعال شود. در دستور بعدی متغییر  Scan به اندازه یک بیت به سمت چپ شیفت چرخشی داده میشود. با این شیفت صفر موجود در این متغییر به سمت چپ منتقل شده و جای آنرا یک بیت یک پر میکند. بعنوان مثال در نخستین بار اجرای این دستور متغییر Scan از مقدار 11111110 به مقدار 11111101 تغییر میکند و در شیفت بعدی به 11111011 تا اینکه بعد از هفتمین شیفت بصورت 10111111 در می‌آید. که در هفتمین مرحله در واقع بیت هفتم، صفر شده است که باعث فعال گشتن سطر هفتم ماتریس خواهد شد.

در این برنامه من قصد نمایش حرف A را داشتم، لذا جدولی با نام Gelayof در برنامه تعریف کردم .همانطور نیز که در زیر مشاهده میکنید، جهت ذخیره اطلاعات مربوط به حرف A من از هفت بایت استفاده نمودم و اطلاعات مربوط به هر سطر را در یک بایت قرار داده‌ام. از طرفی چون در این مدار پهنای ماتریس LED، پنج است فقط از پنج بیت اول هر بایت استفاده شده و سه بیت با ارزش آن صفر شده‌اند. شما بنابر نیاز خود میتوانید با تغییر دادن وضعیت بیتها به نمایش هر شکل و یا کاراکتری بپردازید.

Gelayof:
Data &B00000100
Data &B00001010
Data &B00010001
Data &B00010001
Data &B00011111
Data &B00010001
Data &B00010001

 

حال اطلاعات این جدول مرحله به مرحله و سطر به سطر خوانده شده و در پورت D قرار میگیرد.این عمل توسط دستور Lookup در برنامه صورت میگیرد. در این دستور بایت مورد نظر ( اطلاعات سطر مورد نظر ) توسط متغییر Row  تعیین میشود. بعد از قرار دادن اطلاعات مربوط هر سطر در پورت D به اندازه 20 میکرو ثانیه این اطلاعات در پورت نگاه داشته  میشود تا LED های موجود در آن سطر روشن بمانند و اثر آن در چشم بیننده باقی بماند. سپس پورت D صفر میشود و اعمال فوق مجددا جهت سطر بعدی تکرار میگردد.

بعد از هر بار جاروب کامل تمامی سطرها، کنترل برنامه از حلقه For-Next خارج شده و مجددا متغییر Scan مقدار دهی اولیه شده تا برای جاروب مجدد آماده گردد. بله به همین سادگی شما یک نمونه ساده از تابلو روان را ساختید!

 

متن کامل برنامه را بصورت یکجا در زیر آورده شده است.


'*********************************************
'* This Program Writing By : Hossein Lachini                    *
'* This, Displyed "A" on the Signe Board                          *
'* For to get more details visit :                                       *
'*                
www.HLachini.com                          *
'* Contact to me by :
eLachini@Gmail.com      *
'*********************************************

$regfile = "m8def.dat"
$crystal = 8000000

Config Portb = Output
Config Portd = Output

Dim Row As Byte
Dim Scan As Byte


Do
    Scan = &B11111110
    For Row = 0 To 6
        Portb = Scan
        Rotate Scan , Left
        Portd = Lookup(row , Gelayof)
        Waitus 20
        Portd = 0
    Next Row
Loop
End 'end program

Gelayof:
Data &B00000100
Data &B00001010
Data &B00010001
Data &B00010001
Data &B00011111
Data &B00010001
Data &B00010001

جهت دانلود برنامه و نقشه تابلوروان اینجا کلیک کنید. 



ارسال شده در مورخه : يكشنبه، 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]

نام شما: [ کاربر جدید ]

عنوان:
 
نظر:


:) ;) |) :- :( :0 :# *) ^) +)) :} |(( @: (:) :? :**

کد امنيتي : ceg16vif
تايپ کد امنيتي : [ بازگشت ]

نحوه برنامه نویسی (امتیاز : 0)
توسط ميهمان در مورخه : يكشنبه، 5 دي ماه ، 1389
خسته نباشی لطفا اگه امکان داره نحوه کلی برنامه نویسی (دستورالعمل و...) رو کامل توضیح بده.اون دستورهایی که واسه همه میکروکنترلرها مشترکه.


[ ارسال جوابیه ]


انجام پروژه (امتیاز : 0)
توسط ميهمان در مورخه : سه شنبه، 28 دي ماه ، 1389
سلام یه برنامه می خواستم که تو baskamنوشته بشه و در proteus انجام بشه یه ال سی دی که عکس 128*128 خودم رو نشون بده ویه دات ماتریس 8*8 که م .م به صورت روان داخلش اجرا بشه اگه براتون مقدوره قیمت ونحوه دسترسش رو به م میل کنید rey_misteru_666@yahoo.com


[ ارسال جوابیه ]


تشکر (امتیاز : 0)
توسط ميهمان در مورخه : چهارشنبه، 18 آبان ماه ، 1390
آب در چشمه و ما تشنه لبان ميگرديم. با سلام خدمت استاد عزيز لاچينی،مدتهای مديدی بود که برای درک روش برنامه نويسی تابلوهای روان تمام سايتهای انگليسی زبان را زير و رو ميکردم ولی چنان غامض و توضيح داده شده بودند که هيچ سر در نمی آوردم تا اينکه چند روز قبل سايت شما را پيدا کردم و چنان سليس و جامع توضيح داده ايد که از خوشحالی سر از پا نميشناختم و مانند تشنه اي بودم که به چشمه رسيده است ؛از اينکه علم و تجربه شخصی خود را چنين خالصانه در اختيار علاقه مندان گذارده ايد بسيار بسيار سپاس گذار هستم و از خداوند آرزوی موفقيت روز افزون را برايتان طلب ميکنم و خواهش مندم به نوشتن ادامه دهيد و ما را مستفيض فرمائيد . با تشکر هومن ، بلژيک


[ ارسال جوابیه ]


درخواست کمک سریع (امتیاز : 0)
توسط ميهمان در مورخه : سه شنبه، 4 تير ماه ، 1392
سلام من این تابلو روان را ساخته ام ولی نمی دانم چگونه میکرو کنترل را به کامپیوتر متصل کنم.در ضمن من برنامه بسکام را ندارم. اگر میتوانید منو کمک کنید تا ببینم میتونم از این دستگاه استفاده کنم یا نه. در ضمن یه ری به وبلاگ ما هم بزنید. www.noorworkshop.blogfa.com من چگونه میتونم جواب بگیرم؟


[ ارسال جوابیه ]

امتیاز دهی به مطلب
امتیاز متوسط : 3.72
تعداد آراء: 18


لطفا رای مورد نظرتان را در مورد این مطلب ارائه نمائید :

عالی
خیلی خوب
خوب
متوسط
بد

اشتراک گذاري مطلب
موضوعات مرتبط

تابلوروان - تابلو روان

پروگرامر و تستر آِی سی سانا با قابلیت تشخیص اتوماتیک قطعه و درج تمامی قطعات از پین یک زیف و تامین کلاک قابل استفاده در بسکام و کدویژن