دانلود تحقیق طراحی میکروکنترلر AVR جهت اسکن

Word 3 MB 23227 62
مشخص نشده مشخص نشده الکترونیک - برق - مخابرات
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • ریزپردازنده وسیله ای است که می توان با دادن فرمان آن را به عملیات مختلف واداشت .

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

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


    اولین ریزپردازنده تک تراشه ای ، ریزپردازنده Intel 4004 بود که توانست دو عدد 4 بیتی دودویی را جمع کند و عملیات متعدد دیگری را انجام دهد .


    4004 با معیارهای امروزی یک وسیله کاملا ابتدایی بود که می توانست 4096 مکان مختلف را آدرس دهد.

    برای حل این مسئله بود که ریزپردازنده 8 بیتی ( 8008 ) به وسیله شرکت Intel معرفی شد .


    Intel 8008:
    Intel 8008 توانست اعداد 8 بیتی را ( که بایت نامیده می شوند ) به کار گیرد ، که این خود پیشرفت بزرگی نسبت به 4004 بود .

    تقریبا در همان زمان گشایشی در ساختن مدارهای منطقی NMOS ( نیمه هادی اکسید فلز از نوع N )پیش آمد .

    منطق NMOS بسیار سریع تر از PMOS است .

    به علاوه از یک منبع تغذیه مثبت استفاده می کند که آن را برای اتصال به مدارهای منطقی TTL سازگارتر می کند .

    خصوصیات مذکور از این جهت دارای اهمیت است که بسیاری از مدارهای جنبی ریزپردازنده از نوع TTL هستند .

    NMOS سرعت ریزپردازنده را با ضریبی در حدود 25 بار افزایش می دهد که رقم چشمگیری است .


    این تکنولوژی جدید در ساختمان ریزپردازنده معروف امروزی یعنی Intel 8080 به کار برده شد .



    Intel 8080:
    Intel 8080 در 1973 و معرفی آن دنیا را به دوره ریزپردازنده وارد کرد .

    8080 نوع بسیار غنی شده ای از 8080 بود که می توانست 500000 عمل را در ثانیه انجام دهد و 64 کیلو بایت از حافظه را آدرس می دهد و 500000 دستورالعمل را در ثانیه اجرا کند .

    امتیاز اصلی Z80 نسبت به 8080 این است که می تواند از دستورالعمل هایی که برای 8080 می شوند نیز استفاده کند .

    نرم افزاری که برای 8080 استفاده می شود بدون پیچیدگی بر روی Z80 قابل اجرا است .

    یک مشخصه سخت افزاری مهم Z80 در مقایسه با 8080 آرایش کامل تر ثبات هاست .

    Z80 همچنین مکانیزمی را به کار می گیرد که حافظه RAM دینامیکی را به طور خورکار تازه می کند .

    این دو مشخصه اضافی موجب برتری Z80 نسبت به Intel 8080 شده است.


    سایر ریزپردازنده های اولیه :
    تا سال 1973 ، Intel تولید کننده اصلی ریزپردازنده ها بود .

    بعد از آن تولید کنندگان دیگر متوجه شدند که این وسیله جدید دارای آینده است و شروع به تولید انواع اصلاح شده دیگری از ریزپردازنده Intel 8080 کردند .


    ریزپردازنده های امروزی :
    به نظر می رسد که آینده توجه ریزپردازنده در دست سه شرکت Intel ، Motorola و Zilog است .

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

    امروزه ریزپردازنده ها از نظر اندازه بین 4 تا 32 بیت دارند .











    انواع میکروپروسسورها :
    1.

    Genela ( که خود شامل cpu می باشد که بر اساس برنامه وظیفه آنها تغییر می کند و µ.c که از تکنولوژی RISC سود می برد .


    2.پروسسورهای صوتی : سری VP ساخت شرکت QUICK و سری ISD
    3.پروسسورهای مخابراتی ( شرکت MITEL فقط پروسسورهای مخابراتی می زند .

    )
    4.

    پروسسورهای خاص ( برای کاربردهای خاص استفاده می شود ) .


    در معماری CPU از تکنولوژی CISC و RISC استفاده شده که تکنولوژی CISC ( Complex INSTROCTION set Computer )دستورات پیچیده را در داخل خود اجرا می کند و تکنولوژی RISC( Reduce INSTROCTION set Computer )
    SET کامپیوتری است که دستورات ساده ای دارد که از این نوع تکنولوژی در میکرو کنترلرها نیز استفاده شده و خواص آن تعداد کم دستورالعمل ها می باشد .


    تعریف µ.c :
    تراشه هایی هستند که واسطهای صفحه کلید ، دیسک و در بسیاری از دیگر دستگاهها استفاده می شود .

    این نوع تراشه ها به علت حجم بسیار کوچک که دارند به نام single µ.c chip معروفند .


    تفاوت میان ریزپردازنده با ریز کنترل کننده ( µ.c ) :
    ریز کنترل کننده ها علاوه بر cpu شامل حافظه ، خطوط I/O تایمر ، کانتر و در برخی از آنها حتی A/D نیز دارند .

    حال به مروری بر میکروهای AVR و انواع آنها می پردازیم .

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

    اینها همه به خاطر آن است که فن آوری توانسته مدارهای الکترونیکی را که شامل اجزاء کوچک الکترونیکی هستند ، بر روی یک قطعه کوچک سیلیکن که شاید سطح آن به 5 میلی متر مربع بیشتر نیست ، جای دهد .

    فن آوری میکروالکترونیک که به مدارهای یکپارچه معروف به آی سی یا تراشه مربوط می گردد ، در بهبود زندگی بشر تاثیر به سزایی داشته و آن را بطور کلی دگرگون نموده است .

    تراشه ها همچنین برای مصارفی چون کنترل رباتها در کارخانجات ، یا کنترل چراغهای راهنمایی و یا وسایل خانگی مانند ماشین لباس شویی و غیره مورد استفاده قرار می گیرند .

    از طرفی تراشه ها را می توان مغز دستگاه هایی چون میکرو کامپیوترها و رباتها به حساب آورد .

    2-1 سیستم های الکترونیکی پس از یک نظر اجمالی در داخل یک سیستم الکترونیکی مانند یک دستگاه رادیو ، تلویزیون و یا کامپیوتر ممکن است انسان از پیچیدگی آن و از یادگیری الکترونیک دلسرد شود ، اما در واقع آن طور که به نظر می رسند ، دشوار نیستند و این به دو دلیل است .

    اول اینکه اگرچه سیستم های الکترونیکی اجزاو قطعات زیادی را در خود جای می دهند ، اما باید دانست که انواع کلی این اجزا اغلب محدود و انگشت شمار هستند .

    از مهم ترین گروه های این اجزا می توان مقاومت ها ، خازن ها ، القا گرها ، دیودها ، ترانزیستورها ، کلیدها و مبدل ها را نام برد .

    این اجزا زمانی که به صورت یکپارچه در یک تراشه قرار می گیرند ، هر یک همان وظیفه خود را به عنوان یک قطعه مجزا انجام می دهند و فقط اندازه فیزیکی آن کوچکتر شده است .

    دوم اینکه انواع سیستم های الکترونیکی از تعداد محدودی مدارهای اصولی و یا بلوک هایی که وظیفه هر کدام به کاراندازی قسمتی از سیستم مثلا تقویت یا شمارش است ، تشکیل یافته اند که به منظور عملکرد کل سیستم ، آن را به یکدیگر متصل می نمایند .

    3-1 مدارهای خطی و مدارهای رقمی بسیاری از سیستم های الکترونیکی طوری طراحی شده اند تا با دریافت یک ورودی الکتریکی و با پردازش آن ، یک خروجی الکتریکی تولید کرده تا بتوانند کار معینی را انجام دهند ( که این کار بدون سیستم مورد نظر ، به تنهایی از عهده ورودی الکتریکی مذکور ساخته نخواهد بود .

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

    مدارهای خطی ار نوع مدارهای تقویت کننده هستند که با سیگنال هایی سرو کار دارند که این سیگنال ها معرف کمیت هایی مانند تغییرات صوتی ، صدای انسان یا موسیقی و غیره هستند .

    در بسیاری از مدارهای خطی از ترانزیستور به عنوان تقویت کننده صوتی استفاده می کنند .

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

    مدارهای رقمی دارای فقط دو حالت هستند و ورودی و خروجی آنها به اصطلاح (high) به معنی بالا ، یعنی نزدیک به میزان ولتاژ منبع مدار و یا (low) به معنی پایین ، یعنی نزدیک صفر ولت هستند .

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

    دستگاه شمارش گر در واقع یک مدار رقمی است که در آن سیگنال تولید شده توسط سلول نوری ، یا در حالت صفر و یا در حالت یک قرار می گیرد و این امر بستگی به قطع شدن یا نشدن نور دارد .

    بنابراین مدارهای رقمی علائم الکتریکی را به صورت پالس یا ضربه با خود حمل می کنند .

    سیستمی که در آن یک لامپ توسط دیمر کنترل و کم و زیاد می شود ، یک سیستم حالت مداوم و سیستمی که همان لامپ را خاموش و روشن می کند یک سیستم دو حالته است ، چون که توسط آن لامپ مذکور یا کاملا روشن یا کاملا خاموش می شود .

    فصل اول: مختصری از نحوه کار با AVR 1-1- خصوصیات Atmega16L و Atmega16 ٭ ازمعماری AVR RISC استفاده می کند .

    - کارایی بالا و توان مصرفی کم - دارای 131 دستورالعمل با کارایی بالا که اکثرا تنها در یک کلاک سیکل اجرا می شوند .

    - 8×32رجیستر کاربردی - سرعتی تا 16 MIPS در فرکانس 16 MHZ ٭ حافظه ، برنامه و داده غیر فرار -16K بایت حافظه FLASH داخلی قابل برنامه ریزی پایداری حافظه FLASH : قابلیت 10000 بار نوشتن و پاک کردن ( WRITE / ERASE ) -1024 بایت حافظه داخلی SRAM -512 بایت حافظه EEPROM داخلی قابل برنامه ریزی پایداری حافظه EEPROM : قابلیت 100000 بار نوشتن و پاک کردن ( WRITE / ERASE ) - قفل برنامه FLASH و حفاظت داده EEPROM ٭ قابلیت ارتباط JTAG ( IEEE Std .

    ) - برنامه ریزی برنامه FLASH ، EEPROM ، FUSE BITS ، LOCK BITS از طریق ارتباط JTAG ٭ خصوصیات جانبی - دو تایمر- کانتر (TIMER / COUNTER ) 8 بیتی با PRESCALER مجزا و مد COMPARE - یک تایمر- کانتر (TIMER / COUNTER ) 16 بیتی با PRESCALER مجزا و دارای مدهای COMPARE و CAPTURE - 4 کانال PWM - 8 کانال مبدل آنالوگ به دیجیتال 10 بیتی 8 کانال SINGLE-ENDED دارای 7 کانال تفاضلی در بسته بندی TQFP دارای دو کانال تفاضلی با کنترل گین 1x ، 10x و 200x - یک مقایسه کننده آنالوگ داخلی .

    - WATCHDOG قابل برنامه ریزی با اسیلاتور داخلی .

    - قابلیت ارتباط با پروتکل سریال دو سیمه (TWO-WIRE ) - قابلیت ارتباط سریال SPI ( SERIAL PERIPHERAL INTERFACE ) به صورت MASTER یا SLAVE -USART سریال قابل برنامه ریزی ٭ خصوصیات ویژه میکروکنترلر - POWER-ON RESET CIRCUIT و BROWN-OUT قابل برنامه ریزی .

    - دارای اسیلاتور RC داخلی کالیبره شده - دارای 6 حالت SLEEP ( POWER-DOWN ، IDLE ، POWER-SAVE ، STANDBY ، EXTENDED STANDBY و ADC NOISE REDUCTION ) - منابع وقفه (INTERRUPT ) داخلی و خارجی .

    - عملکرد کاملا ثابت .

    - توان مصرفی پایین و سرعت بالا توسط تکنولوژی CMOS ٭ توان مصرفی در 1MHZ ، 3V ، 250C برای ATMEGA16L - حالت فعال 1.1 mA ( ACTIVE MODE ) - در حالت بی کاری 0.35 mA ( IDLE MODE ) - در حالت POWER-DOWN : > 1µA ٭ ولتاژهای عملیاتی (کاری ) -2.7 V تا5.5 V برای ( Atmega16 L ) -4.5 V تا 5.5 V برای ( Atmega16 ) ٭ فرکانس های کاری -0MHZ تا 8MHZ برای( Atmega16 L ) -0MHZ تا 16MHZ برای ( Atmega16 ) خطوط I/O و انواع بسته بندی -32 خط ورودی/ خروجی ( I/O) قابل برنامه ریزی .

    -40 پایه PDIP ، 44 پایه TQFP و 44 پایه MLF 1-1-1- ترکیب پایه ها: 2-1-1- فیوز بیت های ATMEGA16 ATMEGA16 دارای دو بایت فیوز طبق جدول های زیر می باشد : فیوز بیت ها با پاک کردن (ERASE ) میکرو تاثیری نمی بینند ولی می توانند با برنامه ریزی بیت LB1 قفل شوند .

    منطق 0 به معنای برنامه ریزی شدن و 1 به معنای برنامه ریزی نشدن بیت است .

    OCDEN : در صورتی که بیت های قفل برنامه ریزی نشده باشند برنامه ریزی این بیت به همراه بیت JTAGEN باعث می شود که سیستم ON CHIP DEBUG فعال شود .

    برنامه ریزی شدن این بیت به قسمت هایی از میکرو امکان می دهد که در مدهای SLEEP کار کنند که این خود باعث افزایش مصرف سیستم می گردد .

    این بیت به صورتی پیش فرض برنامه ریزی نشده ( 1 ) است .

    JTAGEN : بیتی برای فعال سازی برنامه ریزی میکرو از طریق استاندارد ارتباطی IEEE( JTAG ) که در حالت پیش فرض فعال است و میکرو می تواند از این ارتباط برای برنامه ریزی خود استفاده نماید .

    SPIEN : در حالت پیش فرض برنامه ریزی شده و میکرو از طریق سریال SPI برنامه ریزی می شود .

    CKOPT : انتخاب کلاک که به صورت پیش فرض برنامه ریزی نشده است .

    عملکرد این بیت به بیت های CKSEL بستگی دارد که در بخش کلاک سیستم ( 1 ) در انتهای همین فصل آمده است .

    EESAVE : در حالت پیش فرض برنامه ریزی نشده و در زمان پاک شدن (ERASE ) میکرو حافظه EEPROM پاک می شود ولی در صورتی که برنامه ریزی شود محتویات EEPROM در زمان پاک شدن میکرو محفوظ می ماند .

    BOOTSZ0 , BOOTSZ1 برای انتخاب مقدار حافظه BOOT طبق جدول زیر برنامه ریزی می شوند و در زمان برنامه ریزی شدن فیوز بیت BOOTRST اجرای برنامه از آدرس حافظه BOOT آغاز خواهد شد .

    BOOTRST : بیتی برای انتخاب بردار ریست BOOT که در حالت پیش فرض برنامه ریزی نشده و آدرس بردار ریست $0000 است و در صورت برنامه ریزی آدرس بردار ریست به آدرسی که فیوز بیت های BOOTSZ0 وBOOTSZ1 مشخص کرده اند تغییر می یابد .

    BODLEVEL : زمانی که این بیت برنامه ریزی نشده ( پیش فرض ) باشد ، اگر ولتاژ پایه VCC از 2.7V پایین تر شود ریست داخلی میکرو فعال شده و سیستم را ریست می کند .

    زمانی که این بیت برنامه ریزی شده باشد ، اگر ولتاژ پایه VCC از 4V پایین تر شود ریست داخلی میکرو فعال شده و میکرو را طبق شکل 3-2 ریست می کند .

    BODEN : برای فعال کردن عملکرد مدار BROWN-OUT این بیت بایستی برنامه ریزی شده باشد .

    این بیت به صورت پیش فرض برنامه ریزی نشده است .

    SUT1 ,SUT0 : عملکرد این دو بیت برای انتخاب زمان START-UP در بخش 3-14 در انتهای همین فصل کاملا توضیح داده شده است .

    CKSEL0 …CKSEL3 : عملکرد این بیت ها در بخش 3-14 در انتهای همین فصل کاملا توضیح داده شده است .

    مقدار پیش فرض: 1MHZ INTERNAL RC OSCILLATOR@ است .

    2-1- بررسی پورت های میکرو ATMEGA16 در این بخش به بررسی عملکرد پورت های میکرو مورد نظر می پردازیم .

    1-2-1- پورت B : پورت B یک I/O دو طرفه 8 بیتی است .

    سه آدرس از مکان حافظه I/O اختصاص به PORTB دارد .

    یک آدرس برای رجیستر داده PORTB دومی رجیستر جهت داده DDRB و سومی پایه ورودی پورت B ، PINB است .

    آدرس پایه های ورودی پورت B فقط قابل خواندن است .

    در صورتی که رجیستر داده و رجیستر جهت داده هم خواندنی و هم نوشتنی هستند .

    پایه های پورت دارای مقاومت PULL-UP مجزا هستند .

    بافر خروجی پورت B می تواند تا 20mA را Sink کند و در نتیجه LED را مستقیما راه اندازی می کند .

    هنگامی که PB0-PB7 با مقاومت های PULL-DOWN خروجی استفاده می شوند آنها SOURCE جریان می شود .

    زمانی که مقاومت های PULL-UP داخلی 3 فعال باشند .

    استفاده از پورت B به عنوان یک I/O عمومی دیجیتال : تمام 8 پایه موجود زمانی که به عنوان پایه های I/O دیجیتال استفاده می شوند دارای عملکرد مساوی هستند .

    PBn و پایه I/O عمومی : بیت DDBn در رجیستر DDRB مشخص کننده جهت پایه است .

    اگر DDBn یک باشد ، PBn به عنوان یک پایه خروجی مورد استفاده قرار می گیرد و اگر DDBn صفر باشد ، PBn به عنوان یک پایه ورودی در نظر گرفته می شود .

    اگر PortBn یک باشد هنگامی که پایه به عنوان ورودی تعریف شود مقاومت Pull-UP فعال می شود برای خاموش کردن مقاومت Pull-UP باید Port Bn صفر باشد یا اینکه پایه به عنوان خروجی تعریف شود .

    پایه های پورت زمانی که ریست اتفاق می افتد به حالت Tristate می روند .

    دیگر کاربردهای پورت B : PORTB.7-TOSC2 : TOSC2 زمانی که تایمر/ کانتر 2 در مد آسنکرون کار می کند به این پایه و پایه TOSC1 کریستال ساعت متصل می شود .

    در این حالت دیگر نمی توان از این پایه با عنوان I/O استفاده نمود .

    PORTB.5-SCK : SCK کلاک خروجی Master و کلاک ورودی Slave برای ارتباط SPI است .

    زمانی که SPI به عنوان Slave شکل دهی می شود این پایه با توجه به تنظیم DDB7 ورودی و در حالت Master خروجی تعریف می شود .

    PORTB.4-MISO : MISO ورودی داده Master و خروجی داده slave که برای ارتباط SPI استفاده می شود .

    زمانی که SPI به عنوان Master شکل دهی می شود .

    این پایه با توجه به تنظیمات DDB6 ورودی و در حالت Slave به عنوان خروجی استفاده می شود .

    PORTB-MPS1,OC2 : MIS1 ورودی داده Slave و خروجی داده Master که برای ارتباط SPI استفاده می شود .

    این پایه با توجه به تنظیمات DDB3 خروجی و در حالت Slave به عنوان ورودی استفاده می شود .

    OC2 : خروجی مد مقایسه ای تایمر / کانتر PB3.2 با یک شدن DDB3 می توان به عنوان پایه خروجی مد مقایسه ای timer/counter2 شکل دهی می شود .

    این پایه همچنین برای خروجی PWM تایمر استفاده می شود .

    PORTB.2-SS.OC1B : SS زمانی که SPI به عنوان Slave شکل دهی شود PB2 با توجه به DDB2 ورودی تعریف می شود و در Slave با Low شدن این پایه SPI فعال می شود .

    این پایه در Master می تواند خروجی یا ورودی تعریف شود .

    OC1B خروجی مد مقایسه ای Timer/Counter 1 پایه PB2 با یک شدن DDB2 می تواند برای خروجی مد مقایسه ای Timer/Counter شکل دهی می شود .

    PORTB.0.ICP : PB0.ICP می تواند به عنوان پایه ورودی CAPTURE تایمر / کانتر 1 عمل کند .

    2-2-1- پورت C : پورت C یک I/O دو طرفه 7 بیتی است .

    سه آدرس از مکان حافظه I/O اختصاص به PORTC دارد .

    یک آدرس برای رجیستر داده PORTC دومی رجیستر جهت داده DDRC و سومی پایه پورت PINC,C است .

    آدرس پایه های ورودی پورت C فقط قابل خواندن است .

    پایه های پورت دارای مقاومت ( Pull-up ) مجزا هستند .

    بافر خروجی پورت C می تواند تا 20mA را sink کند و در نتیجه LED را مستقیما راه اندازی می کند .

    هنگامی که PC0-PC7 که با مقاومت های Pull-Down خروجی استفاده می شوند آنها SOURCE جریان می شوند زمانی که مقاومت های Pull-up داخلی فعال باشند .

    استفاده از پورت C به عنوان یک I/O عمومی دیجیتال : تمام 7 پایه موجود زمانی که به عنوان پایه های I/O دیجیتال استفاده می شوند دارای عملکرد مساوی هستند .

    PCn پایه I/O عمومی : بیت DDCn در رجیستر DDRC مشخص کننده جهت پایه است .

    اگر DDCn یک باشد ، PCn به عنوان یک پایه خروجی مورد استفاده قرار می گیرد و اگر DDCn صفر باشد ، PCn به عنوان یک پایه ورودی در نظر گرفته می شود .

    اگر Port Cn یک باشد هنگامی که پایه به عنوان ورودی تعریف می شود ، مقاومت Pull-up فعال می شود .

    برای خاموش کردن مقاومت Pull-up باید Port Cn صفر باشد یا اینکه پایه به عنوان خروجی تعریف شود .

    پایه های پورت زمانی که ریست اتفاق می افتد به حالت Tri-state می روند .

    دیگر کاربردهای پورت C : پورت C به عنوان ADC هم استفاده می شوند .

    اگر تعدادی از پایه های پورت C خروجی تعریف شوند این نکته بسیار مهم است که در زمان نمونه برداری از سیگنال آنالوگ توسط ADC ، سوییچ نشوند .

    این کار ممکن است عملیات تبدیل ADC را نامعتبر کند .

    PORTC.6-RESET : RESET این پایه برای ریست کردن میکرو استفاده می شود .

    PORTC.5-SCL,ADC5 : SCL در زمان ارتباط 2-WIRE به عنوان خط کلاک استفاده می شود .

    PORTC.4-SDA,ADC4 : SDA در زمان ارتباط 2-WIRE به عنوان خط داده استفاده می شود .

    3-2-1- پورت D : پورت D یک I/O دو طرفه 8 بیتی است .

    سه آدرس از مکان حافظه I/O اختصاص به PORTD دارد.

    یک آدرس برای رجیستر داده PORTD ، دومی رجیستر جهت داده DDRD و سومی پایه ورودی پورت PIND,D است .

    آدرس پایه های ورودی پورت D فقط قابل خواندن است در صورتی که رجیستر داده جهت داده هم خواندنی و هم نوشتنی هستند .

    پایه های پورت دارای مقاومت Pull-up مجزا هستند .

    بافر خروجی پورت D می تواند تا 20mA را sink کند و در نتیجه LED را مستقیما راه اندازی می کند .

    هنگامی که PD0-PD7 با مقاومت های Pull-Down خروجی استفاده می شوند آنها SOURCE جریان می شوند زمانی که مقاومت های Pull-up داخلی هستند .

    استفاده از پورت D به عنوان یک I/O عمومی دیجیتال : تمام 8 پایه موجود زمانی که به عنوان پایه های I/O دیجیتال استفاده می شوند دارای عملکرد مساوی هستند .

    PDN پایه I/O عمومی : بیت DDDn در رجیستر DDRD مشخص کننده جهت پایه است .

    اگر DDDn یک باشد ، PDn به عنوان یک پایه خروجی مورد استفاده قرار می گیرد و اگر DDn به عنوان یک پایه ورودی در نظر گرفته می شود .

    اگر PortDn یک باشد هنگامی که پایه به عنوان ورودی تعریف شود مقاومت Pull-up فعال می شود برای خاموش کردن مقاومت Pull-up باید PortDn صفر باشد یا اینکه پایه به عنوان خروجی تعریف شود .

    دیگر کاربردهای پورت : PORTD.7.AIN1 : AIN1 ورودی منفی مقایسه کننده آنالوگ است .

    PORTD.7.AIN0 : AIN0 ورودی مثبت مقایسه کننده آنالوگ است .

    POTRD.5.T1 : T1 ورودی کلاک برای Timer / Counter1 است .

    PORTD.4-XCKT0 : T0 ورودی کلاک برای Timer / Counter0 است .

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

    این پایه فقط زمانی که USART در مد آسنکرون کار می کند فعال می شود .

    PORTD.3-INT1 : INT1 : منبع وقفه خارجی یک پایه PD3 می تواند به عنوان منبع وقفه خارجی برای میکرو استفاده شود .

    PORTD.3-INT0 : INT0 : منبع وقفه خارجی یک پایه PD2 می تواند می تواند به عنوان منبع وقفه خارجی برای میکرو استفاده شود .

    PORTD.1-TXD : ارسال داده ( پایه خروجی داده برای USART ) زمانی که ارسال USART فعال می شود پایه با توجه به DDD1 به عنوان خروجی شکل دهی می شود.

    PORTD.0.RXD : RXD دریافت داده ( پایه ورودی برای USART ) زمانی که دریافت USART فعال می شود پایه با توجه به DDD0 به عنوان ورودی شکل دهی می شود.

    3-1- کلاک سیستم توزیع کلاک : کلاک سیستم میکرو طبق شکل زیر توزیع شده است .

    کلاکCLKCPU-CPU : این کلاک برای انجام عملیات AVR به طور مثال رجیسترها استفاده می شود .

    توقف و به مکث بردن این کلاک باعث می شود که عملیات و محاسبات AVR انجام نگیرد .

    کلاک CLKI/O-I/O : این کلاک توسط بسیاری از ماژول های I/O به طور مثال تایمرها ، کانترها ، SPI و USART استفاده می گردد .

    کلاک CLKFLASH-FLASH : این کلاک عملیات ارتباطی با حافظه FLASH را کنترل می کند .

    کلاک FLASH معمولا با کلاک CPU فعال می شود .

    کلاک غیر همزمان تایمرCLK ASY- : با این کلاک تایمر / کانتر به صورت غیر همزمان توسط کریستال ساعت 32768HZ کار می کند حتی اگر سیستم در حالت SLEEP باشد .

    کلاک CLKASC-ADC : ADC از یک کلاک جداگانه حساس استفاده می کند که باعث می شود کلاک های CPU و I/O به حالت ایست ( HALT ) رفته تا نویز حاصل از مدار دیجیتال داخلی کاهش یافته و در نتیجه عملیات تبدیل با دقت بیشتری انجام یابد .

    منابع کلاک (CLOCK SOURCE ): میکرو دارای انواع منابع کلاک اختیاری است که می توان انواع آن را به وسیله بیت ها قابل برنامه ریزی FLASH ( FLASH FUSE BITS ) انتخاب کرد .

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

    به نام زمان شروع ( START-UP ) برای رسیدن کریستال به شرایط پایدار ایجاد و سپس دستورات برنامه اجرا می شود و هنگامی که CPU از ریست شروع به کار می کند تاخیر اضافه (DELAY ) برای رسیدن ولتاژ به سطح پایدار ایجاد شده و سپس اجرای برنامه آغاز می شود .

    برای ایجاد زمان بندی های مذکور از اسیلاتور WATCHDOG استفاده می گردد 2-3-1- اسیلاتور کریستالی ( EXTERNAL CRYSTAL/CERAMIC RESONATOR ): در این حالت کریستال یا نوسانگر سرامیکی ( CERAMIC RESONATOR ) یا کریستال کوارتز ( QUARTZ CRYSTAL ) همانطور که در شکل زیر نشان داده شده است به دو پایه XTAL1 و XTAL2 وصل می شود .

    فیوز بیت CKPOTمی تواند برای دو حالت مختلف استفاده شود .

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

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

    خازن های C1 و C2 برای کریستال ها و نوسانگرها بایستی یک مقدار باشند و مقادیر آنها بستگی به کریستال ، نوسانگر و نویزهای الکترومغناطیسی محیط دارد .

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

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

    اتصال کریستال به میکرو در حالت اسیلاتور کریستالی جدول مدهای عملیاتی اسیلاتور کریستالی توسط فیوز بیت CKSEEL0 و 0…SUT1 زمان آغاز (START-UP ) را می توان طبق جدول زیر انتخاب کرد .

    جدول انتخاب زمان START-UP برای کلاک اسیلاتور کریستالی 3-3-1- اسیلاتور کریستالی فرکانس پایین : (EXTERNAL-LOWFREQUENCYCRYSTAL) برای استفاده از کریستال ساعت 32.768KHZ فیوز بیت های CKSEL با1001 برنامه ریزی می شوند و کریستال طبق شکل صفحه قبل از پایه های XTAL1 و XTAL2 متصل می شود .

    با برنامه ریزی کردن CKOPT می توان خازن های داخلی را فعال نموده و در نتیجه خازن های خارجی را برداشت .

    مقدار نامی خازن های داخلی 36PF است .

    هنگامی که این کریستال انتخاب می شود زمان شروع (START-UP) توسط فیوز بیت های SUT طبق جدول زیر قابل انتخاب است .

    جدول انتخاب زمان START-UP برای کلاک اسیلاتور کریستالی فرکانس پایین 4-3-1- اسیلاتور RC خارجی ( EXTERNAL RC OCSILLATOR ) : اتصال RC به پایه های XTAL1 در شکل زیر آمده است .

    فرکانس تقریبی توسط معادله ( 3RC)f=1 بدست می آید .

    مقدار خازن بایستی حداقل 22PF باشد .

    با برنامه ریزی کردن فیوز بیت CKOPT کاربرد می تواند خازن های داخلی 36PF را بین XTAL1 و GND راه اندازی کند .

    و در نتیجه دیگر نیازی به خازن خارجی نیست .

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

    هنگامی که فرکانس کاری انتخاب شود ، زمان شروع توسط فیوز بیت های 0…CKDEL3 طبق جدول زیر انتخاب است .

    5-3-1- اسیلاتور RC کالیبره شده داخلی : ( CALIVRATE INTERNALRCOSCILLATOR) اسیلاتور RC کالیبره شده داخلی ، کلاک های نامی داخلی 1 ، 2 ، 4 و 8MHZ را در ولتاژ V5 و C25 تولید می کند .

    این کلاک با برنامه ریزی کردن بیت های CKSEL می تواند به عنوان کلاک سیستم استفاده گردد که در این صورت نیازی به مدار خارجی نیست .

    زمانی که از این مد استفاده می گردد ، فیوز بیت CKOPT همیشه بایستی برنامه ریزی شده باشد .

    هنگامی که فرکانس کاری انتخاب می شود زمان شروع (START-UP ) توسط فیوز بیت های SUT طبق جدول زیر قابل انتخاب است .

    6-3-1- کلاک خارجی ( EXTERNAL CLOCK ): برای راه اندازی میکرو توسط کلاک خارجی پایه XTAL1 طبق شکل زیر بایستی وصل شود .

    برای این کار در این مد بیت های CKSEL با 0000 برنامه ریزی می شوند .

    با برنامه ریزی فیوز بیت CKOPT خازن داخلی 36PF بین پایه های XTAL1 و GND فعال می شود .

    اتصال کلاک خارجی به پایه میکرو در حالت کلاک خارجی هنگامی که این نو ع کلاک انتخاب می شود ، زمان شروع ( START-UP ) توسط فیوز بیت های SUT طبق جدول زیر قابل انتخاب است .

    جدول انتخاب زمان START-UP برای کلاک خارجی در این مد باید از تغییرات ناگهانی فرکانس کلاک خارجی برای اطمینان از انجام پایدار و سریع عملیات میکرو کنترلر (MCU ) جلوگیری کرد .

    تغییرات بیشتر از 2% در فرکانس و کلاک خارجی ممکن است باعث رفتارهای غیر قابل انعطاف میکرو شود .

    زمانی که قصد تغییر فرکانس کلاک را دارید بایستی میکرو در حالت RESET نگه داشته شود .

    اسیلاتور تایمر / کانتر : برای میکرو کنترلرهایی که دارای پایه TOSC1 و TOSC2 هستند ، کریستال ساعت 32.768KHZ مستقیما بین دو پایه قرار می گیرد و تایمر / کانتر 0 تا 2 به صورت آسنکرون از این دو پایه کلاک دریافت می کند .

    فصل دوم : نرم افزار 1-2- نحوه عملکرد نرم افزار 1)برای معرفی میکرو به کامپایلر $Regfile="m16def.dat" 2)برای معرفی کریستال داخلی $crystal=1000000 3)پورت D را به عنوان ورودی در نظر بگیر .

    Config Portd = Input 4)LCD را با دو سطر و 16 ستون پیکره بندی کن Config Lcd =16 * 2 5)مکان نما خاموش Cursor Off 6 و 7)A و B و C را به عنوان متغیر نوع بایت و D و E و F را به عنوان متغیر word ( کلمه ) در نظر بگیر .

    Dim A As Byte , B As Byte , C As Byte , D As Byte , E As Byte , F As Word , G As Word , H As Word

در اين پروژه سعي بر اين است که علاوه بر آشنايي با ميکروکنترلر AVRو محيط نرم افزاري (labview) سخت افزار،به گونه اي طراحي شود که با دريافت سيگنال آنالوگ ورودي (صوت) از ميکروفن ، از طريق واحدADC ميکرو اين سيگنال به ديجيتال تبديل شود و با توجه به برنامه

مقدمه فصل يک در موردانواع ميکروکنترلر هاي MEGAAVR است که سعي شده است به طور کلي توضيح داده شود . در فصل دوم شاهد توضيحاتي در مورد عملکرد پروژه ساخت (مدار الکترونيکي ، قطعات تشکيل دهنده ، برنامه مورد استفاده وتوضيحات کامل کننده است . درف

چکیده : در این پروژه پیرامون طراحی نرم افزار ساخت یک قفل الکترونیکی با استفاده از میکرو کنترلر AVR(ATMEGA8) مطالبی چند به میان آمده است این قفل توانایی این را دارد که توسط سه نفر و با سه رمز رقمی متفاوت مورد استفاده قرار گیرد . میکرو AVR رمز را از یک صفحه کلید ماتریسی دریافت می کند و پس از نمایش برروی صفحه نمایشگر LCD پس از مقایسه با رمز موجود در حافظه در صورت صحیح بودن رله ای ...

مشخصات مدار مشخصات اين دماسنج کنترلي بصورت زير است 1- قابليت اندازه گيري دما تا 100 درجه سانتي گراد 2- قابليت تنظيم هشدار دهنده ، دماي بيش از حد 3- قابل استفاده در دو حالت winner , summer 4-داراي نمايشگر LCD اين مدار شامل يک آي سي از خان

حافظه هاي ATMagUlb, AVR اين بخش تفاوت ميان حافظه هاي دو، ATmegulb را توصيف مي کند در ساختار AVR دو فضاي حافظه اي، فضاي حافظه اي برنامه توليست وفضاي حافظه اي اوليه وجود دارد در مجموع ATMega16 يکEEPROM براي نگهداري اطلاعات حافظه اي دارد همه

فصل 1 - توصيف کامل پروژه ضرورت ها و نياز ها : در بسياري از مدارات ديجيتالي ( ميکروکنترلي ) که با برق و باطري کار مي کنند با دو مشکل مواجه مي باشيم : مشکل اول مربوط به عملکرد است. يعني عملکرد نمايش LCD با ولتاژ 5 ولت است در حالي که اي

چکیده : سخت افزار این پروژه به طور کلی از یک میکروکنترلر Atmega16 از شرکت ATMEL و یک LCD 4*20 جهت نمایش عملکرد و 4 رله در خروجی و چند قطعه دیگر جهت کارهای جانبی و تنظیمات سخت افزاری تشکیل شده است . این پروژه جهت کنترل 4 موتور مجزا با تنظیمات مجزا می باشد که توسط برنامۀ Bascom و به زبان Basic طراحی شده است . جهت شناسایی این که کدام موتور باید روشن شود به صورت مقایسه ای برنامۀ ...

پیشگفتار در اوایل دهه 60 میلادی ایالات متحده در آستانه شکل گیری تکنولوژی نوینی در مهندسی برق بود. ترانزیستور که کمی پس از پایان جنگ جهانی دوم توسط سه دانشمند در آزمایشگاههای کمپانی بل ابداع شده بود، کم کم جایگزین رقیبش لامپ خلا می شد. در سال 1968 رابرت نویس و گوردون مور، دو نفر از پایه گذاران اصلی کمپانی فیرچایلد شرکت جدیدی موسوم به اینتل[1] تاسیس نمو دند. در سال 1969 یک شرکت ...

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

مقدمه : اگر يک موتور القائي سه فاز به شبکه اي با ولتاژ و فرکانس ثابت وصل شود، در اين صورت پس از راه اندازي درسرعتي حوالي سرعت سنکرون خواهد چرخيد. گفتني است با افزايش گشتاور بار سرعت به ميزان کمي کاهش مي يابد، لذا اين موتورها تقريباً از

ثبت سفارش
تعداد
عنوان محصول