با سلام به همه ی دوستان
توی این تاپیک قصد داریم آموزش کاربردی کامپایلر CCS که به زبان C و یکی از بهترین کامپایلر ها برای میکرو کنترل PIC هستش رو از صفر آغاز کنیم و اون رو تا جایی که علم و زمان اجازه بده ادامه بدیم.
در بینا بین صحبت ها ممکن است قسمتی هم به آموزش سطحی میکرو کنترل و حتی آموزش سطحی نرم افزارهایی مثل پروتئوس که در آموزش مبحث اصلی به ما کمک میکنند انجام گیرد.
سعی میشه برنامه ها با فایل شبیه سازی شده در پروتئوس ارائه بشه آموزش راحت تر باشه.
لطفا دوستان نظرات خودشون رو بیان و اشتباهات بنده رو گوشزد کنند.
کامپایلر CCS رو میتونید از آدرس زیر دانلود کنید که روش نصب رو هم توضیح دادم
اضافه شده در تاریخ :
خب اول باید نرم افزار ccs رو تهیه و نصب کنید. برنامه ccs رو که نصب کردید باید یه پروژه ایجاد کنید.برای این کار از سربرگ Project گزینه Create رو انتخاب کنید. اسم پروژه رو تایپ کنید و ok رو بزنید تا پروژه شما ایجاد بشه. حالا بریم سراغ کد نویسی.
ساده ترین برنامه ای که باهاش میشه شروع به آموزش یک کامپایلر کرد برنامه led چشمک زن هستش.
میخوایم توی اولین قسمت آموزش این برنامه رو بنویسیم :nerd:
اولین خطی که توی هر کامپایلر و هر برنامه ای وجود داره دستور مربوط به معرفی میکرو کنترل هستش. پس قبل از هرچیزی باید میکرو رو معرفی کنیم. اینکار رو با دستور زیر انجام میدیم
مثلا اگه بخوایم میکروکنترل 16F877A رو معرفی کنیم به شکل زیر این کار رو انجام میدیم
در خط بعدی باید مقدار کریستال رو تعیین کنیم. که این کار رو با دستور زیر انجام میدیم.
در دستور بالا مقدار کریستال 20 مگا هرتز معرفی شده است.
دقت کنید که این فرکانس کرستال خارجی است و و برای بدست آوردن فرکانس کاری میکرو باید اون رو تقسیم بر 4 کنیم پس سرعت ( فرکانس کاری میکرو) 5 مگاهرتز است.
پس از این باید وارد تابع اصلی برنامه شد تا بتونیم عمل چشمک زدن رو انجام بدیم.
برای روشن و خاموش کردن یک LED توسط پورت میکرو نیاز است تا بتونیم یک پایه از میکرو رو صفر و یک کنیم.
برای 1 کردن هر پایه از میکرو از دستور زیر استفاده میکنیم:
برای 0 کردن هر پایه از میکرو از دستور زیر استفاده میکنیم:
که X میتونه هر یک از پین های میکروکنترل مورد استفاده شما باشه که قابلیت ورودی و خروجی کردن رو داره.
مثلا دستور زیر پایه b5 رو از پورت b یک میکنه.
دقت کنید که دو دستور بالا ، خود هم عمل خروجی کردن پایه و هم 0 یا 1 کردن پایه را انجام میده.
تنها کار دیگه ای که در این برنامه باید بکنیم اینه که بتونیم تاخیر در برنامه ایجاد کنیم تا بشه به مدت زمان دلخواه LED رو روشن یا خاموش نگه داشت.
ایجا تاخیر در برنامه رو با دستورات زیر انجام میدیم.
دستور اول به اندازه x میلی ثانیه تاخیر ایجاد میکند و دستور دوم به اندازه x میکروثانیه.
خب حالا بریم سراغ برنامه کامل
نکته مهم:
در کامپایلر ccs حلقه بی نهایت باید به شکل (while(true نوشته شود نه (while(1
بعد از نوشتن برنامه برای کامپایل اون از سربرگ Compile گزینه Compile رو انتخاب کنید تا برنامه کامپایل بشه و کد هگز (کدی که باید روی میکرو بریزید) تولید بشه. وقتی اینکار رو انجام میدید خطاهای دستوری رو هم بهتون نشون میده.
بعد در نرم افزار پروتئوس فایل هگز رو روی میکرو میریزید و دکمه play رو میزنید تا برنامه اجرا بشه( اگه کسی توی این قسمت مشکل داره بگه تا یه آ�وزسی هم در این مورد بذارم)

این هم فایل برنامه و فایل شبیه سازی شده در پروتئوس:
توی این تاپیک قصد داریم آموزش کاربردی کامپایلر CCS که به زبان C و یکی از بهترین کامپایلر ها برای میکرو کنترل PIC هستش رو از صفر آغاز کنیم و اون رو تا جایی که علم و زمان اجازه بده ادامه بدیم.
در بینا بین صحبت ها ممکن است قسمتی هم به آموزش سطحی میکرو کنترل و حتی آموزش سطحی نرم افزارهایی مثل پروتئوس که در آموزش مبحث اصلی به ما کمک میکنند انجام گیرد.
سعی میشه برنامه ها با فایل شبیه سازی شده در پروتئوس ارائه بشه آموزش راحت تر باشه.
لطفا دوستان نظرات خودشون رو بیان و اشتباهات بنده رو گوشزد کنند.

کامپایلر CCS رو میتونید از آدرس زیر دانلود کنید که روش نصب رو هم توضیح دادم
اضافه شده در تاریخ :
خب اول باید نرم افزار ccs رو تهیه و نصب کنید. برنامه ccs رو که نصب کردید باید یه پروژه ایجاد کنید.برای این کار از سربرگ Project گزینه Create رو انتخاب کنید. اسم پروژه رو تایپ کنید و ok رو بزنید تا پروژه شما ایجاد بشه. حالا بریم سراغ کد نویسی.
ساده ترین برنامه ای که باهاش میشه شروع به آموزش یک کامپایلر کرد برنامه led چشمک زن هستش.
میخوایم توی اولین قسمت آموزش این برنامه رو بنویسیم :nerd:
اولین خطی که توی هر کامپایلر و هر برنامه ای وجود داره دستور مربوط به معرفی میکرو کنترل هستش. پس قبل از هرچیزی باید میکرو رو معرفی کنیم. اینکار رو با دستور زیر انجام میدیم
کد:
#include <نوع میکرو.h>
کد:
#include <16F877a.h>
کد:
#use delay(xtal=20Mhz)
دقت کنید که این فرکانس کرستال خارجی است و و برای بدست آوردن فرکانس کاری میکرو باید اون رو تقسیم بر 4 کنیم پس سرعت ( فرکانس کاری میکرو) 5 مگاهرتز است.
پس از این باید وارد تابع اصلی برنامه شد تا بتونیم عمل چشمک زدن رو انجام بدیم.
برای روشن و خاموش کردن یک LED توسط پورت میکرو نیاز است تا بتونیم یک پایه از میکرو رو صفر و یک کنیم.
برای 1 کردن هر پایه از میکرو از دستور زیر استفاده میکنیم:
کد:
output_high(pin_X);
کد:
output_low(pin_X);
مثلا دستور زیر پایه b5 رو از پورت b یک میکنه.
کد:
output_high(pin_b5);
تنها کار دیگه ای که در این برنامه باید بکنیم اینه که بتونیم تاخیر در برنامه ایجاد کنیم تا بشه به مدت زمان دلخواه LED رو روشن یا خاموش نگه داشت.
ایجا تاخیر در برنامه رو با دستورات زیر انجام میدیم.
کد:
delay_ms(x);
کد:
delay_us(x);
خب حالا بریم سراغ برنامه کامل

کد:
#include <16F877a.h> #use delay(xtal=4Mhz) void main() { while(true) { output_high(pin_b5); delay_ms(200); output_low(pin_b5); delay_ms(200); } }
در کامپایلر ccs حلقه بی نهایت باید به شکل (while(true نوشته شود نه (while(1
بعد از نوشتن برنامه برای کامپایل اون از سربرگ Compile گزینه Compile رو انتخاب کنید تا برنامه کامپایل بشه و کد هگز (کدی که باید روی میکرو بریزید) تولید بشه. وقتی اینکار رو انجام میدید خطاهای دستوری رو هم بهتون نشون میده.
بعد در نرم افزار پروتئوس فایل هگز رو روی میکرو میریزید و دکمه play رو میزنید تا برنامه اجرا بشه( اگه کسی توی این قسمت مشکل داره بگه تا یه آ�وزسی هم در این مورد بذارم)

این هم فایل برنامه و فایل شبیه سازی شده در پروتئوس:
دیدگاه