گیتی الکترونیک مبتکر ایرانیان (گاما)

طراحی و ساخت انواع پروژه های الکترونیکی صنعتی و دانشجویی 09137291125

گیتی الکترونیک مبتکر ایرانیان (گاما)

طراحی و ساخت انواع پروژه های الکترونیکی صنعتی و دانشجویی 09137291125

آموزش جامع میکروکنترلر AVR ادامه جلسه۱

معرفی پایه های میکروکنترلر

میکروکنترلر AVR

پایه های GND به زمین متصل میشوند.

پایه VCC  و  AVCC   به +۵ ولت متصل میشوند .

 

پایه های PA0-PA7 مربوط به پورت A

پایه های PB0-PB7 مربوط به پورت B

پایه های PC0-PC7 مربوط به پورت C

پایه های PD0-PD7 مربوط به پورت D

 

پایه های XTAL1   و   XTAL2  هم جهت اتصال به کریستال میباشند.

پایه AREF هم جهت استفاده در مقایسه کننده آنالوگ کاربرد دارد.
اینو تو جلسه مبدل آنالوگ به دیجیتال در میکروکنترلرهای AVR توضیح میدم.



 

از نون شب واجبتره-حتما خوب بخونیدش-البته اگه نفهمیدید ، تو قسمت پروژها خودتون یاد میگیرید(پیش بینی رو حال میکنی!!!!)

 

ریـــجـــســـتـــرهــا

۱) رجیستر DDRx

این رجیستر دارای ۸ بیت است که مقدار هر بیت تعیین کننده ورودی یا خروجی بودن همان بیت در پورت مورد نظر است.

اگر مقدار بیت مورد نظر ۰ باشد>>>>>>پین ورودی تعریف میشود.(یعنی اطلاعات میگیره از خارج!!!)
اگر مقدار بیت مورد نظر ۱ باشد>>>>>>پین خروجی تعریف میشود.(یعنی اطلاعات میده!!!)

برای DDRD داریم :

رجیستر DDRx

همونطور که ملاحظه میکنید ۸ تا بیت داریم که از شماره های ۰-۷ شماره گذاری شده اند.ترتیب هم از راست به چپه !

برای مثال میخوایم پین سوم از پورت D رو بعنوان ورودی و پین ششم از همین پورت رو بعنوان خروجی تعریف کنیم.باید چه مقادیری رو به پین ها بدیم ؟!

پین سوم یعنی شماره ۲ یعنی DDRD.2 (توجه : شمارش پایه های هر پورت از ۰ شروع میشه)

پین ششم هم یعنی شماره ۵ یعنی DDRS.5

پس مقدار رجیستر DDRD=00100000 میباشد.

 

۲) رجیستر PORTx

مقدار هریک از بیت های این رجیستر تعیین کننده High یا Low بودن پین متناظر است.

از این رجیستر تنها هنگام نوشتن در پورت استفاده میشود.

توضیح :

فرض کنید که در نظر داریم یه LED رو به یکی از پین های میکرو وصل کنیم و فرمان بدیم که اون LED روشن بشه !

میایم چیکار میکنیم ؟! خوب دقت کنید !

ما با DDRx میگیم که فلان پین (یا پایه یا بیت !!! ) رو یک کن (یعنی خروجی کن—یعنی این پایه باید اطلاعات بفرسته یعنی ….)
حالا باید بگیم که ولتاژ هم اعمال کن که این کار به کمک این ریجستر انجام میشه.
حالا اگه بیت متناظر همون پین رو در رجیستر PORTx برابر مقدار ۱ قرار بدیم،وضعیت اون بیت(پین) به حالت High میرود و ولتاژ به پین مورد نظر وارد میشود.

توجه : این رجیستر دارای ۸ بیت است که مقدار هر بیت تعیین کننده High یا Low بودن همان بیت در پورت مورد نظر است.

اگر مقدار بیت ۰  باشد>>>>>>وضعیت LOW
اگر مقدار بیت  ۱ باشد>>>>>>وضعیت HIGH

برای PORTD داریم :
رجیستر PORTx

۳) رجیستر PINx 

این رجیستر تعیین کننده وضعیت فیزیکی بیت(پین) مورد نظر برای CPU است.
از این رجیستر تنها هنگام خواندن از پورت استفاده میشود.
اگر پین مورد نظر بعنوان ورودی در نظر گرفته شده باشد،بیت متناظر با آن در رجیسترPINx ،حاوی اطلاعات دریافتی از همان پین مورد نظر در میکرو است.
توضیح : همونطور که گفتم فقط هنگامی که میخوایم از پایه اطلاعات رو بخونیم یا به عبارتی پایه(پین) موردنظرمون رو ورودی تعریف کرده باشیم از این رجیستر استفاده میکنیم.

فرض کنید یه سنسور رو به یکی از پایه های میکرو وصل کرده ایم و این سنسور در شرایط مختلف مقدار ۰ یا ۱ را برمیگرداند.
حتما میدونید که چون سنسور داره اطلاعات رو به سمت میکرو میفرسته و میکرو هم باید اون اطلاعات رو دریافت کنه،در نتیجه پین مورد نظر باید در حالت ورودی تنظیم شده باشه !
اون موقع اگه خواستیم متوجه بشیم که الان سنسور مقدارش ۱ هست یا ۰ میایم و مقدار بیت متناظر در رجیستر PINx رو قرائت میکنیم.

پس :

آموزش avr

 

این رجیستر دارای ۸ بیت است که مقدار هر بیت تعیین کننده High یا Low بودن همان بیت در پورت مورد نظر است.

اگر مقدار بیت ۰ باشد>>>>>>>>وضعیت   LOW
اگر مقدار بیت ۱ باشد>>>>>>>>وضعیت   HIGH

 

اما در حالت ورودی منظور از HIGH  یا LOW  بودن چیست ؟!
(به این زیاد گیر ندید بعدا به حسابش میرسیم ^_^)

اگر بیت مورد نظر در حالت ورودی تنظیم شده باشد و بیت مورد نظر آن در رجیستر PORTx بصورت High تعریف شده باشد،مقاومت پول آپ داخلی فعال میشود.

در صورتیکه بیت مورد نظر در رجیستر PORTx بصورت LOW تعریف شود،پین مورد نظر به صورت Tri-State یا Hi-z در آمده که معنای آن این است که پین موردنظر وضعیت مشخصی ندارد.همانند هنگامی که برای پین هیج مقداری در رجیسترهای DDRx و PORTx و RINx تعریف نکرده باشیم(حالت پیشفرض).

نکته :در صورتی که پین را در حالت پول آپ تنظیم کردید،لازم است که بیت PUD از رجیستر SFIOR را یک کنید.

آموزش جامع avr


ابزار مورد نیاز برای کار با میکروکنترلر avr

خیلی خوب ، رسیدیم به بهترین قسمت این مطلب–برا کار با avr باید یک زبان برنامه نویسی و یک نرم افزار شبیه ساز رو انتخاب کنید.

برای برنامه نویسی ۲ راه وجود دارد :

(این نرم افزاره که در زیر میگم کارش اینه که کدهای ما رو به زبون ماشین تبدیل میکنه. )
۱) زبان برنامه نویسی بیسیک به کمک نرم افزار بسکام
۲) زبان برنامه نویسی سی به کمک نرم افزار کدویژن

تا اونجایی که من میدونم بیسیک آسون تره ولی سی قویتره.
من خودم با زبون سی کار میکنم.

برای شبیه سازی مدار تو کامپیوتر دو راه وجود دارد :

۱) نرم افزار پروتئوس یا  ISIS
۲) نرم افزار اورکد  یا  Capture

من خودم تقریبا با جفتشون کار کردم ؛ به نظر من پروتئوس بهتر از اورکد هست هم از نظر ظاهر و هم از نظر راحتی باهاش!!!
البته اگه یکیش رو یاد بگیری یاد گرفتن اون یکی زیاد کاری نداره.

برا آموزشش هم تو اینترنت پر از کتاب و فیلم هستش.

شرکت بهکامان هم آموزش این دو نرم افزار رو درست کرده و برای فروش گزاشته(چیز بدی نیستن-من خودم هر دوتاش رو خریدم.)
برای رفتن به صفحه مورد نظر روی اسم های زیر کلیک کنید

آموزش ORCAD

آموزش Proteus


سایر منابع :  سایت دمرچیلو

پایان جلسه اول

نظرات 2 + ارسال نظر
ادیب یکشنبه 22 آذر 1394 ساعت 00:14

سلام
مرسی...
استفاده کردیم...خدا خیرتون بده

سلام
قربونت

امید ذاکری پنج‌شنبه 19 آذر 1394 ساعت 10:43 http://www.roidyab.com

سلام امیدوارم حالتون خوب باشه.
وبگاه زیباتون رو دیدم
بنده مدیر سایت موبایل رویدیاب به نشانی
http://www.roidyab.com
اگه ممکنه لینکشو در وبگاه خوبتون قرار بدید، تا بنده لینک شما رو در صفحه لینک های مفید سایت پروازه که نرم افزار ارائه شده در اون در حدود 3000 کافی نت در ایران استفاده میشه قرار بدم.
همچنین اگه مایل به تبادل لینک سه طرفه نیستید و باید مبلغی پرداخت کنم شماره کارت بهمراه مبلغ رو برام ایمیل کنید
ایمیل من
h.sadr.yz@gmail.com
منتظر خبرتون هستم امیدوارم فراموش نکنید.
راستی هر عنوانی که خودت خواستی می تونی براش بذاری ممنونم.

سلام
لینک شما در قسمت لینکدونی وب ثبت گردید..
لطفا وب ما نیز لینک نمایید..
باتشکر

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد