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

0
144
آموزش میکروکنترلرهای PIC با یک تمرین تایمر ساده
آموزش میکروکنترلرهای PIC با یک تمرین تایمر ساده

در ادامه مجموعه آموزش‌ میکروکنترلرهای PIC توسط کامپایلر CCS C، در این قسمت به عنوان تمرین آموزش‌های جلسات قبل، برنامه یک تایمر ساده که قابلیت زمان گیری تا 99 ثانیه را دارد می‌نویسیم.شکل زیر شماتیک این برنامه را نشان می‌دهد.

 

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

عملکرد مدار به اینگونه است که با وصل کلید Start/Stop تایمر شروع به شمارش می‌کند و با قطع آن تایمر می‌ایستد و آخرین عدد شمارش شده بر روی سون سگمنت باقی می‌ماند. همچنین در هر لحظه با زدن کلید Reset تایمر به عدد صفر باز می‌گردد.

در این برنامه ما از وقفه شماره دو برای کلید Reset استفاده کرده‌ایم و کدهای مربوط به کلید Start/Stop را در حلقه اصلی برنامه نوشتیم.

در این آموزش نحوه‌ی کار با سون سگمنت چند رقمی را یاد می‌گیریم.

برای شروع مانند جلسات قبلی آموزش، تنظیمات نوع میکروکنترلر و کلاک را انجام می‌دهیم. تنظیمات پایه‌های میکروکنترلر را مطابق شکل زیر انجام می‌دهیم.

 

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

 

در ابتدای برنامه متغیری برای شمارش زمان به نام counter تعریف می‌کنیم. همچنین در وقفه مربوط به کلید Reset مقدار این شمارنده را صفر می‌کنیم. در ابتدای حلقه main کدهای  مربوط به سون سگمنت کاتد مشترک را اضافه می‌کنیم.

ٰمتغیر i را برای ایجاد زمان یک ثانیه تعریف می‌کنیم. همچنین دو متغیر با نام‌های first_digit و second_digit برای نمایش رقم یکان و دهگان بر روی سون سگمنت تعریف می‌کنیم.

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

در حلقه‌ی دائمی برنامه یا همان حلقه while(True)، یک حلقه while به منظور بررسی وضعیت کلید Start_Stop تعریف می‌کنیم و تا زمانی که این کلید وصل می‌باشد، کدهای درون این حلقه اجرا می‌شود.

در درون این حلقه برای نمایش رقم یکان و دهگان، ابتدا پایه‌های کنترلی هر رقم را با توجه به این که سون سگمنت کاتد مشترک است صفر می‌کنیم و سپس رقم یکان و دهگان را بر روی هر سگمنت حدود 5 میلی ثانیه نمایش می‌دهیم و به دلیل تکرار این فرایند، اعداد روی سگمنت ثابت نشان داده خواهد شد.

برای ایجاد زمان یک ثانیه از حلقه for استفاده کرده‌ایم. مقدار عدد لازم برای تکرار این حلقه برای ایجاد زمان یک ثانیه به صورت تقریبی و با آزمون و خطا به دست می‌آید.

در ادامه برنامه نیز در صورتی که کلید Start_Stop وصل نباشد، عدد شمارنده را روی سون سگمنت نمایش می‌دهیم.

 

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

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

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

 

 

منبع:  میکرودیزاینرالکترونیک

 

 

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

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید