ساعت دیجیتالی دقیق با میکرو
پنجشنبه, ۲۶ آبان ۱۳۹۰، ۰۲:۰۸ ب.ظ
توضیح برنامه ------------------------------------در
خط اول که آیسی معرفی کردم در خط دوم کریستال کاری میکرو تنظیم کردم در
خط های 3و4و5 سه ورودی برای اتصال کلید های تنظیم زمان پیکره بندی کردم در
خط 6و7و8 اسم پورت های ورودی عوض کردم (اختیاری)در خط بعد یک متغیر از نوع
بایت بنام V نوشتم که این متغیر برای استفاده در حلقه for , next استفاده
شده.خوب خط 10>> برای استفاده از ساعت و تایمر و کانتر ها حتما باید این خط رو بنویسید چون وقفه سراسری میکرو هست.خط
بعد پیکره بندی ساعت (که این ساعت در برنامه بسکام بصورت پیشفرض هست
>یعنی چی>> یک برنامه ساعت بصورت آماده وجود دارد که ما
میتوانیم از آن استفاده کنیم و این زمان را تنظیم کنیم .حالا به میکرو میگیم ساعت خودتو روی ساعت 8 شب تنظیم کن (هر زمانی که دوست داشتید میتوانید وارد کنید)(با نوشتن دستور خط 12)حالا
اگه به میکرو بگیم زمان رو برای ما در lcd نمایش بده میکرو شروع به کار
میکنه و هر یک ثانیه به زمان (20:00:00)اضافه میکنه و بصورت کاملا دقیق کار
میکنه (میکرو این زمان یک ثانیه رو از کریستال داخلی خودش درست میکند یعنی فرق نمیکند ما فرکانس کاری میکرو چند قرار بدیم) برای اینکه بتونیم این
زمان رو تغییر بدیم باید ادامه برنامه رو بنویسیم در خط بعدش نوشتیم cls
یعنی lcd رو پاک کن در خط بعد آدرس وبلاگم:)در خط بعد وقفه 400 میلی
ثانیه (پیام بازرگانی اول برنامه:)) زیاد مهم نیست>> بعدش دوباره
دستور پاک کردن lcd و بعد دستور (cursor off ) برای حذف خط زیر حروف در lcd
>>> و اما این سه خط >> دستور (declare sub ) معرفی گروه >که من در اینجا سه گروه A,B,C رو معرفی کردم .وظیفه گروه A: نمایش ساعت بروی lcd وظیفه گروه B: تنظیم زمان وظیفه
گروه C:سرعت افزایش زمان (در تنظیم ساعت)>یعنی وقتی دست ما
بروی کلید هست با چه سرعتی افزایش پیدا کنه که با تغییر عدد 5 در گروه c
میتوانید این سرعت را تغییر دهید.در حلقه do loop این گروه ها را بصورت دایم توسط دستور call فراخوانی میکنیم و گروه ها هر یک وظیفه خود را انجام میدهد .دستور sub یعنی شروع گروه و دستور end sub یعنی پایان گروه یعنی هر دستوری در این گروه باشد انجام میدهد.دستورات if ,then دستورات شرط هست و دستور end if یعنی پایان شرط دستور incr یعنی افزودن بر متغییردستور
hour_ برای ساعت و دستور min_ برای دقیقه و دستور sec_ برای ثانیه میباشد
که ما توسط سه ورودی (کلید ها) بر این متغییر ها اضافه میکنیم (یعنی اگر
ما بر min_ یک مقدار اضافه کنیم دقیقه ساعت تغییر میکند)اینم نقشه مدار -----------------------------برای دیدن نقشه در اندازه اصلی بر روی آن کلیک کنید
۹۰/۰۸/۲۶