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

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

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

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

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

به نام خدا

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

موضوع این جلسه : ارتباط سریال USART

تو جلسه قبل در مورد “انواع تبادل سریال” صحبت کردیم که 4 تا موردش رو ذکر کردیم و ما در این قسمت و پروژه هامون فقط از مد آسنکرون استفاده میکنیم و با 3 تا حالت دیگه کاری نداریم ، البته فعلا .

در این آموزش ریجستر هایی رو معرفی میکنیم که البته در ابتدای کار ما از هر ریجستر فقط با چند بیتش کار داریم و با بقیه بیت هاش کاری نداریم.(البته فعلا)


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



 

ریجسترها در ارتباط سریال USART

تو این جلسه که عنوانش  ” ارتباط سریال USART ” هست یه 5 تا ریجستر داریم با نام های UCSRA – UCSRB – UCSRC – UBRRL – UBRRH  که در ادامه توضیح میدمشون.بریم سراغ آموزش avr مون و این بار با موضوع قشنگ و زیبا USART !!!

1) ریجستر UCSRA :

 آموزش avr

بیت 0 : میکروکنترلر avr به حالت ارتباط سریال چند پردازنده ای میرود ؛ مربوط به اتصال چند میکروکنترلر به صورت سریال.

بیت 1 : فقط در حالت آسنکرون کاربرد داره ، در حالت سنکرون باید صفر شود ، با یک کردنش تقسیم فرکانسی (برا تولید نرخ انتقال داده) از 16 به 8 تغیر میکند.

بیت 2 : اگر در قالب دریافتی خطای توازن رخ دهد این بیت یک میشود.(موقع مقدار دهی به این ریجستر ، این بیت را باید صفر کرد.)

بیت 3 : اگه بافر دریافت پر شده باشه و بازم اگه اطلاعات جدیدی بهش داده شه ، اطلاعات جدید از بین میروند.(موقع مقدار دهی به این ریجستر ، این بیت را باید صفر کرد.)

بیت 4 : اگه در قالب داده دریافتی مشکلی رخ دهد این بیت یک میشه.(موقع مقدار دهی به این ریجستر ، این بیت را باید صفر کرد.)

بیت 5 : اگه بافر خالی باشه و آماده دریافت داداه جدید باشه این بیت یک میشه.(موقع مقدار دهی به این ریجستر ، این بیت را باید صفر کرد.)

بت 6 : اگه داده جدیدی برا ارسال موجود نباشه این بیت یک میشه.(موقع مقدار دهی به این ریجستر ، این بیت را باید صفر کرد.)

بیت 7 : زمانی که داده دریافتی در بافر دریافت موجود باشه و این بافر هنوز خونده نشده باشه.

 

2) ریجستر UCSRB :

میکروکنترلر

بیت 0 : اگه فریم داده ارسالی رو 9 بیت انتخاب کنیم ، این بیت به عنوان بیت 9 ام عمل میکند لذا باید این بیت رو یک کنیم.

بیت 1 : اگه فریم داده دریافتی رو 9 بیت انتخاب کنیم ، این بیت به عنوان بیت 9 ام عمل میکند لذا باید این بیت رو یک کنیم.

بیت 2 : این بیت به همراه بیت 1 و 2 ریجستر UCSRC مربوط به تعیین تعداد بیت داده هستش که با توجه به جدول زیر میتونید تعیینش کنید.

بیت 3 : برا تعیین قطعه مورد نظر (مثلا میکرو) به عنوان ارسال کننده داده باید این بیت یک شود.(با این کار عملکرد عادی پایه PORTD.1 قطع شده و نقش دومش یعنی TXD فعال میشه.)

بیت 4 : برا تعیین قطعه مورد نظر (مثلا میکرو) به عنوان دریافت کننده داده باید این بیت یک شود.(با این کار عملکرد عادی پایه PORTD.0 قطع شده و نقش دومش یعنی RXD فعال میشه.)

بیت 5 : با یک کردن این بیت وقفه خالی بودن بافر دریافتی فعال میشه.(البته به شرطی که بافر کلی(یا همون سراسری!) هم فعال باشه)

بت 6 : با یک کردن این بیت وقفه کامل شدن ارسال فعال میشه.(البته به شرطی که بافر کلی(یا همون سراسری!) هم فعال باشه)

بیت 7 : با یک کردن این بیت وقفه کامل شدن دریافت فعال میشه.(البته به شرطی که بافر کلی(یا همون سراسری!) هم فعال باشه)

 

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

 

3) ریجستر UCSRC :

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

بیت 0 : در مد سنکرون کاربرد دارد.

بیت 1 , 2 : توسط این دو بیت به همراه  بیت 2 ریجستر UCSRB میتوان تعداد بیت داده رو تعیین کرد. که با توجه به جدول بالا میتونید تعیینش کنید.

بیت 3 : تعیین تعداد بیت های STOP  (اگه صفرش کنیم>>یک بیت STOP و اگه یکش کنیم>> دوبیت STOP )

بیت 4 و 5 : تعیین بیت توازن ارسالی توسط ارسال کننده.با توجه به عکس(جدول!) زیر این کار رو کنید.

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

بیت 6 : انتخاب مد ارتباط سریال ؛ 0»»مد اسنکرون   و   1»»مد سنکرون

بیت 7 : انتخاب دسترسی به یکی از ریجستر های UCSRC یا UBRRH  ، برای دسترسی به UCSRC باید این بیت یک شود.

 

4) ریجستر های  UBRRL و UBRRH :

آموزش avr

آموزش avr

بیت 0 تا 11 : این 12 بیت برا تعیین نرخ انتقال داده استفاده میشوند.(توسط جدول زیر—جدول زیر رو از دیتاشیت مگا16 گرفتم)

روی عکس ها کلید کنید و در اندازه اصلی ببینیدشون

 ارتباط سریال USART

 

 

 ارتباط سریال USART

 

 آموزش AVR

 

 آموزش AVR

بیت 12 و 13 و 14 : رزرو شده !

بیت 15 : انتخاب دسترسی به یکی از ریجستر های UCSRC یا UBRRH  ، برای دسترسی به UBRRH  باید این بیت صفر شود.


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

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