دسته
الکترونیک
آرشیو
آمار وبلاگ
تعداد بازدید : 4290
تعداد نوشته ها : 2
تعداد نظرات : 0
Rss
طراح قالب

AVR آموزش سریع میکروکنترلر

(info@avr.ir) مولف: رضا سپاس یار

عنوان مطالب

Reset فیوز بیت ها، منابع کلاک و

C آشنایی با زبان

پروژه 1 :فلاشر ساده

7-Segment پروژه 2: کانتر یک رقمی با

(LCD) پروژه 3 :نمایشگر کریستال مایع

پروژه 4: اسکن صفحه کلید ماتریسی

LED Dot Matrix پروژه 5: نمایشگرهای

وقفه های خارجی

پروژه 6: آشکار ساز عبور از صفر

تایمر/کانتر صفر

پروژه 7 : فرکانس متر دیجیتال

PWM با DC پروژه 8: کنترل موتور

عملکرد تایمر دو

میکروکنترلر RTC پروژه 9: ساعت با

تایمر/کانتر یک

پروژه 10 : کنترل سرو موتور

پروژه 11 : تولید موج سینوسی

(RS- پورت سریال ( 232

پروژه 12 : پورت سریال در ویژوال بیسیک

RS با 232 USB پروژه 13 : ارتباط دهی

I2C Bus (TWI)

I2C های EEPROM پروژه 12 : ارتباط با

مبدل آنالوگ به دیجیتال

LM پروژه 13 : اندازه گیری دما با سنسور 35

مقایسه کننده ی آنالوگ

SPI Bus

Watchdog و تایمر Sleep های Mode

I/O پیوست 1: تنظیمات رجیسترهای

پیوست 2: نحوه ی ارتباط دهی ورودی وخروجی های میکروکنترلر

AVR پیوست 3: مشخصات برخی قطعات

AVR برخی قطعات Pinout : پیوست 4

ATmega پیوست 5: خلاصه ی رجیسترهای 16

P a g e | 4

www.eca.ir

- ٤ -

Reset فیوز بیت ها، منابع کلاک و

فیوز بیت ها

هستند که امکاناتی را در اختیار کاربر قرار می دهند و با AVR فیوز بیت ها قسمتی از حافظه ی میکروکنترلر

شدن میکرو مقدار آن ها تغییر نمی کند. یک به معنی غیر فعال بودن و صفر فعال بودن هر بیت می باشد. Erase

دارای 2 بایت فیوز بیت طبق جدول زیر می باشد: Mega قطعه ی 16

شماره بیت High Byte پیش فرض عملکرد

0 BOOTRST Boot بخش Reset 1 انتخاب بردار

1 BOOTSZ0 0

0

Bootloader انتخاب اندازه ی

2 BOOTSZ1

3 EESAVE Erase در زمان EEPROM 1 حفاطت از

4 CKOPT 1 انتخاب عملکرد کلاک

5 SPIEN SPI 0 فعال ساز پروگرام شدن از طریق

6 JTAGEN JTAG 0 فعال ساز پورت

7 OCDEN JTAG 1 فعال ساز اشکال زدایی از طریق

P a g e | 5

www.eca.ir

- ٥ -

شماره بیت Low Byte پیش فرض عملکرد

0 CKSEL0 1

1 CKSEL1 0

2 CKSEL2 0

0

انتخاب منبع کلاک

3 CKSEL3

4 SUT0 0

1

Startup انتخاب زمان

5 SUT1

6 BODEN Brown-out 1 فعال ساز آشکار ساز

7 BODLEVEL Brown-out 1 تنظیم سطح ولتاژ

که در حالت پیش فرض برنامه ریزی نشده است و آدرس BOOT انتخاب بردار ری ست :BOOTRST

طبق جدول زیر تعیین می شود. (بر Reset بردار ری ست 0000 است و در صورت برنامه ریزی آدرس بردار

(BOOTSZ[ اساس [ 1:0

BOOTSZ1 BOOTSZ0 Boot اندازه ی Pages Reset آدرس بردار

1 1 Word 128 2 $1F80

1 0 Word 256 4 $F00

0 1 Word 512 8 $E00

0 0 Word 1024 16 $C00

P a g e | 6

www.eca.ir

- ٦ -

بوده و در صورت پروگرام شدن مطابق وضعیت جدول Brown-out Detector این بیت فعال ساز :BODEN

تعیین می شود. Brown-out زیر سطح ولتاژ

BODEN BODLEVEL Brown-out سطح ولتاژ

1 غیر فعال 1

1 غیر فعال 0

0 1 Vcc=2.7v

0 0 Vcc=4.0v

منابع کلاک

کالیبره شده، اسیلاتور کریستالی فرکانس RC همانطور که در دیاگرام زیر دیده می شود، این منابع شامل: اسیلاتور

خارجی و اسیلاتور تایمر/کانتر می باشند. RC پایین، اسیلاتور کریستالی، کلاک خارجی، اسیلاتور

P a g e | 7

www.eca.ir

- ٧ -

بوده و مطابق جدول زیر می باشد. مقدار پیش فرض بیت CKSEL انتخاب منبع کلاک بوسیله ی فیوزبیت های

داخلی می باشد. RC یک بوده و در نتیجه منبع پیش فرض، اسیلاتور ،CKSEL های

P a g e | 8

www.eca.ir

- ٨ -

کلاک خارجی : برای راه اندازی وسیله بوسیله ی م نبع کلاک خارجی باید مطابق شکل زیر یک پالس به پین

پروگرام شده (صفر شوند ) CKSEL اعمال شود . برای قرار گرفتن در این وضعیت باید تمام بیت های XTAL1

یک خازن داخلی به ظرفیت 36 پیکوفاراد را بین ورودی و CKOPT و کاربر می تواند با پروگرام کردن فیوزبیت

زمین قرار دهد.

4 و 8 مگاهرتز موجود می باشد و مقدار ،2 ، کالیبره شده ی داخ لی: این منبع در فرکانس های 1 RC اسیلاتور

آن در دمای 25 درجه و ولتاژ 5 ولت کالیبره شده است که در این وضعیت ممکن است تا 3 درصد در کلاک ایجاد

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

نباید پروگرام شود. CKOPT باشد. در این وضعیت

CKOPT

36 pF

XTAL1

کلاک خارجی

XTAL2

P a g e | 9

www.eca.ir

- ٩ -

خارجی : در کاربردهایی که دقت کلاک اهمیت زیادی ندارد می توان از این منبع استفاده کرد . RC اسیلاتور

RC پیکربندی مطابق شکل زیر بوده و فرکانس نوسان از رابطه ی

f

3

برابر 22 C 1 = بدست می آید . حداقل مقدار

پروگرام شود می توان مقدار 36 پیکوفاراد را نیز لحاظ نمود. CKOPT پیکوفاراد بوده و در صورتی که

کاری عمل کند که هر کدام برای یک بازه ی فرکانسی بهینه شده است Mode این منبع نوسان می تواند در چهار

مطابق جدول زیر انتخاب می شود. CKSEL و بوسیله ی فیوزبیت های

اسیلاتور کریستالی فرکانس پایین: این منبع کلاک می تواند کریستال های فرکانس پایین مثل کریستال ساعت با

منبع کلاک کریستال خارجی فرکانس CKSEL فرکانس 32768 هرتز باشد. با دادن مقدار 1001 به فیوزبیت های

CKOPT

36 pF

XTAL1

XTAL2

R

C

P a g e | 10

www.eca.ir

- ١٠ -

CKOPT پایین انتخاب شده و در این وضعیت پیکربندی مطابق شکل زیر می باشد. در صورت پروگرام نمودن

می توان از خازن خارجی صرفنظر نمود.

به ترتیب ورودی و خروجی یک XTAL و 2 XTAL کریستال کوارتز یا رزوناتور سرامیکی : پبن های 1

مطابق شکل زیر پیکربندی شوند. On-chip تقویت کننده ی وارونگر هستند که می توانند به عنوان یک اسیلاتور

CKOPT

36 pF

XTAL1

XTAL2

36 pF

CKOPT

C1

XTAL

C2

Rf

P a g e | 11

www.eca.ir

- ١١ -

به جای کریستال کوارتز می توان از رزوناتور سرامیکی استفاده نمود که از دوام بیشتری در مقابل ضربه بر

کمتری نیز دارد و البته نسبت به کریستال کوارتز دقت کمتری داشته و پایداری Startup خوردار است و زمان

دمایی آن نیز کمتر است.

نیز تغییر می کند . بدین CKOPT در این وضعیت خازن های 36 پیکو فاراد حذف شده و عملکرد فیوزبیت

ترتیب که با پروگرام شدن این بیت دامنه ی خروجی تقویت کننده ی وارونگر افزایش یافته و می توان از پین

در محیط های CKOPT به عنوان کلاک برای یک وسیله ی دیگر استفاده نمود. همچنین با فعال کردن XTAL2

نویزی عملکرد اسیلاتور بهبود می یابد.

پروگرام شود. CKOPT چنانچه از رزوناتور استفاده می شود برای فرکانس های بالاتر از 8 مگاهرتز باید

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

مطابق جدول زیر انتخاب نمود. CKSEL آن را می توان با فیوز بیت های

XTAL1

XTAL2

C1

XTAL

C2

Rf

P a g e | 12

www.eca.ir

- ١٢ -

نیز SUT[ دو بیت به نام های [ 1:0 ،CKSEL با هر یک از منابع کلاک انتخاب شده بوسیله ی فیوزبیت های 􀃁

منبع کلاک را به میکرو اعلام نمود . مقدار این بیت ها Start-up وجود دارد که از طریق آن می توان حداکثر زمان

را در نظر می گیرد و در صورتی که نیاز است مقدار آن را تغییر Start-up به طور پیش فرض ماکزیمم زمان

عمل کنید. Datatsheet در System Clock and Clock Options دهید مطابق جداول مربوطه در فصل

Reset منابع

شروع به اجرای CPU به مقدار اولیه شان تغییر می کنند و I/O شدن میکروکنترلر، تمام رجیسترهای Reset با

وجود دارد که عبارتند از: Reset 5 منبع Mega خواهد کرد. در قطعه ی 16 Reset دستورالعمل ها از بردار

1. Power-on Reset

2. External Reset

3. Brown-out Reset

4. Watchdog Reset

5. JTAG AVR Reset

P a g e | 13

www.eca.ir

- ١٣ -

مطابق دیاگرام زیر می باشد: Reset منطق

را در جدول زیر مشاهده می کنید: Reset مشخصات هر یک از منابع

P a g e | 14

www.eca.ir

- ١٤ -

کمتر از حد تعیین شده باشد. این منبع تضمین Vcc زمانی فعال خواهد که ولتاژ :Power-on Reset .1

می شود . با رسیدن ولتاژ به حد آستانه ، شمارنده ی تاخیر راه اندازی Reset می کند که وسیله در زمان راه اندازی

بماند . دیاگرام زمانی زیر شرایطی را نشان می دهد که Reset شده که تعیین می کند چه مدت وسیله در وضعیت

شده است.) Pull-up وصل شده است. (و یا آزاد باشد چون این پین از داخل Vcc به RESET پین

نمی باشد: Vcc تابع Reset و نمودار زیر شرایطی است که سطح منطقی پین

P a g e | 15

www.eca.ir

- ١٥ -

ایجاد شده و RESET بوسیله ی یک پالس با سطح صفر منطقی روی پین Reset این :External Reset .2

حداقل عرض آن 1,5 میکرو ثانیه می باشد . با رسیدن ولتاژ این پین به مقدار آستانه در لبه بالا رونده، شمارنده ی

میکروکنترلر کار خود را شروع خواهد کرد. Time-out تاخیر شروع به کار کرده و پس از اتمام زمان

Brown-out Detection دارای یک مدار ATmega قطعه ی 16 :Brown-out Detection .3

را با یک مقدار ثابت مقایسه می کند . این مقدار ثابت برابر 2,7 ولت بوده Vcc داخلی بوده که پیوسته مقدار ولتاژ

پروگرام شود به 4,0 ولت افزایش می یابد . با کمتر شدن ولتاژ تغذیه BODLEVEL و در صورتی که فیوزبیت

شده و با عادی شدن ولتاژ ، پس از اتمام تاخیر به وضعیت Reset از این مقدار ثا بت میکروکنترلر وارد حالت

مقدار آستانه دارای پسماند بوده و در نتیجه دارای دو مقدار Spike عادی باز می گردد . برای حفاظت در برابر

P a g e | 16

www.eca.ir

- ١٦ -

و VBOT+ = VBOT + VHYST / مثبت و منفی می باشد که با توجه به مقادیر موجود در جدول از رابطه ی 2

V V V /2 BOT BOT HYST = بدست می آید.

در حالت عادی غیر فعال بوده و برای راه اندازی آن باید فیوزبیت Brown-out Detection مدار 􀃁

پروگرام (صفر) شود. BODEN

این تایمر یک پالس به عرض یک سیکل ایجاد ،Watchdog با اتمام زمان تایمر :Watchdog Reset .4

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

میکروکنترلر کار عادی خود را ادامه خواهد داد.

P a g e | 17

www.eca.ir

- ١٧ -

MCU Control and Status Register

MCUCSR 7 6 5 4 3 2 1 0

نام بیت JTD ISC2 - JTRF WDRF BORF EXTRF PORF

شده CPU باعث راه اندازی مجدد Reset این رجیستر محتوی اطلاعاتی است که نشان می دهد کدامیک از منابع

Reset است. نرم افزار پس از خواندن هر بیت باید با نوشتن صفر بر روی آن، پرچم را پاک کند تا در صورت

مجدد، وقوع آن قابل تشخیص باشد.

Bit 0 PORF: Power-on Reset Flag

Bit 1 EXTRF: External Reset Flag

Bit 2 BORF: Brown-out Reset Flag

Bit 3 WDRF: Watchdog Reset Flag

Bit 4 JTRF: JTAG Reset Flag

P a g e | 18

www.eca.ir

دسته ها :
سه شنبه بیست و چهارم 10 1387
X