تبلیغات
روبوکوپ - رجیستر چیست؟

جامع ترین سایت ساخت و فروش اسپمر با قیمت مناسب

رجیستر چیست؟

نویسنده :برنامه نویس
تاریخ:شنبه 23 اردیبهشت 1391-01:14 ب.ظ

همونطور که گفته شد 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;

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



نوع مطلب : رباتیک 

داغ کن - کلوب دات کام
نظرات() 
Cialis 20 mg
جمعه 16 آذر 1397 05:16 ق.ظ

Nicely put. Many thanks.
canadian discount cialis cuanto cuesta cialis yaho cialis side effects dangers click now cialis from canada bulk cialis cialis pills weblink price cialis cialis kaufen click now cialis from canada price cialis wal mart pharmacy
buy cialis online best price
پنجشنبه 15 آذر 1397 10:02 ق.ظ

You actually explained it terrifically.
no prescription cialis cheap cialis generico how to purchase cialis on line cialis 5 mg funziona female cialis no prescription viagra vs cialis vs levitra cialis 5 mg schweiz order cialis from india cialis price thailand india cialis 100mg cost
Cialis prices
چهارشنبه 14 آذر 1397 02:02 ب.ظ

Very good advice. Many thanks!
generico cialis mexico cialis per paypa buy cialis online legal cialis y deporte where to buy cialis in ontario generic cialis review uk cialis prices in england cialis daily reviews where do you buy cialis price cialis wal mart pharmacy
buy cialis online without a prescription
چهارشنبه 14 آذر 1397 02:34 ق.ظ

Thanks, A lot of advice.

canadian drugs generic cialis cialis generico milano american pharmacy cialis viagra vs cialis cialis soft tabs for sale cialis generic tadalafil buy click here to buy cialis low cost cialis 20mg we choice cialis pfizer india buy cialis online legal
Cialis prices
سه شنبه 13 آذر 1397 03:32 ب.ظ

Thank you! A lot of postings.

cialis kaufen bankberweisung brand cialis nl cialis daily dose generic discount cialis opinioni cialis generico cialis soft tabs for sale cialis venta a domicilio bulk cialis we like it cialis soft gel we recommend cialis info
Cialis pills
سه شنبه 13 آذر 1397 04:09 ق.ظ

Very good posts, Thanks.
cialis 5 effetti collaterali cialis 5mg prix we like it cialis price cialis farmacias guadalajara cialis et insomni generic for cialis cialis online holland cialis wir preise trusted tabled cialis softabs we like it cialis price
buy cialis germany
دوشنبه 12 آذر 1397 03:57 ب.ظ

Nicely put. Thanks.
cialis online napol cialis name brand cheap cialis in sconto cialis online cialis prices cialis lilly tadalafi cialis in sconto where to buy cialis in ontario cialis dosage cialis for daily use
buy cialis without a doctor's prescription
دوشنبه 12 آذر 1397 03:52 ق.ظ

You actually explained that really well.
cialis daily reviews cialis generika in deutschland kaufen cialis canada on line cialis 20mg try it no rx cialis il cialis quanto costa cialis en 24 hora we choice cialis pfizer india click here take cialis cialis tadalafil online
buy cialis online cheap
یکشنبه 11 آذر 1397 03:20 ب.ظ

Fine information. Cheers!
acquistare cialis internet click here cialis daily uk calis cialis daily new zealand cialis 100 mg 30 tablet 5 mg cialis coupon printable venta cialis en espaa cialis dosage recommendations buy cialis online cheapest 5 mg cialis coupon printable
Buy generic cialis
یکشنبه 11 آذر 1397 03:33 ق.ظ

Amazing knowledge. Kudos.
cialis en mexico precio cialis et insomni only best offers cialis use effetti del cialis only now cialis for sale in us cialis 05 cialis dosage recommended site cialis kanada we like it cialis price buy cialis online cheapest
Online cialis
شنبه 10 آذر 1397 03:58 ب.ظ

Wow lots of great knowledge!
cialis 5mg billiger cialis generic availability rx cialis para comprar we recommend cialis info purchasing cialis on the internet cialis from canada viagra vs cialis link for you cialis price cialis 30 day trial coupon cialis tadalafil
buy cialis uk
شنبه 10 آذر 1397 03:09 ق.ظ

Thanks! Great information.
dose size of cialis cialis for daily use cialis purchasing cialis ahumada cilas viagra vs cialis vs levitra cialis daily reviews cialis sale online rx cialis para comprar cialis taglich
buy cialis without a doctor's prescription
جمعه 9 آذر 1397 03:52 ب.ظ

Kudos. Ample material.

cialis online holland comprar cialis 10 espa241a cialis uk we recommend cialis best buy cialis prices in england tadalafil tablets cuanto cuesta cialis yaho acheter cialis meilleur pri cialis e hiv precios cialis peru
Cialis generic
جمعه 9 آذر 1397 04:07 ق.ظ

You actually stated this well.
cialis super acti tarif cialis france how to buy cialis online usa generic cialis review uk acquisto online cialis tadalafil 10 mg cialis lilly tadalafi cialis coupons when will generic cialis be available cialis 05
Cialis generic
پنجشنبه 8 آذر 1397 04:44 ب.ظ

Nicely put, Many thanks.
cialis kamagra levitra price cialis wal mart pharmacy cialis for sale south africa we like it cialis soft gel when will generic cialis be available cialis for sale order generic cialis online cialis 100 mg 30 tablet ou acheter du cialis pas cher achat cialis en europe
buy cialis online without a prescription
پنجشنبه 8 آذر 1397 04:47 ق.ظ

Nicely put. Cheers.
generic cialis 20mg uk opinioni cialis generico cialis online deutschland cialis australia org cialis online we like it cialis price prices for cialis 50mg online prescriptions cialis generico cialis mexico try it no rx cialis
Buy cialis online
چهارشنبه 7 آذر 1397 04:17 ب.ظ

Great content, Regards.
what is cialis buy cialis uk no prescription wow cialis tadalafil 100mg purchase once a day cialis cialis 5mg prix we choice free trial of cialis tesco price cialis cialis efficacit cialis with 2 days delivery cialis pas cher paris
Cialis prices
چهارشنبه 7 آذر 1397 04:13 ق.ظ

Thanks a lot. Lots of data!

cialis 5mg billiger generic cialis levitra cialis 20 mg cost buy cheap cialis in uk i recommend cialis generico how to buy cialis online usa cialis 20 mg cost 200 cialis coupon cialis tablets brand cialis generic
levitra
جمعه 20 مهر 1397 01:33 ق.ظ

Truly all kinds of superb tips.
levitra 20 mg levitra 20mg buy generic levitra buy levitra online levitra 20mg levitra prices buy 10 mg levitra buy levitra buy levitra levitra 20mg
buy cialis online without a prescription
سه شنبه 10 مهر 1397 02:29 ب.ظ

You explained it perfectly.
cialis venta a domicilio when will generic cialis be available buy cialis online cialis professional from usa we use it 50 mg cialis dose cialis prezzo al pubblico cialis 100 mg 30 tablet rezeptfrei cialis apotheke canadian cialis achat cialis en europe
Cialis online
یکشنبه 8 مهر 1397 09:20 ق.ظ

Helpful posts. With thanks!
cialis en 24 hora price cialis per pill cialis 50 mg soft tab low cost cialis 20mg precios de cialis generico precios de cialis generico 200 cialis coupon cialis rckenschmerzen generic cialis pro buy cialis online legal
Buy cialis
شنبه 7 مهر 1397 10:06 ق.ظ

You mentioned that perfectly.
we recommend cialis info acquistare cialis internet safe dosage for cialis we recommend cheapest cialis wow look it cialis mexico deutschland cialis online cialis 5mg prix wow look it cialis mexico cialis daily reviews acheter du cialis a geneve
online pharmacies of canada
شنبه 31 شهریور 1397 11:00 ب.ظ

Great posts. Kudos!
northwest pharmacies online canadian pharcharmy online24 canadian pharcharmy online canadian online pharmacies canadian pharmacy no prescription canadian discount pharmacies in canada canadian rx Canadian Pharmacy USA pharmacy canada best the best canadian online pharmacies
http://cialisyoues.com/
چهارشنبه 28 شهریور 1397 11:46 ب.ظ

Cheers, An abundance of advice!

acquisto online cialis cialis canada on line interactions for cialis low cost cialis 20mg cialis side effects dangers buy brand cialis cheap cialis wir preise precios cialis peru tadalafil generic we use it 50 mg cialis dose
http://viagravonline.com/
سه شنبه 27 شهریور 1397 08:38 ب.ظ

You expressed that exceptionally well!
200 cialis coupon estudios de cialis genricos walgreens price for cialis buying cialis overnight generic cialis at the pharmacy viagra vs cialis vs levitra the best site cialis tablets cialis tadalafil best generic drugs cialis tadalafil 10 mg
http://viagraessale.com/
پنجشنبه 15 شهریور 1397 10:51 ق.ظ

Amazing many of amazing info.
cialis 5 mg generic cialis soft gels buy original cialis cialis 20 mg cialis professional from usa price cialis per pill il cialis quanto costa link for you cialis price generic cialis with dapoxetine cialis kamagra levitra
canadian online pharmacy
چهارشنبه 14 شهریور 1397 02:29 ق.ظ

You actually suggested that wonderfully.
canada drugs online drugs for sale online buy vistagra usa online pharmacies tech school canadian pharmacies canada medication pharmacy best canadian pharmacies online online pharmacy canadian rxlist buy viagra online usa
how can you buy viagra online
سه شنبه 13 شهریور 1397 07:44 ق.ظ

You made your stand quite clearly!!
buy viagra no prescription online viagra without prescription how can i buy viagra without seeing a doctor vaigra buy viagra cheap uk buy genuine viagra order viagra online without a prescription buy viagra online generic where to buy viagra get prescription for viagra
kawanboni.com
دوشنبه 12 شهریور 1397 06:12 ق.ظ

You actually explained it effectively.
cialis uk next day generic low dose cialis dosagem ideal cialis discount cialis best generic drugs cialis cialis generico en mexico interactions for cialis cialis sicuro in linea tadalafil 5mg cialis professional from usa
viagravipsale.com
یکشنبه 11 شهریور 1397 03:37 ب.ظ

You stated this well.
no prescription cialis cheap generic cialis in vietnam precios de cialis generico how much does a cialis cost cialis generic click here cialis daily uk buying cialis on internet achat cialis en suisse cialis canada cialis rckenschmerzen
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


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