رفتن به مطلب
بازگشایی انجمن! ×
GuardIran

DeMoN

پست های پیشنهاد شده

به نام خدا


 


در این تاپیک خدمت شما عزیزان هستیم با آموزش گام به گام برنامه نویسی AVR به زبان بیسیک(Basic).


امید داریم که استقبال ها مثل تاپیک های قبلی نشه چون واقعا ناامید کننده بود.


ولی من کار خودم رو میکنم :دی


پسورد فایل ها(در صورت نیاز):


guardira.org


 


اهداف و بخش های اصلی آموزش:


1-میکروکنترلر AVR چیست؟


2-برنامه نویسی Bascom AVR


3-برنامه نویسی مقدماتی


4-برنامه نویسی پیشرفته


 


 


موفق و موید باشید


لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر


به نام خدا


 


با سلام و درود


خوب دوستان به بخش اول آموزش ما یعنی:


1-میکروکنترلر AVR چیست؟


میپردازیم.


 


[نکته:آموزش ها به صورت PDF و در خود تاپیک قرار خواهد گرفت]


 


 


قسمت اول از بخش اول:


 


 


آشنایی با سخت افزار های ذاخلی میکروکنترلر های (1) AVR 


 


 


برای آشنایی به میکروکنترلر AVR, باید اول امکانات این تراشه را بشناسید و بعد از آشنایی آن بدانید که این خصوصیات در کدام نوع و مدل از تراشه ها استفاده شده است. در ادامه به این خصوصیات پرداخته شده است. شکل زیر نمایی کلی از یک تراشه AVR را به تصویر کشیده است که در مورد قسمت های پر کاربرد آن بحث خواهیم کرد.


 


 


 


سرعت پردازش

سرعت پردازش اطلاعات یا فرکانس کار سیستم در واحد MIPS و MHZ (مگاهرتز) که بین 0 تا 20MHz متغییر است.

تعداد دستورالعمل

قابلیت اجرای چندین دستورالعمل در یک کلاک سیکل

رجیستر

رجیستر منبع ذخیره ای 8 بیتی که به صورت زیر تعریف می شود:

| Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |

 

نکته : کم ارزش ترین بیت با صفر شروع می شود (1=0^2)

 

تمامی میکروکنترلرها دارای 32 رجیستر 8 بیتی (R0 تا R31) هستند که همگی اکومولاتور بوده و با CPU به طور مستقیم در ارتباط اند.

حافظه FLASH

تراشه های AVR دارای حافظه ای برای نوشتن برنامه و قابل برنامه ریزی داخلی است, حافظه FLASH در میکروکنترلر AVR دارای قابلیت 10.000 بار نوشتن و پاک کردن می باشد. برای دسترسی به این حافظه از پروگرامر استفاده می شود. این حافظه قابلیت قفل شدن داشته که در قسمت نرم افزار با آن آشنا می شوید.

حافظه EEPROM

حافظه ای که می توان برای نگه داری بانک اطلاعاتی از آن استفاده کرد و قابل برنامه ریزی داخلی است, این حافظه در تراشه AVR دارای قابلیت 100.000 مرتبه نوشتن و پاک کردن می باشد. برای دسترسی به این حافظه همم از پروگرامر استفاده می شود و هم در برنامه می توان اطلاعات را به آن وارد کرد. قابلیت حفاظت در مواقعی که برنامه ای جدید را در FLASH پروگرام می کنید را داراست.

حافظه SRAM

حافظه SRAM یک RAM استاتیک بوده و بر خلاف رجیسترها به صورت مستقیم از طریق CPU قابل دسترسی نیستند. بیشترین استفاده SRAM در پشته (Stack) است.

پورت های I/O

 برای تبادل اطلاعات با وسایل جانبی تراشه های AVR دارای پورت هایی هستند, که به صورت دو طرفه (ورودی و خروجی) که قابل انتخاب توسط برنامه نویس بوده و اکثر 8 بیتی بوده (هر پورت 8 پین). هر کدام از این پین ها قابلیت های دیگری دارند که در ادامه در مورد آن بحث خواهد شد.

ولتاژ کاری

مقدار ولتاژ تغذیه که نسبت نوع تراشه بین 1.5 تا 5.5 و یا 2.7 تا 5.5 و 4 تا 5.5 ولت متغییر بوده است.

نکته : هر چه ولتاژ کاری کمتر باشد, به همان نسبت فرکانس کار میکرو محدود است.

نکته : شماره میکروکنترلرهایی که در آخر آن ها حرف L قرار گرفته, ولتاژ و فرکانس کاری پایین دارند. به عنوان مثال میکروکنترلر ATmega8L.

SPI

ارتباطی با پروتکل سریال – پر سرعت – سه سیمه که برای عملیات هایی همچون پروگرام و برنامه ریزی کردن حافظه های FLASH و EEPROM و یا ارتباط با یک میکروکنترلر دیگر به صورت SLAVE-MASTER مورد استفاده قرار می گیرد. پین های مورد استفاده برای این ارتباط به صورت زیر است:

 

 ورودی داده MASTER و خروجی داده MISO                  SLAVE 

ورودی داده SLAVE و خروجی داده MOSI                  MASTER

کلاک ورودی و خروجی                                                      SCK

انتخاب MASTER با SLAVE بودن در ارتباط دو میکرو                SS

استفاده در پروگرام کردن میکروکنترلر                               RESET

UART

ارتباطی سریال و قابل برنامه ریزی که پین های مورد استفاده آن در دو حالت نرم افزاری و سخت افزاری قابل تغییر است. این ارتباط بیشتر برای ارتباط با کامپیوتر طراحی شده اما منطق کار این ارتباط TTL بوده, در صورتیکه ورودی سریال کامپیوتر از استاندارد RS-232 استفاده شده است. برای این کار باید از تراشه های مبدل سطح ولتاژ استفاده شود.

نکته : سطح ولتاژ در منطق TTL بین 0 تا 5V بوده و در پروتکل RS232 بین 15V- تا 15V+ می باشد.

نکته : پایه های مورد استفاده این ارتباط در میکروکنترلرهای AVR به نام TXD و RXD می باشد.

WIRE INTERFACE – I2C

پروتکل ارتباطی سریال I2C ساخته شده توسط شرکت PHILIPS که در آن تنها از دو سیم برای ارتباط میان میکرو با وسایل جانبی استفاده شده است.

This is the hidden content, please

 

نکته : پین های مورد استفاده این پروتکل در میکروکنترلرهای AVR به نام SCL و SDA می باشد.

 

 

پایان بخش اول

موفق باشید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر


به نام خدا


 


با سلام و درود


 


بخش دوم آموزش:


 


آشنایی با سخت افزارهای داخلی میکروکنترلرهای (2) AVR 


 


This is the hidden content, please


 


1-WIRE


یکی از جدیدترین پروتکل های استفاده شده در میکروکنترلرهای AVR, که توسط شرکت Dallas طراحی شده است. برعکس بقیه پروتکل ها, محدودیت کابل استفاده شده آن تا 30 متر افزایش یافته است.

JTAG

پروتکل ارتباطی استاندارد IEEE که در ایران کمتر جا افتاده و قابلیت برنامه ریزی حافظه ها و فیوز بیت ها را دارد. یکی از مشخصات قابل توجه این ارتباط این است که در زمان حالت کار میکروکنترلر هم می توان از آن استفاده کرده و حافظه ها و فیوزبیت ها را تغییر داد.

تایمر – کانتر

زمان سنجی و شمارش با سرعت های قابل تنظیم و مدهای مختلف از جمله COMPARE و CAPTURE و PWM, که به دو نوع 8 بیتی و 16 بیتی در تراشه قرار گرفته است.

PWM

مخفف مدولاسیون پهنای پالس (Pulse Width Modulator) که در این نوع مدولاسیون میزان دامنه سیگنال ثابت بوده و پهنای پالس ها تغییر می کند. PWM یکی از حالت های کاری تایمر – کانتر بوده و پرکاربرد ترین موارد استفاده آن در کنترل سرعت موتورهای DC می باشد.

مبدل آنالوگ به دیجیتال 10 بیتی (ADC)

میکروکنترلرهای AVR دارای مبدل داخلی با وضوح 10بیت و به صورت مالتی پلکس شده تا 8 و در نمونه های جدید تا 16 ورودی (مانند پورت A) بوده و با سرعت تبدیل بالای بین 60 تا 260us می تواند ولتاژ بین صفر تا VCC را به مقدار عدی 0 تا 1023 تبدیل کند.

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

دو پین از پایه های تراشه AVR به نام های AIN0 و AIN1 از نظر میزان ولتاژ (نسبت به زمین) روی آن ها مقایسه شده و در صورتی که برابر بودن پایه ای به نام ACO (خروجی مقایسه کننده) صفر می شود.

 

نکته : ولتاژ ورودی این دو پایه تا مقدار VCC مجاز خواهد بود.

 

REAL – TIME CLOCK – RTC

در صورتی که به یک ساعت دقیق و اتوماتیک در یک پروژه نیاز باشد از RTC استفاده می شود. RTC یکی از حالت های تایمر – کانتر دو بوده که تنها بعضی از میکروها نظیر ATmega32, ATmega103, AT90S8535, ATmega128 قابل اجراست. RTC نیاز به اتصال جداگانه کریستال به میکرو دارد (کریستال 32.768Hz).

WATCHDOG

در معنای لغت, سگ نگهبان نام گرفته است و در حقیقت تایمری با اسیلاتور مجزا بوده و با برنامه ریزی آن و مقداردهی به آن, پس از گذشت زمان دلخواه میکرو ریست می کند.

حالت های SLEEP

انواع حالت های SLEEP که هر نوع میکرو و تعدادی از آن را دارا بوده و مشخص کننده حالت های کار یک میکرو در زمان های بیکاری و یا خاموشی و یا گوش به زنگ (Stand BY) است.

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

فرض کنید میکرو در حال انجام عملیاتی مانند نوشتن مقدار عددی در حافظه است. در همین زمان یکی از پایه ها ماند پایه کانتر, یک می شود و ما می خواهیم که هم عمل نوشتن در حافظه انجام شود و هم عمل کانتر و شمارش ورودی, اما هیچ پردازشگری نمی تواند در یک زمان بیش از یک دستور را ایجاد کند. برای این منظور از وقفه استفاده شده و عمل شمارش پایه کانتر انجام شده و بعد از آن CPU به ادامه نوشتن عدد در حافظه می پردازد.

میکروکنترلرهای AVR دارای انواع مختلف وقفه های داخلی و خارجی می باشندو وقفه های خارجی که با نام INT0 و INT1 و در بعضی از میکروکنترلرها تا INT7 وجود دارد. اما تقریبا تمام امکانات داخلی میکرو دارای وقفه بوده, مانند تایمر – کانترها و پروتکل های ارتباطی و مقایسه کننده ها و مبدل آنالوگ به دیجیتال و..

 

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

 

PACKAGE

نوع طراحی فیزیکی تراشه که نسبت به نیاز کاربر در انواع مختلف طراحی شده است.
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر


به گفتگو بپیوندید

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

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • ایجاد مورد جدید...