خانه / میکروکنترلرها / میکروکنترلر های PIC / مطالب آموزشی میکروکنترلرهای PIC / آموزش میکروکنترلرهای PIC ،کامپایلر CCS C : جلسه سوم

آموزش میکروکنترلرهای PIC ،کامپایلر CCS C : جلسه سوم

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

در این بخش ضمن توضیح کامل تر در مورد نحوه ی کار کردن با پایه های میکروکنترلر (خواندن و نوشتن) که یکی از پرکاربردترین بخش ها می باشد، به چگونگی ایجاد تاخیر در برنامه می پردازیم و ضمن آن به عنوان تمرین برنامه یک شمارنده حلقوی (Ring Counter) را می نویسیم.

 

توابع کار با پایه های ورودی/خروجی (I/O) :

 

  • یک (high) کردن پایه pin :

      output_high(pin)

مثال : یک کردن پایه اول از پورت A

output_high(PIN_A0);

 

  • صفر (low) کردن پایه pin :

output_low (pin)

مثال : صفر کردن پایه اول از پورت A

output_low(PIN_A0);

 

  • نوشتن یک بایت (value) بر روی پورت x

output_x(value)

مثال : نوشتن عدد ۰xf0 بر روی پورت B

OUTPUT_B(0xf0);

 

  • نوشتن یک یا صفر (value) بر روی پایه pin

output_bit(pin,value)

مثال : نوشتن صفر بر روی پایه اول از پورت B

output_bit(PIN_B0, 0);

 

  • خواندن مقدار (صفر یا یک) پایه (pin)

input(pin)

مثال : خواندن مقدار پایه دوم از پورت B و ریختن در متغیر D

D = input(PIN_B1);

 

نکته : خروجی و ورودی بودن پایه ها را طبق آموزش های جلسات قبل به راحتی در codewizard می توان تنظیم کرد و لازم به تنظیم آنها در برنامه وجود ندارد.

حتما در ادامه این مطلب را هم بخوانید:  راه اندازی واحد USART میکروکنترلرهای PIC

تمرین : تفاوت دستور ۴ با دستور ۱ و ۲ چیست؟

 

توابع ایجاد تاخیر :

  • تاخیر برحسب میلی ثانیه :

delay_ms(x);

x تاخیر لازم برحسب میلی ثانیه از ۰ تا ۶۵۵۳۵ می باشد.

 

  • تاخیر برحسب میکرو ثانیه :

delay_us(x);

x تاخیر لازم برحسب میکرو ثانیه از ۰ تا ۶۵۵۳۵ می باشد.

 

شمارنده حلقوی :

شکل زیر شماتیک مدار را نشان می دهد. برای نمایش عملکرد شمارنده از Bargraph استفاده شده است.

 

1

مراحل ساخت پروژه را مانند آموزش های قبلی انجام دهید و تنظیمات پایه ها را مطابق شکل زیر تنظیم کنید.

 

2

کدهای زیر را نوشته و برنامه را compile کنید.

3

4

تمرین : کدهای نوشته شده را تجزیه و تحلیل کنید!

 

امیدوارم این بخش هم برای شما مفید باشد. اگر سوالی داشتید در بخش نظرات مطرح کنید.

قسمت های قبلی را در اینجا ببنید.

این نوشته را با دوستانتان در تلگرام به اشتراک بگذارید :

درباره ی محمد حسین کوهی قمصری

دانشجوی برق گرایش الکترونیک، کارشناسی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شانزده − هفت =