پاسخ : اموزش میکروکنترلر AVR به زبان ساده
سلام رضا جان . اینم جواب سوالات و برنامه ای که می خواستی
برای این که یک کلمه یا متن را روی LCD حرکت دهیم باید از دستور LEFT \ RIGHT SHIFTLCD استفاده کنیم به مثال زیر توجه کنید:
CLS
LCD "REZA"
DO
WAITMS 5
SHIFTLCD RIGHT
LOOP
END
برنامه بالا را می توان با شبیه ساز خود BASCOM ازمایش کرد. به طور کلی این برنامه ابتدا کلمه REZA را روی LCD نمایش می دهد سپس ان را اهسته اهسته به سمت راست هدایت می کند تا جایی که کلمه از سمت راست LCD خارج شود و بعد از خارج شدن دوباره از سمت چپ وارد می شود و این سیکل ادامه دارد.
حال نوبت تحلیل برنامه می رسد :
خط اول با دستور CLS ال سی دی را پاک کردیم
خط دوم با دستور LCD "REZA" کلمه REZA را روی ال سی دی نمایش دادیم
خط سوم نوشته شده DO که نشانگر ابتدای حلقه است
خط چهارم با دستور WAITMS 5 یک تاخیر 5 میلی ثانیه ای در اجرای برنامه ایجاد کردیم
خط پنجم با دستور SHIFTLCD RIGHT به میکرو دستور دادیم که کل نوشته ها را که روی ال سی دی نمایش داده ایم را یک واحد به سمت راست هدایت کن
خط ششم با دستور LOOP انتهای حقله را مشخص کردیم
تحلیل دوم برنامه : میکرو میاد برنامه رو از خط اول شروع می کنه به خوندن :
خط اول نوشته شده CLS با این دستور میکرو میاد صفحه نمایش LCD رو پاک میکنه
خط دوم نوشته شده LCD "REZA" و با این دستور میکرو میاد و کلمه REZA رو روی ال سی دی نمایش می ده
خط سوم ما با نوشته دستور DO ابتدای حلقه رو مشخص کردیم
خط چهارم با دستور WAITMS 5 یک تاخیر 5 میلی ثانیه ای در اجرای برنامه ایجاد کردیم
خط پنجم با دستور SHIFTLCD RIGHT به میکرو دستور دادیم که کل نوشته ها رو یک واحد به سمت راست انتقال بده و میکرو هم این کار رو انجام میده
خط ششم نوشتیم LOOP که انتهای حلقه می باشد و میکرو با خوندن این دستور میره دستوری رو که بعد از ابتدای حلقه هست ( ابتدای حلقه همان DO است ) رو می خونه یعنی دستور WAITMS 5 در اینجا دوباره 5 میلی ثانیه تاخیر ایجاد می کنه و دوباره دستور بعدی رو که SHIFTLCD RIGHT هست رو می خونه و دوباره کل نوشته های LCD رو یک واحد به سمت راست هدایت می کنه و بعد از این کار دستور بعدی رو که LOOP هستش رو می خونه و دوباره می پره می ره اول حلقه و این سیکل ادامه مدار و انتقال نوشته های ال سی دی هم به سمت راست ادامه داره تا این که کل نوشته ها ی ال سی دی ( در اینجا کلمه REZA منظور من هست ) از سمت راست خارج شود . بعد از خارج شدن کلمه از سمت راست ال سی دی دوباره بعد از چند لحظه کلمه REZA از سمت چپ ال سی دی وارد می شود و دوباره به سمت راست انتقال می یابد .
اینم پروژه ای که می خاستی منظورم زمان تناوب ولی من بهش فرکانس متر هم اضافه کردم . خداییش اولین باره که درام چیز اپلود می کنم :biggrin:
http://www.4shared.com/file/17877519/fd5f91af/HZ_online.html
فقط یک راهنمایی در مورد مدارش بگم که نوع میکرو AT90S8535 هستش
یک چیزی رو بگم که فرکانس متری رو که برات گذاشتم برنامش رو زمانی که کلاس avr میرفتم بهمون دادن ولی زمان تناوب رو خودم نوشتم . اینو گفتم که کسی فکر نکنه از روی کتاب کاهه کپی زدم
در ضمن در بحث کانتر و adc رو تا اخر هفته دیگه می زارم اگه بشه این دفعه می خام با شکل بزارم البته اگه بتونم اپلود کنم . قسمت اول جزوه اموزشی نرم افزار AUTOMATION STUDIO رو هم براتون می زارم موفق باشید
سلام رضا جان . اینم جواب سوالات و برنامه ای که می خواستی
برای این که یک کلمه یا متن را روی LCD حرکت دهیم باید از دستور LEFT \ RIGHT SHIFTLCD استفاده کنیم به مثال زیر توجه کنید:
CLS
LCD "REZA"
DO
WAITMS 5
SHIFTLCD RIGHT
LOOP
END
برنامه بالا را می توان با شبیه ساز خود BASCOM ازمایش کرد. به طور کلی این برنامه ابتدا کلمه REZA را روی LCD نمایش می دهد سپس ان را اهسته اهسته به سمت راست هدایت می کند تا جایی که کلمه از سمت راست LCD خارج شود و بعد از خارج شدن دوباره از سمت چپ وارد می شود و این سیکل ادامه دارد.
حال نوبت تحلیل برنامه می رسد :
خط اول با دستور CLS ال سی دی را پاک کردیم
خط دوم با دستور LCD "REZA" کلمه REZA را روی ال سی دی نمایش دادیم
خط سوم نوشته شده DO که نشانگر ابتدای حلقه است
خط چهارم با دستور WAITMS 5 یک تاخیر 5 میلی ثانیه ای در اجرای برنامه ایجاد کردیم
خط پنجم با دستور SHIFTLCD RIGHT به میکرو دستور دادیم که کل نوشته ها را که روی ال سی دی نمایش داده ایم را یک واحد به سمت راست هدایت کن
خط ششم با دستور LOOP انتهای حقله را مشخص کردیم
تحلیل دوم برنامه : میکرو میاد برنامه رو از خط اول شروع می کنه به خوندن :
خط اول نوشته شده CLS با این دستور میکرو میاد صفحه نمایش LCD رو پاک میکنه
خط دوم نوشته شده LCD "REZA" و با این دستور میکرو میاد و کلمه REZA رو روی ال سی دی نمایش می ده
خط سوم ما با نوشته دستور DO ابتدای حلقه رو مشخص کردیم
خط چهارم با دستور WAITMS 5 یک تاخیر 5 میلی ثانیه ای در اجرای برنامه ایجاد کردیم
خط پنجم با دستور SHIFTLCD RIGHT به میکرو دستور دادیم که کل نوشته ها رو یک واحد به سمت راست انتقال بده و میکرو هم این کار رو انجام میده
خط ششم نوشتیم LOOP که انتهای حلقه می باشد و میکرو با خوندن این دستور میره دستوری رو که بعد از ابتدای حلقه هست ( ابتدای حلقه همان DO است ) رو می خونه یعنی دستور WAITMS 5 در اینجا دوباره 5 میلی ثانیه تاخیر ایجاد می کنه و دوباره دستور بعدی رو که SHIFTLCD RIGHT هست رو می خونه و دوباره کل نوشته های LCD رو یک واحد به سمت راست هدایت می کنه و بعد از این کار دستور بعدی رو که LOOP هستش رو می خونه و دوباره می پره می ره اول حلقه و این سیکل ادامه مدار و انتقال نوشته های ال سی دی هم به سمت راست ادامه داره تا این که کل نوشته ها ی ال سی دی ( در اینجا کلمه REZA منظور من هست ) از سمت راست خارج شود . بعد از خارج شدن کلمه از سمت راست ال سی دی دوباره بعد از چند لحظه کلمه REZA از سمت چپ ال سی دی وارد می شود و دوباره به سمت راست انتقال می یابد .
اینم پروژه ای که می خاستی منظورم زمان تناوب ولی من بهش فرکانس متر هم اضافه کردم . خداییش اولین باره که درام چیز اپلود می کنم :biggrin:
http://www.4shared.com/file/17877519/fd5f91af/HZ_online.html
فقط یک راهنمایی در مورد مدارش بگم که نوع میکرو AT90S8535 هستش
یک چیزی رو بگم که فرکانس متری رو که برات گذاشتم برنامش رو زمانی که کلاس avr میرفتم بهمون دادن ولی زمان تناوب رو خودم نوشتم . اینو گفتم که کسی فکر نکنه از روی کتاب کاهه کپی زدم
در ضمن در بحث کانتر و adc رو تا اخر هفته دیگه می زارم اگه بشه این دفعه می خام با شکل بزارم البته اگه بتونم اپلود کنم . قسمت اول جزوه اموزشی نرم افزار AUTOMATION STUDIO رو هم براتون می زارم موفق باشید

دیدگاه