طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
با استفاده از ماژول HM-R و HM-T ابتدا به کمک سنسور LM35 دما اندازه گیری شده و به ماژول HM-T ارسال می شود، در سمت گیرنده سیگنال توسط HM-R دریافت شده و بر اساس مقدار دما دور موتور به صورت PWM کنترل می شود. همچنین قابلیت تعریف رنج دمای کاری برای موتور نیز امکان پذیر می باشد.این پروژه یک ماشین حساب مهندسی می باشد که تمامی کلید ها و توابع به صورت گرافیگی بر روی LCD نمایش داده می شود و با فشردن هر کلید روی کیپد کلید متناظر آن بر روی السیدی نیز تغییر حالت می دهد. نمای کلی و توابع قابل انجام توسط این ماشین حساب در تصاویر نمایش داده شده است. همچنین قابلیت رسم نمودار را دارد.این پروژه یک دماسنج ساده می باشد که توانایی اندازه گیری دما از منفی 40 تا مثبت 120 درجه سانتی گراد با دقت دو رقم اعشار را دارد.کنترل زاویه ای 0 تا 180 درجه؛ قابلیت تعریف بیش 100 برنامه مجزا توسط کاربر؛ تعیین زاویه برای هر پله حرکت سروو موتور؛ تعیین سرعت حرکت سروو موتور؛ تعیین مدت زمان کارکرد در هر برنامه از 1 تا 255 دقیقه. منوی کاربری بسیار آسان برای تعریف برنامه ها.در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود.
پروژه کنترل بی سیم دور موتور برحسب دما با avr

MCP-8

پروژه کنترل بی سیم دور موتور برحسب دما با avr
پروژه ماشین حساب مهندسی با السیدی گرافیکی و avr

MCP-11

پروژه ماشین حساب مهندسی با السیدی گرافیکی و avr
پروژه دماسنج ساده با avr

MCP-29

پروژه دماسنج ساده با avr
پروژه کنترل سروو موتور از 0 تا 180 درجه با avr

MCP-2

پروژه کنترل سروو موتور از 0 تا 180 درجه با avr
پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت

MCP-21

پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت

آموزش ميكرو كنترلر 8051 قسمت دوم (معرفي دستورات)

  دستور EQU  و DB 
البته اين دو دستور جزء قالب هاي دستوري 8051 نيست يعني اصلا ميكرو چنين دستوري را ندارد و اجرا هم نمي كند. اين دو دستور را فقط كامپايلر ها مي شناسد كه به رهنمون هم معرف هستند اينها براي راحتي كار و برنامه نويسي هستند.
EQU به كمك اين دستور مي توان يه متغير تهريف كنيم مثلا ما در يك پروژه داريم كه در آن يك كليد به نام OK وجود دارد ما مي خواهيم OK را روي بيت 3 از پورت 2 قرار دهيم يعني اينكه P2.3=OK براي راحتي كار در طول برنامه ممكن از اين كليد بخواهيم زياد استفاده كنيم به همين دليل اول برنامه اين بيت را به متغيير OK نسبت مي دهيم به روش زير:


OK   EQU  P2.3
…………………….
JB  OK,LOOP


برنامه اينطور مي باشد كه P2.3 به OK اختصاص داده شده و در برنامه اصلي ما مي خواهيم كه هر گاه اين بيت يك شد به آدرس LOOP پرش كند. پس ما مي نويسيم اگر OK يك شده به LOOP  پرش كن.
DB اگه با LCD سرو كار داشته باشيم براي نمايش پيغام ها روي LCD بايد كد اسكي آنها رو نوشت كه خيلي كار سخت و وقت گيري به همين دليل در برنامه پيغام خود را به صورت زير مي نويسيم:

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


 ORG   600H 
DB "WWW.PICPARS.COM"SMGH

ابتدا بايد مكان اين پيغام را مشخص كنيم مثلا من در خانه 600 ROM اين عبارت را نوشته توجه شود كه هر كاراكتر 8 بيت دارد و هر يك از آنها در خانه 600و601و602و603 تا.... قرار مي گيرد. قالب دستور به اين صورت مي باشد  DB  متن يا پيغام را بايد حتما بين اين دو علامت نوشت تا كامپايلر متوجه شود كه متن ما هميني هست كه توي اين دو تا علامت قرار دارد و بعد از اين علامت جزء پيغام ما نيست.


دستور MOV
اين دستور پر كاربرد ترين دستور در ميكرو مي باشد معني اين دستور هم كپي كردن هست و انتقال دادن به مثال هاي زير توجه كنيد!


 MOV  A,#80H عدد 80 را در انباره كپي كن
 MOV  R1,#50H عدد50 را در ثبات R1 كپي كن
MOV  P1,A محتواي انباره روي پورت 1 انتقال بده


مثال : برنامه يك چشمك زن بنويسيد با دو تا LED كه روي بيت هاي P1.1  , P1.2 وصل شده اند؟
ابتدا بيتهاي پورت يك را به صورت زير مي نويسيم و كد هگز آن را بدست مي آوريم توجه شود كه بايد حتما بعد از كد H بنويسيم.

P1
D0
D1
D2
D3
D4
D5
D6
D7
02
0
1
0
0
0
0
0
0
04
0
0
1
0
0
0
0
0

 

عدد 2 را روي پورت 1 انتقال بدهSTART:     MOV  P1,#02H
يك تاخير ايجاد كن   ACALL      DELAY               
عدد 4 را روي پورت 1 انتقال بده    MOV        P1,#04H               
يك تاخير ايجاد كن  ACALL      DELAY               
به اول برنامه بر گردد و مراحل را تكرار كن  SJMP       START               
يك زير برنامه تاخيري  :DELAY


نكته بجاي اينكه كد هگز را بدست‌ بياوريم مي توانيم از قاعد زير استفاده كنيم  فقط توجه شود كه بايد از حرف B حتما استفاده كنيم.MGH
MOV  P1,#00000010B       ,   MOV  P1,#00000100B


انواع مدهاي آدرس دهي


الف) آدرس دهي ثباتي


اين روش آدرس دهي به صورت ثباتي انجام مي گيرد يعني اينكه ثبات با ثبات كپي مي شوند.


 محتواي يكي از ثبات هاي 1 تا 7 را در انباره كپي مي كندMOV  A,R1…R7 
 محتواي R3 در خانه 30 از RAM كپي مي شود MOV  30H,R3


ب) آدرس دهي مستقيم


يعني اينكه ثبات با ثبات يا خانه اي از RAM با خانه اي ديگر به طور مستقيم و بدون واسطه انجام مي گيرد.


محتواي R5 در R4 كپي مي شود MOV  R4,R5
محتواي ثبات B در انباره كپي مي شود MOV  A,B
محتواي خانه 30 از RAM در ثبات R3 كپي مي شود  MOV  R3,30H
محتواي خانه 30 از RAM در ثبات B كپي مي شود  MOV  B,30H


ج) آدرس دهي غيره مستقيم


همانطور از اسمش پيداست به صورت غير مستقيم ديتايي از يك نقطه به نقطه ديگر كپي مي شود.


محتواي خانه اي از RAM كه آدرس آن در ثبات R0 مي باشد را در انباره كپي كن  MOV  A,@R0
محتواي خانه اي از RAM كه آدرس آن در ثبات R1 مي باشد را در ثبات B  كپي كن  MOV  B,@R1
محتواي خانه اي از RAM كه آدرس آن در ثبات R0 مي باشد را در خانه  40Hاز RAM كپي كن  MOV  40H,@R0
محتواي خانه اي از RAM كه آدرس آن در ثبات R1 مي باشد را در TL0 كپي كن  MOV  TL0,@R1


نكته: براي آدرس دهي غير مستقيم تنها مجاز هستيم از R0 و R1 استفاده كنيم.
از اين نوع آدرس دهي بيشتر در مواردي استفاده مي شود كه بخواهيم خانه هاي زيادي از RAM را بخوانيم يا در آن چيزي بنويسيم كه باعث كاهش بسيار زياد تعداد دستورات مي شود براي واضح تر شدن به اين نوع آدرس دهي به مثال زير توجه كنيد.
برنامه بنويسيد تا عدد 50H را در  20 خانه از RAM با آدرس شروع 40H كپي نمايد؟


              عدد 20H را در R5 كپي كن  MOV  R5,#20H
              عدد 40H را در R0 كپي كن  MOV  R0,#40H
 عدد 50H را در آدرسي كه R0 دارد كپي كن START:   MOV  @R0,#50H
              يك واحد به R0 اضافه كن  INC   R0 
              يك واحد از R5كم كن اگر صفر نشده به برچسپ START پرش كن DJNZ  R5,START


برنامه به اين صورت كار مي كند كه ابتدا عدد 20 كه معادل14H  مي باشد در R5  كپي مي شود كه بعنوان شمارنده بكار مي رود تا فقط 20 خانه از RAM را اطلاعات در آن كپي كند. به ثبات R0 مقدار 40H يعني اولين خانه اي كه بايد در آن اين اطلاعات كپي شود را قرار مي دهيم در خط بعدي عدد 50H در آدرسي كه R0 دارد كپي مي شود يعني در خانه 40H و در خط بعدي يك واحد به R0 اضافه مي شود تا در تكرار بعدي عدد 50 در خانه 41H كپي شود. در آخرين خط برنامه يك واحد از R5 كم مي شود تا به 19 و 18 و 17و در نهايت به صفر برسد و عدد 50 در 20 خانه از RAM كپي شود.


د) آدرس دهي فوري


هرگاه از علامت پوند (#) در پشت يك عدد استفاده كرديم آدرس دهي فوري مي شود يعني اينكه فورا عددي در ثبات و يا در خروجي انتقال مي يابد.


MOV  A,#05H
MOV  R1,#85H
MOV  @R1,#60H
دستور MOVC  A,@A+DPTR

دستور MOVC  A,@A+DPTR
از اين دستور بيشتر براي رفتن به خانه هاي از حافظه با آدرس بيشتر از FF كه ديگر دستورات قادر به انجام آن نخواهند بود استفاده مي شود. طرز كار اين دستور به اين گونه است كه چون DPTR يك ثبات 16 بيتي مي باشد قادر است تا از  0000 تا FFFF را در خود ذخيره كند. پس محتواي DPTR با محتواي انباره جمع مي شود و تشكليل يك آدرس را مي دهند كه ميكرو به اين آدرس رفته و محتواي 8 بيتي آن را در انباره كپي ميكند. اين دستور كاربرد هاي فراوني دارد از جمله در  آوردن اطلاعات يا يك متن  يا پيغام از حافظه ROM و نمايش بر روي LCD .عملكرد ان در  آوردن اطلاعات مشابه قسمت ج) در مثال بالا مي باشد. SMGH

  منبع: www.picpars.com

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

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

برچسب ها:
تاریخ ارسال يكشنبه، 27 دي ماه، 1388    نویسندهنویسنده: مدیریت    نظرات 2 نظر    بازدید بازدید [ 9961 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان   

پروژه خازن سنج دو حالته از 1nf تا 2000uf
کد پروژه: MCP-22
عنوان: پروژه خازن سنج دو حالته از 1nf تا 2000uf
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
اندازه گیری ظرفیت خازن از 1nf تا 2000uf - دارای دو حالت علمی اندازه گیری - دارای کالیبره سازی خودکار - نمایش اتوماتیک رنج خازن بر روی نمایشگر
پروژه شمارش افراد با سنسور مادون قرمز و avr
کد پروژه: MCP-6
عنوان: پروژه شمارش افراد با سنسور مادون قرمز و avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
این پروژه در اصل یک شمارنده می باشد که می توان عبور مرور افراد از یک گیت را شمارش کرد، شمارنده هم می تواند به صورت بالا شمار و هم پایین شمار کار کند. همچنین توسط شدت نور یک عدد LED می‌توان سنسور فرستنده و گیرنده را در یک راستای مستقیم تنظیم کرد. سنسورها ار نوع مادون قرمز با برد تقریبی 120cm می باشد.

مرتبط باموضوع :          مطالب بیشتر در این موضوع

 شمارنده سه رقمی همراه با بوق  [ پنجشنبه، 6 خرداد ماه، 1389 ] 11670 مشاهده
 آموزش ميكرو كنترلر 8051 قسمت اول (سخت افزار)  [ يكشنبه، 27 دي ماه، 1388 ] 11617 مشاهده
 راه اندازي استپ موتور با 8051 (STEPER MOTOR)  [ چهارشنبه، 21 بهمن ماه، 1388 ] 18913 مشاهده
 آموزش ميكرو كنترلر 8051 قسمت چهارم (معرفي دستورات)  [ يكشنبه، 4 بهمن ماه، 1388 ] 10927 مشاهده
 پروژه ولت متر دیجیتال با 8051 به زبان اسمبلی  [ چهارشنبه، 21 بهمن ماه، 1388 ] 23606 مشاهده
نام شما: helia
ایمیل شما: mahtab.ghadiri@ymail.com
در مورخه : سه شنبه، 7 آبان ماه، 1392

عالی بود

ممنونم

ارسال جوابیه

نام شما: shahiiiin
ایمیل شما: shahinbhr89@gmail.com
در مورخه : دوشنبه، 2 دي ماه، 1392

کامل و جامع ....تشکر.

ارسال جوابیه

 
نام شما: [ کاربر جدید ]

نام شما (ضروری): 
ایمیل شما : 
نظر:
کد امنیتی
کد امنیتی

  [ بازگشت ]