از امروز قصد دارم آموزش کار با میکروکنترلر PIC را به صورت مثال شروع کنم. برای این منظور از مثال های بسیار ساده شروع می کنیم و کم کم سطح پروژه ها را بالا می بریم. همچنین برای کم کردن هزینه و ... ، فعلا به صورت عملی کار نمی کنیم و فقط آن ها را شبیه سازی می کنیم.
ابتدا لازم است نرم افزارهای مورد نیاز را برای تمرین فراهم کنید که لیست آن ها به قرار زیر می باشد:
1- Micro Code Studio (برای نوشتن برنامه ها و کامپایل کردن – من خودم از ورژن 2.1 استفاده می کنم)
2- نرم افزار شبیه ساز proteus (بهترین نرم افزار برای شبیه ساز میکروها می باشد – هم اکنون آخرین ورژن آن 7.4 می باشد)
بعد از نصب این دو نرم افزار کار را شروع می کنیم.
همانطور که گفتم این آموزش بر اساس مثال می باشد تا خستگی کمتری به دنبال داشته باشد.
مثال 1) می خواهیم یک LED با فاصله زمانی 1 ثانیه چشمک بزند.
اول باید برنامه مربوطه را بنویسیم.
می خواهیم این مثال را روی میکروی 16F84A اجرا کنیم. این میکرو دارای دو پورت A و B (پورت A چهار پایه و پورت B 8 پایه دارد) به عنوان پایه های خروجی یا ورودی است. منظور از خروجی این است که داده از پردازشگر میکرو به پایه های آن ارسال می شود و منظور از ورودی این است که داده از محیط خارج از میکرو و توسط این پایه ها به پردازشگر میکرو می رسد.
حال برنامه Micro Code Studio را اجرا می کنیم و شروع می کنیم به نوشتن برنامه چراغ چشمکزن.
ابتدا باید تعریف کنیم که می خواهیم کدام یک از پایه های پورت ها خروجی هستند و کدامیک ورودی. صفر نشان دهنده خروجی بودن و یک نشان دهنده ورودی بودن پایه را دارد. حال به دستور زیر توجه کنید:
TRISB=%00000000
این دستور تمام 8 پایه پورت B را به عنوان خروجی تعریف می کند. علامت % نشان دهنده باینری بودن این عدد می باشد.
برنامه Micro Code Studio پورت ها را به این صورت می شناسد: مثلا برای پورت B0، portb.0
حالا باید به میکرو بگوییم پورت b0 را یک کند، یعنی روشن کند:
portb.0=1
سپس می خواهیم این پورت 1 ثانیه روشن بماند:( عدد جلوی دستور PAUSE تاخیر بر حسب میلی ثانیه می باشد)
pause 1000
پورت b.0 خاموش شود:
portb.0=0
دوباره یک ثانیه تاخیر و بعد دوباره به دستور portb.0=1 برگردد، پس کل برنامه به صورت زیر شد:
TRISB=%00000000
MAIN:
portb.0=1
pause 1000
portb.0=0
pause 1000
goto main
end
(باید در انتهای هر برنامه از دستور end استفاده شود.)
حال از منوی کشویی بالای برنامه Micro Code Studio میکروی 16F84A را انتخاب می کنیم. سپس روی دکمه save کلیک می کنیم و در انتها روی گزینه compile only کلیک می کنیم. حال در جایی که save کردیم می بینیم که یک فایل با پسوند hex وجود دارد. از این فایل برای شبیه سازی در پروتئوس استفاده می کنیم.
برنامه پروتئوس را باز کرده و شماتیک را مثل زیر می بندیم:
نکته) در تنظیمات میکرو فرکانس را روی 4 مگاهرتز (برابر با کریستال خارجی) انتخاب می کنیم. در همین پنجره یعنی تنظیمات میکرو آدرس فایل hex را وارد می کنیم و روی ok کلیک می کنیم.
منظور از VDD همان ولتاژ 5 ولتی منبع تغذیه می باشد.
سپس روی دکمه Run کلیک کرده و نتیجه را مشاهده کنید.