طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه بدون نیاز به دریافت نور می تواند بر اساس تاریخ، ساعت، عرض جغرافیایی و طول جغرافیایی هر استان زمان طول و غروب خورشید را محاسبه کرده و به طور دقیق در این بازه زمانی لامپ های روشنایی را فعال کند. همچنین دارای یک تایمر داخلی می باشد که قابلیت فعال و غیر فعال کردن آن وجود دارد. دستگاه کلا با 3 کلید قابل تنظیم و برنامه ریزی می باشد.کنترل نور یک لامپ 12 الی 24 ولتی DC توسط دو عدد کلید در بازه روشنایی 1 تا 99 درصد. به همراه نمایشگر جهت نمایش درصد روشنایی.ماشین حساب مهندسی ساده با قابلیت دریافت اعداد اعشاری و محاسبه توابع مثلثاتی به همراه سایر توابع توسط یک صفحه کلید 4*4اندازه گیری ظرفیت خازن از 1pF تا 1uF، سلف از 1nH تا 1H و فرکانس از 1Hz تا 4MHz تنها با یک میکرو سوئیچ و همچنین کلیدی برای کالیبراسیون اتوماتیک.این پروژه یک مدار واسط I/O می باشد که دارای 4 خروجی رله است. توسط نرم افزار کنترلی که قابل نصب بروی ویندوز های XP, Win7, Win8, Win10 می باشد می توان هر چهار رله را به صورت مجزا فعال و غیر فعال کرد.
پروژه تایمر-ساعت نجومی (فتوسل بدون نور)

MCP-26

پروژه تایمر-ساعت نجومی (فتوسل بدون نور)
دیمر دیجیتال با AVR به زبان سی

MCP-38

دیمر دیجیتال با AVR به زبان سی
ماشین حساب مهندسی ساده

MCP-28

ماشین حساب مهندسی ساده
پروژه خازن سنج و سلف سنج-LC متر با avr

MCP-14

پروژه خازن سنج و سلف سنج-LC متر با avr
پروژه کنترل رله توسط پورت USB با AVR و C شارپ

MCP-31

پروژه کنترل رله توسط پورت USB با AVR و C شارپ

متغیرها، آرایه ها، رشته ها و مقدار دهی در زبان C

انواع داده ها (متغیر یا همون ثبات ها):
Type                            Size (Bits)                    Range
 
Bit                                1                                   0 , 1
char                             8                                  -128 to 127
unsigned char              8                                  0 to 255
signed char                  8                                  -128 to 127
int                                16                                -32768 to 32767
short int                       16                                 -32768 to 32767
unsigned int                 16                                0 to 65535
signed int                     16                                -32768 to 32767
long int                        32                                -2147483648 to 2147483647
unsigned long int         32                                0 to 4294967295
signed long int             32                                -2147483648 to 2147483647
float                             32                                ±1.175e-38 to ±3.402e38
double                         32                                ±1.175e-38 to ±3.402e38
 
برای تعریف یک متغیر ابتدا نوع داده (Type) و سپس نام متغیر را می نویسیم:
 متغیر ali از نوع bit بیت Bit ali; //
متغیر ali از نوع char و 8 بیتی است char ali; //
بعد از تعریف نام متغیر حتما علامت ; را باید قرار داد. برای مقدار دهی اولیه یک متغیر به دو صورت می تونم این کار رو انجام بدیم.

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


 
اول اینکه ابتدا کتغیر رو تعریف کنیم و بعد یه عددی رو به اون متغیر بدهیم:
Char   smgh;      Char   smgh;                  Char   smgh;
smgh=0x1E;      smgh=0b00011110;        smgh=30;
دوم اینکه در موقع تعریف یک متغیر همزمان به اون مقدار هم بدیم:
Char   smgh=0x1E;      Char   smgh=0b00011110;      Char   smgh=30;
در اینجا ما متغیر smgh را از نوع 8 بیتی معرفی کردیم و همزمان هم عدد 30 دسیمال را به 3 روش به اون اختصاص دادیم. اگر بخواهیم عدد در مبنای دسیمال به متغیر بدیم خوب چیزی جلوی اون نمی نویسیم و فقط عدد رو وارد می کنیم؛ اگر بخواهیم عدد رو در مبنای باینری وارد کنیم ابتدا باید 0b بنویسیم و بعد از b عدد باینری رو وارد کنیم؛ اگر بخواهیم عدد را در مبنای هگزا دسیمال وارد کنیم باید اول 0x رو بنوسیم و بعد اون عدد هگز رو قرار بدیم.
سوم  اینکه به صورت گروهی چند متغیر از یک نوع تعریف کنیم:
1 Char smgh,ali,a,b,mc;
2 Char smgh=3,ali=5,a=8,b=88,mc=4;
 
برای روش 1 باید اول نوع متغیر را بنویسیم مثلا char و بعد بین هر متغیر یک , بزاریم و در آخر هم علامت ; رو می گذاریم. که ما پنج متغیر از نوع 8 بیتی char تعریف کردیم.
و در روش 2 همزمان که متغیر ها رو تعریف می کنیم به هر متغیر عدد مورد نظر رو می دهیم.
آرایه ها:
آرایه ها مجوعه ای از متغیر های هم نوع هستند. و برای تعریف آرایه ابتدا نوع داده و بعد هم اسم آرایه و بعد تعداد عناصر آرایه را در داخل [] قرار می دهیم.
آرایه تک بعدی:
Char smgh[4];
اسم آرایه ما smgh هست و از نوع 8 بیتی char هستش که 4 عضو هم دارد. برای دسترسی به عضوهای این آرایه باید به صورت زیر عمل کنیم:
Smgh[0]=0x23;
Smgh[1]=0x56;
Smgh[2]=0x83;
Smgh[3]=0x18;
نکته: برای دسترسی به اولین عنصر یک آرایه باید عدد صفر رو قرار بدیم. یعنی اولین عضو ما 0 و 1 و 2 و3 هست..
برای روشن شدن مبحث آرایه می تونیم همین مثال رو به صورت زیر بنویسیم، با هم فرق میکنند ولی برای روشن شدن موضوع بد نیست:
Char smgh0=0x23,smgh1=0x56,smgh2=83,smgh3=0x18;
یه جورایی می تونیم مثال آرایه رو به مثال بالایی شبیه کنیم. در مثال آرایه smgh[4] یعنی 4 متغیر جداگانه و مجزا از نوع char داریم که تنها smgh در آنها مشترک هستش و برای دسترسی به عنصر 2 این آرایه باید عدد مورد نظر رو به صورت اندیس در [] قرار دهیم گفتیم که عنصر ها از صفر شروع میشن پس برای عنصر دوم یکی ازش کم می کنیم و میشه 1 که می نویسیم smgh[1] که منضور ما همون آرایه دومی هستش.
برای مقدار دهی هر عضو نمی تونیم به روشی قبلی استفاده کنیم چون اگر تعداد عناصر زیاد باشه خیلی باید دستور بنویسیم و احتمال اینکه اشتباه هم بکنیم زیاده هستش پس برای مقدار دهی عناصر یک آرایه به صورت زیر عمل می کنیم:
Char smgh[4]={0x23,0x56,0x83,0x18};
آرایه دو بعدی:
برای تعریف آرایه دو بعدی به صورت زیر عمل می کنیم:
; [تعداد عناصر ستون] [تعداد عناصر سطر] نام آرایه      نوع متغیرهای آرایه
مثلا آرایه 3×2 : (2 سطر و 3 ستون)
Char smgh[2][3];
مثال بالا رو مقدار دهی می کنیم:
Char smgh[2][3]={{2,4,7},{5,6,1}};
برای اینکه در نوشتن عناصر قاطی نکنید می تونید به صورت زیر عمل کنید:
 Char smgh[2][3]={
                {2,4,7},
    {5,6,1}
};
مثلا ما می خواهیم یک ماتریس 3×3 داشته ماشیم،همانطور که می دانیم این ماتریس دارای 9 درایه یا عنصر می باشد که برای تعریف اون در زبان سی به صورت زیر عمل می کنیم:
Char smgh[3][3]={
     {2,4,6},
     {3,5,8},
     {9,0,1}
};
نکته: اگر ندانیم که تعداد عناصر یک آریه چند تا است داخل [] را خالی می گذاریم.
رشته ها:
رشته ها آرایه ای از کاراکتر هاست.
Char smgh[]="MC8051.blogfa.com";
پایان قسمت دوم

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.

به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال چهارشنبه، 21 بهمن ماه، 1388    نویسندهنویسنده: مدیریت    نظرات 5 نظر    بازدید بازدید [ 41404 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان