میکروکنترلر ،شروع کدویژن ، ۸ ضلعی

saalek110

Well-Known Member
download va nasb va tansimat va led project va ddr va portb codevision



دو فیلم قبل فیلم اصلی داریم اینجا.


چرا میکروکنترلر استفاده می کنیم؟



پایه ها و پورت ها





تشکر از تهیه کننده فیلم.

سایتهایی پیشنهاد شده

نسخه ۳.۱۴ خوبه ، مد نظر ایشان است.
نسخه ۲.۰.۵ خیلی قدیمی است.
۱۳۳ مگا..نصب ساده است. یک ارروری می رود پشت ، باید اکی بزنیم تا رد بشه.
همون درایو سی نصب کنید تا کرک راحت باشه.
برای کرک فایل داخل پوشه کرک را بیاندازید داخل پوشه bin....باید replace یعنی جایگزینی را بزنید.

تنظیمات اولیه:
پنجره کد اینفورمیشن را برد راست. یکی از پنجره ها را هم بست تا پنجره کد بزرگتر بشه.
از تولبارها فقط پراجکت را نگاه داشت

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

تنظیمات کدویژن در پوشه programdata در سی که مخفی است و پوشه hp infotech. با دیلت این پوشه کل تنظیمات کدویژن می پرد.




قبل ساختن پروژه جدید با زدن کلوز آل close all پروژه قبلی را ببندید.

پروتئوس ۸ کرک نمی خواد.



تفاوت اتمگا ۸ و اتمگا ۱۶
پورتهای اتمگا ۸ بریده شده و چند جا رفته ، مقداری نامنظم است ولی پورت سی است همه جا یک جاست.
در اتمگا ۸ ....در تنظیمات ، روی dip بزارید. وقتی روی اس ام دی باشه شماره پایه ها فرق داره.

کار دوم ، واچ داگ را خاموش کنید.یکی دو تا پایین تر محل دادان فایل هگز است.

در پروگ isp در فیوزبیت ، برای پروگرم کردن ، واچ داگ wtdon را خانوش می کنیم و می ذاریم روی ۸ مگ داخلی. تیک ۸ مگ داخلی ، ستون اول از پایین سومی است ، جلویش نوشته cksel2

۱۷ دقیقه. تشکر از ایشان.
کار با اتمگا ۱۶
میگه کدها ، خط به خط اجرا میشه.
حلقه while(1) بی نهایت اجرا میشه.
دو تا ممیز بزاریم آنگاه نوشته های بعدی کامنت حساب میشه..یعنی توضیحات است و جزو کد نیست.
می نویسیم portd از هدر io است. در فیلم فلسفه وجود کتابخانه ها و هدرها گفته شده. همان اینکلودها.
در زبان سی ، بعد هر خط ، یعنی انتهای هر خط ، باید علامت سمی کلون بزاریم.

فیلم بعدی ۱۴ دقیقه ، تشکر از ایشان.
دستور ddr
Data direction: جهت اطلاعات
DDRA=0b00000001 باینری
حروف بزرگ باید باشه ddra همگی باید بزرگ باشد این طوری DDRA
در بیت های بالا کم ارزش سمت راست است.دیتا دایرکشن است..صفر ورودی و یک خروجی.

فیلم ۱۴ دقیقه ، تشکر از ایشان.

PORTB.0=1;
پایه بی صفر 5 ولت میشه. قبلا باید خروجی کرده باشید.

ادامه ، ۸ دقیقه ، ممنون از ایشان.


include <io.h>
include <delay.h>

void main(void)
{
DDRB=0b11111111;
while(1)
{
PORTB.0=1;
delay_ms(1000);
PORTB.0=0;
delay_ms(1000);
}
}

فیلم بعدی ، ۱۴ دقیقه ، تشکر از ایشان.

در این فیلم دو تا led استفاده شده.
دستور define گفته شد.

فیلم بعدی ۱۵ دقیقه ، تشکراز ایشان.
هشت چراغ چشمک زن

PORTB=0b00110011;
در خط کد بالا ، ۸ تا پایه را با هم مقدار دادیم.
 

saalek110

Well-Known Member

saalek110

Well-Known Member
ورودی دادن ، پول داون:



فیلم ۲۷ دقیقه ، تشکر از ایشان.



ورودی و پول داون و پول آپ

buuton دکمه
power میشه همان vcc

PINB.0 برای ورودی است ولی پورت برای خروجی بود.
در کد زیر می بینید برای بررسی از کلمه PIN و برای مقدار دادن از کلمه PORT استفاده می کنیم.
if (PINB.0 == 1)
{
PORTD.0=1;
}
البته قبل کد بالا ، داخل main باید ورودی و خروجی ها را تعیین کرد. در کد زیر کل بی و دی را یکی به شکل خروجی و یکی به شکل ورودی قرار دادیم.
DDRD=0b11111111;
DDRB=0b00000000;

فیلم بعدی ، ۱۹ دقیقه ، تشکر از ایشان

در این درس else را یاد داده.
 

saalek110

Well-Known Member
متغیر


فیلم ، ۴۸ دقیقه ، تشکر از ایشان.

متغیر قبل main گلوبال است و اگر داخل main یا توابع دیگر باشه متغیر محلی است.
متغیر int تا ۳۲ هزار است و اگر بی علامت انتخاب کنیم دو برابر میشه.

فیلم ۲۰ دقیقه ، تشکر از ایشان.

تمرین دکمه و متغیر.
 
بالا