تبلیغات
برق الکتروتکنیک - رجیستر چیست؟
برق الکتروتکنیک
برق الکتروتکنیک
برق الکتروتکنیک برق الکتروتکنیک برق الکتروتکنیک برق الکتروتکنیک برق الکتروتکنیک
درباره وبلاگ


به وبلاگ جامع برق الکتروتکنیک خوش آمدید،امید وارم مورد پسندتان باشد.

مدیر وبلاگ : جواد نظرلو
نویسندگان
رجیستر چیست؟ رجیستری‌های PORTx, PINx , DDRx، قسمتی از برنامه‌ی یک ربات مسیریاب بسیار ساده و ...

رجیسترها توعی حافظه هستند که به طور مستقیم با بخشش پردازش‌گر میکروکنترلر در ارتباط هستند. هر رجیستر یک بایت یا 8 بیت است. یکی از ویژگی‌های رجیسترها این است که به خاطر ارتباط نزدیک با پردازنده، سرعت بسیار بالاتری نسبت به سایر خانه‌های حافظه دارند...





به نام خدا

با عرض سلام خدمت همه ی دوستان عزیز

شروع سال جدید تحصیلی را به همه ی دوستان خوبم تبریک عرض می کنم و برای همه ی دوستان سال خوب تحصیلی سرشار از موفقیتی رو آرزو می کنم.

در ضمن دوستانی هم که امسال وارد پیش دانشگاهی شدند فراموش نکنند که دیگه نباید تا کنکورشون این طرفا تشریف بیارن!!!!!!!!

خوب، بر می گردیم سر مبحث میکروکنترلرها....

قرار بود این جلسه برنامه ی یک مسیریاب بسیار ساده ی 2 سنسوره را با هم بنویسیم. اما ابتدا باید چندتا نکته ی دیگه هم یاد بگیریم.

همونطور که گفته شد AT Mega16 دارای پایه های متعددی برای تبادل اطلاعات با مدار است. هر 8پایه ی مجاور که این وظیفه را دارند یک پورت نامیده می شوند (به شکل نگاه کنید) . AT Mega16 دارای 4 پورت با نام های A ، B ، C و D می باشد. پایه های هر پورت به این شکل نمایش داده می شود:

شماره ی پایه+"."+نام پورت

مثلاً اولین پایه ی پورت D به این صورت نشان داده می شود: D.0
و پایه ی سوم پورت C به صورت : C.2
حال به ترتیب پایه های ATMEGA16L دقت کنید


دقت کنید که شماره گذاری پایه ها در پورت ها از 0 شروع می شود.
همچنین گفته شد، پایه های میکروکنترلر می توانند به صورت ورودی یا خروجی تنظیم شوند، مثلاً در یک ربات مسیریاب میتوان چند پایه را تنظیم کرد که ورودی باشند و اطلاعات سنسورها را دریافت کنند، یا انها را تنظیم کرد تا خروجی باشند و موتورها را هدایت کنند. این تنظیم به صورت نرم افزاری و با تنظیم رجیستر DDRx انجام می گیرد. اما ابتدا باید رجیستر را تعریف کنیم.

رجیستر چیست؟
رجیسترها توعی حافظه هستند که به طور مستقیم با بخشش پردازشگر میکروکنترلر در ارتباط هستند. هر رجیستر یک بایت یا 8 بیت است. یکی از ویژگی های رجیسترها این است که به خاطر ارتباط نزدیک با پردازنده، سرعت بسیار بالاتری نسبت به سایر خانه های حافظه دارند.

رجیستر DDRx:
رجیستر DDRx (Data Direction) برای تنظیم ورودی یا خروجی بودن پایه های میکروکنترلر است. برای تنظیم پایه ها در برنامه، باید به جای x باید آدرس پایه ی مورد نظر(مثل B.3) را بنویسیم. اگر بخواهیم آن پایه خروجی باشد باید بیت رجیستر مربوط به آن را 1 کنیم، و اگر بخواهیم آن پایه ورودی باشد، باید بیت رجیستر مربوط به آن را 0 کنیم. به عنوان مثال اگر بخواهیم پایه17 یعنی D.3 خروجی باشد باید این جمله را بنویسیم: DDRD.3=1;
و اگر بخواهیم این پایه ورودی باشد: DDRD.3=0;

رجیستر PORTx:
در صورتی که پایه ها به صورت خروجی تنظیم شده باشند، هر چه در این رجیستر نوشته شود سطح منطقی پایه ی متناظر را تعیین می کند، مثلاً اگر بنویسیم PORTB.3=1 پایه B.3 یعنی پایه ی 4، 1 منطقی خواهد شد(یعنی ولتاژ 5 ولت بر روی این پایه قرار می گیرد). و اگر بنویسیم PORTC.1=0، پایه ی C.1 یعنی پایه ی 23، 0 منطقی خواهد شد (یعنی ولتاژ این پایه 0 می شود.).

رجیستر PINx:
در صورتی که پایه ها به صورت ورودی تنظیم شده باشند، محتویات این رجیستر حاوی اطلاعات دریافتی از پایه های میکروکنترلر است. مثلاً اگر PINB.1=0 باشد، یعنی بر روی پایه شماره ی 2 یا همان B.1 ؛ 0 منطقی اعمال شده است(مثلاً اگر به سنسوری وصل شده است، خروجی سنسور 0 منطقی بوده است). در حقیقت این رجیستر برای خواندن وضعیت پایه های ورودی مورد استفاده قرار می گیرد.

نکته ی بسیار مهم: دقت کنید که در زبان C، باید در انتهای هر خط از برنامه یک علامت ";" گذاشته شود. به این علامت در زبان انگلیسی سِمی کالِن می گویند.

نکته ی مهم:
در حقیقت برای هر پورت 3 رجیستر(حافظه 1 بایتی) در داخل میکروکنترلر وجود دارد که به مجموع این 12 رجیستر، رجیسترهای I/O (Input/Output) می گویند.

بسیار خوب، حالا نوبت نوشتن برنامه ی 1 ربات مسیریاب ساده است که فقط 2 تا سنسور داره!!!

نرم افزاری کمکی به نام Code Wizard در داخل همان Codevision وجود دارد که کار ما را برای انجام تنظیمات اولیه مانند تنظیم ورودی یا خروجی بودن پایه ها آسان می کند. یعنی دیگه نیازی نیست برای هر پایه تک تک با رجیستری DDR سرو کله بزنیم، و به راحتی با چند تا تیک ساده همه ی پایه ها رو تنظیم می کنیم. البته Code wizard همونطور که از اسمش هم معلومه بسیاری امکانات جادویی دیگری هم داره که در جلسات آینده به تدریج با آن ها آشنا خواهیم شد. Code Wizard در حقیقت برای ساده تر کردن و سریع تر کردن برنامه نویسی در فضای Codevision طراحی شده است و کارش این است که قسمت های زیادی از برنامه را به صورت خود کار و طبق خواسته های ما برای ما می نویسد.

پس با این حساب نیازی نیست تنظیمات رجیستری DDRx رو ما در برنامه خودمون انجام بدیم و این کار رو به Code wizard واگذار می کنیم. با Code wizard در جلسه ی آینده آشنا خواهیم شد.

پس در این جلسه فرض می کنیم تنظیمات اولیه مثل رجیستری DDRx و ... انجام شده است. پایه های B.0 و B.1 را به صورت ورودی(برای دریافت اطلاعات سنسورها)، و پایه های B.2 ،B.3 ، B.4 و B.5را به صورت خروجی (برای کنترل حرکت موتورها) تنظیم کرده می کنیم.

B2 و B.3 برای کنترل موتور سمت راست و B.0 برای سنسور سمت راست!

B.4 و B.5 برای کنترل موتور سمت چپ و B.1 برای سنسور سمت چپ!

حال مانند ربات قبلی، یک پایه از هر موتور را 0 می کنیم؛ و روشن و خاموش کردن هر موتور را، با اعمال 0 یا 1 منطقی بر روی پایه ی دیگر کنترل می کنیم.

پایه ی دیگر را هم به صورت هماهنگ با سنسور متناظر آن سمت 0 و 1 می کنیم، یعنی اگر خروجی سنسور 0 بود، پایه ی موتور را 0 می کنیم و اگر 1 بود ، پایه را 1 کرده و موتور را فعال می کنیم.(به شرطی که از مدار گیرنده ی شماره 2 استفاده شود(جلسه ی 15))

در زبان C علامت "=" یک عملگر است که عملوند سمت راست خود را خوانده و در عملوند سمت چپ خود می ریزد. مثلاً وقتی می نویسیم:

PORTB.3=PINB.0;

ابتدا مقداری B.0 خوانده می شود و سپس بر روی B.3 ریخته می شود. یعتی مثلاً اگر روی B.0 ، 1 منطقی اعمال شده باشد، پایه ی B.3 نیز 1 منطقی می شود.

حال با توضیحات داده شده به برنامه ی ربات مسیر یاب ساده دقت کنید:

PORTB.2=0;

PORTB.4=0;

PORTB.3=PINB.0;

PORTB.5=PINB.1;

همانطور که می بینید این برنامه بسیار ساده و کوتاه است.

در جلسات آینده سعی می کنیم شما رو با Code wizard بیشتر آشنا کنیم. منتظر سوالات و نظرات دوستای خوبم هستم.

پیروز باشید.





نوع مطلب :
برچسب ها :
لینک های مرتبط :
جواد نظرلو
چهارشنبه 22 شهریور 1391
چهارشنبه 16 مرداد 1398 12:21 ب.ظ
What's up colleagues, its wonderful article regarding
teachingand completely explained, keep it up all
the time.
یکشنبه 13 مرداد 1398 10:21 ق.ظ
Hi, i think that i saw you visited my website thus i came to “return the favor”.I'm trying
to find things to enhance my web site!I suppose its ok to use some
of your ideas!!
یکشنبه 13 مرداد 1398 01:55 ق.ظ
hey there and thank you for your info – I've definitely picked up
something new from right here. I did however expertise some technical points using this site, as I experienced to reload the web site many times previous to I could get it to load properly.
I had been wondering if your web hosting is OK?
Not that I am complaining, but sluggish loading instances times will very frequently affect your placement in google and could damage your high quality score if ads and marketing with Adwords.
Well I'm adding this RSS to my email and can look out for a lot more of your respective interesting content.
Make sure you update this again very soon.
سه شنبه 8 مرداد 1398 11:17 ب.ظ
Hi there, its pleasant paragraph concerning media print, we
all understand media is a impressive source of facts.
سه شنبه 8 مرداد 1398 06:27 ب.ظ
Hello friends, its fantastic article about educationand entirely
explained, keep it up all the time.
سه شنبه 8 مرداد 1398 02:02 ق.ظ

You actually mentioned it exceptionally well!
northwest pharmacies in canada canada drug canadian pharmacies canada medication canadian pharmacy viagra drugstore online shopping reviews trust pharmacy canada canada medication pharmacy trust pharmacy of canada north west pharmacy canada
شنبه 29 تیر 1398 08:56 ق.ظ
es testosterone viagra
<a href="https://www.viagraforsalemsn.com/">viagra pills for sale</a>
سه شنبه 25 تیر 1398 05:20 ب.ظ
natural viagra alternatives
<a href="https://www.viagraforsalemsn.com/">where can i buy viagra</a>
دوشنبه 3 تیر 1398 07:19 ق.ظ

With thanks. Wonderful information.
are there generic cialis cialis 30 day trial coupon cialis australia org calis india cialis 100mg cost comprar cialis 10 espa241a cialis without a doctor's prescription opinioni cialis generico cialis baratos compran uk deutschland cialis online
یکشنبه 2 تیر 1398 12:46 ق.ظ

Appreciate it! Numerous material.

callus purchase once a day cialis canadian discount cialis how to purchase cialis on line cialis wir preise pastillas cialis y alcoho cialis 20mg prix en pharmacie wow look it cialis mexico only best offers cialis use generic cialis pill online
جمعه 31 خرداد 1398 03:35 ب.ظ

Thank you, Great information!
cialis patent expiration cialis daily dose generic cialis 5 mg scheda tecnica generic cialis in vietnam how does cialis work tadalafil cialis 5 mg buy non 5 mg cialis generici cialis super kamagra cialis generico
پنجشنبه 30 خرداد 1398 11:40 ب.ظ

Awesome content. Regards!
i recommend cialis generico generic cialis with dapoxetine cialis lilly tadalafi side effects for cialis cialis generico en mexico buy cialis online cialis 20 mg effectiveness does cialis cause gout cialis generico online prezzo di cialis in bulgaria
پنجشنبه 30 خرداد 1398 04:21 ق.ظ

You actually expressed this well!
viagra cialis levitra cialis 5 mg funziona cialis 5mg buying cialis in colombia cialis taglich we choice cialis pfizer india buy name brand cialis on line cipla cialis online achat cialis en itali link for you cialis price
سه شنبه 28 خرداد 1398 08:09 ب.ظ

You made your point pretty nicely!!
cialis daily buying cialis overnight generic for cialis cialis with 2 days delivery 5 mg cialis pharmacie en ligne cialis kaufen bankberweisung cialis kaufen wo when will generic cialis be available achat cialis en suisse buying brand cialis online
یکشنبه 26 خرداد 1398 05:59 ب.ظ

Cheers. A lot of posts!

cialis uk order a sample of cialis only best offers 100mg cialis generico cialis mexico cipla cialis online how to buy cialis online usa side effects of cialis acheter du cialis a geneve cialis 5 mg para diabeticos cialis for bph
یکشنبه 26 خرداد 1398 03:20 ق.ظ

You actually suggested it adequately!
buy cialis online nz cialis per paypa cialis 30 day trial coupon cialis online cialis rezeptfrei tadalafilo cialis in sconto venta cialis en espaa cialis preise schweiz order a sample of cialis
شنبه 25 خرداد 1398 01:35 ب.ظ

Info effectively used!!
cialis coupons printable cialis canada generic cialis 20mg tablets wow cialis tadalafil 100mg cialis online holland cialis for sale in europa cialis venta a domicilio cialis bula generic cialis in vietnam cuanto cuesta cialis yaho
جمعه 24 خرداد 1398 11:18 ب.ظ

You suggested it really well.
cialis canada on line cialis 5mg prix cipla cialis online cialis kaufen bankberweisung legalidad de comprar cialis cialis 20 mg best price cost of cialis per pill brand cialis generic cialis farmacias guadalajara miglior cialis generico
جمعه 24 خرداد 1398 09:06 ق.ظ

Really a lot of excellent facts!
estudios de cialis genricos only now cialis 20 mg cialis 5 mg schweiz brand cialis nl generic cialis 20mg tablets order cialis from india cialis from canada canadian discount cialis cialis 10 doctissimo cialis farmacias guadalajara
جمعه 24 خرداد 1398 02:59 ق.ظ
Adɗ the eggs and refrigedate it for 20 minutes.
جمعه 24 خرداد 1398 01:01 ق.ظ
Abundant, beautiful, mᥙshy new potatoes.
جمعه 24 خرداد 1398 12:57 ق.ظ
Raѕpberry Clаfouti Recipе + Bigger Image.
پنجشنبه 23 خرداد 1398 11:42 ب.ظ
Cinnɑmon's health aԁvantages ddo not ceasxe there.
پنجشنبه 23 خرداد 1398 06:37 ب.ظ

Good write ups. Thanks a lot.
cialis 20 mg effectiveness buy cialis online nz tesco price cialis cialis online napol cialis without a doctor's prescription cialis billig cialis from canada when can i take another cialis cialis from canada precios cialis peru
پنجشنبه 23 خرداد 1398 08:03 ق.ظ
Cumoara Raspberfу Pi three Mannequin B 1 Gb RAM de la eMAG!
پنجشنبه 23 خرداد 1398 05:54 ق.ظ
Raspberry Clafouti Reciрe + Biggwr Picture.
پنجشنبه 23 خرداد 1398 05:36 ق.ظ
Thatt iѕ what salted codfish sеeems like.
پنجشنبه 23 خرداد 1398 05:21 ق.ظ

You've made your stand very effectively..
ou acheter du cialis pas cher cialis super kamagra trusted tabled cialis softabs sublingual cialis online 200 cialis coupon generic cialis with dapoxetine how to purchase cialis on line cialis in sconto cialis online napol cialis venta a domicilio
پنجشنبه 23 خرداد 1398 03:52 ق.ظ
The Noova Ꮪcofia Codfish Balls added onion.
پنجشنبه 23 خرداد 1398 03:03 ق.ظ
Ⅿy fathger used to make scrаmbled eggs this mannеr.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


نمایش نظرات 1 تا 30


آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
امکانات جانبی



جاوا اسكریپت

آپلود نامحدود عکس و فایل

آپلود عکس



فال حافظ



..

.


کد آهنگ