زبان برنامهنویسی سی، زبانی همه منظوره، ساختیافته، دستوری و روندگرا میباشد که در سال ۱۹۷۲ توسط دنیس ریچی در آزمایشگاههای بل ساخته شد که با توجه به کاربرد روز افزون آن وجود آن در برنامه نویسی میکروکنترلرها اجتناب ناپذیر بود.
این کتاب شامل 300 صفحه می باشد که در آن برنامه نویسی C ویژه میکروکنترلرها با مثال ها متعدد در کامپایلر WINAVR آموزش داده شده است.
در دنیای صنعتی امروز ، انتقال دیتا به عنوان یکی از مهمترین بخشهای پروسه های کنترلی شناخته شده است و طراحان در تلاش برای بوجود آمدن پروتکل های جدیدی با ایمنی ، صحت و سرعت بالا در انتقال دیتا هستند. در این مقاله ، در ابتدا به معرفی تبادل دیتا (Data Communication) پرداخته و برخی از مباحث کلیدی آن از جمله ارتباط سریال و موازی ، فزستنده و گیرنده ، اتصالات و تبادل شفاف ، ساختار Master-Slave ، سرعت انتقال ، مدوله سازی ، Handshaking را مختصراً توضیح می دهیم. سپس به قسمت اصلی مقاله ، معرفی پروتکل I2C می پردازیم . این پروتکل توسط شرکت فیلیپس در دهه ۱۹۸۰ جهت ارتباط دستگاههای TV با پردازشگر ابداع شده است. که بدلیل سادگی و سرعت مناسب آن مورد توجه دیگر سازندگان قطعات الکترونیک قرار گرفت و هم اکنون به عنوان یکی از پروتکل های کاربردی در صنعت شناخته شده است. در این مقاله به جزئیات فنی این پروتکل و کاربردهای آن در بخشهای مختلف پرداخته ایم.
کلمات کلیدی :
I2C ، میکروکنترلر، همزمان سازی، SDA ، SCL ، Handshaking ، Baud rate ، DTE ، DCE ، Master ، Slave ، OSI ، Wired-AND ، open-collector ، open-drain ، current-source ، Arbitration ، Acknowledge ، RS-232 ، SERVO ، Hub ، Repeater ، Extender ، GPIO ، Multiplexer ، LED
چگونه تبادل دیتا انجام می پذیرد؟هدف از تبادل دیتا ، انتقال دیت بین ۲ یا تعداد بیشتری واحد می باشد. به عنوان یک اصل ، آنها می توانند کاراکتر، دستورات باشند که نیاز به نمایش دارند.ساده ترین سطح زبان کامپیوتر ، کاراکترهای باینری است که شامل ۷ یا ۸ ، عدد صفر یا یک می باشد. اکثر کامپیوترها با این سطح کار می کنند.
تبادل دیتا اساساً با صفر و یک صورت می گیرد.
یکی از استانداردهای معمول در کامپیوترها ، استاندارد ASCII می باشد که شامل ۱۲۸ کاراکتر است که هر کدام از آنها از ۷ بیت تشکیل شده است. باید توجه داشت که ارتباطات در داخل کامپیوتر با سرعت زیادی انجام می شود و برای ارتباط با محیط خارج باید ارتباطات همزمان شوند و همچنین باید صحت تبادل دیتا ، کنترل شود.
استانداردهای مختلفی از ASCII وجود دارد. به عنوان مثال Extended ASCII که از هشتمین بیت نیز برای انتقال data استفاده می کند.
یک بیت در هر زمان یا یک بایت بطور کاملدو روش برای انتقال دیتا وجود دارد :
۱- سریال
۲- موازی
در انتقال موازی ، برای هر بیت یک مسیر در نظر گرفته شده است. بنابراین کاراکترها می توانند بطور همزمان ارسال شوند. با توجه به این مزیت، که سرعت بالای انتقال است این روش در سیستمهای ارتباطی کوتاه مورد استفاده قرار می گیرد.
در مقابل ، در روش سریال هر بیت در هر لحظه فرستاده می شود. بنابراین پروتکل ارتباطی ، باید بتواند برای مقصد ، ابتدا و انتها را مشخص کند. علاوه بر این، سرعت انتقال نیز با واحد bit/s معرفی می شود.
40 صفحه فایل ورد قابل ویرایش
فهرست مطالب:چکیده: ۱
چگونه تبادل دیتا انجام می پذیرد؟. ۲
یک بیت در هر زمان یا یک بایت بطور کامل. ۲
یک کاراکتر در یک زمان یا یک جمله کامل. ۳
فرستنده و گیرنده ۳
اتصال صحیح : ۴
تبادل شفاف (transparent communication) 5
ساختار Master-Slave. 5
سرعت انتقال: ۵
مدوله سازی : ۷
Handshaking. 7
Handshaking نرم افزاری : ۸
Handshaking سخت افزاری: ۸
مدل سیستمهای باز open systems model 10
تاریخچه I2C : ۱۱
مزایای باس برای طراح : ۱۲
مزایای باس I2C برای تولید کنندگان : ۱۳
سخت افزار باس I2C : 13
فرمت انتقال داده ها: ۱۵
مساله همزمان سازی پالس ساعت : ۱۶
مساله داوری و حاکمیت یک Master : 17
آدرس دهی : ۱۸
آدرس دهی ۷ بیتی: ۱۹
آدرس دهی ۱۰ بیتی : ۲۳
تحولات در Fast-mode : 25
تحولات در High Speed-mode (HS-mode) : 25
فرمت ارسال داده های سریال در HS-mode : 26
سایر کاربردها: ۳۹
مراجع : ۴۰
پروژه دماسنج دیجیتال با استفاده از میکروکنترلر Atmega16/
در زیر به مختصری چکیده، تعداد صفحات، فرمت فایل و فهرست مطالب آنچه شما در این فایل دریافت می کنید اشاره شده است:
خلاصه و چکیده تحقیق:
میکروکنترلر ATmega16L دارای ۴ پورت (Port) یا درگاه است. هر پورت دارای ۸ پایه است که می توانند به عنوان ورودی یا خروجی استفاده شوند. در حقیقت این میکروکنترلر دارای ۳۲ پایه برای دریافت اطلاعات و یا صدور دستورات مختلف برای کنترل سایر قطعات است. ۸ پایه ی دیگر نیز وظایف مختلفی بر عهده دارند که در جلسات آینده در مورد آن ها نیز توضیح داده خواهد شد.
در بعضی از میکروکنترلرها برای انتقال برنامه به چیپ (پروگرام کردن چیپ)، از یک مدار جانبی به نام “Micro controller programmer” استفاده می کنند و چیپ را در آن مدار قرار داده و چیپ باید فقط روی آن مدار پروگرام شود. ATmega16L این قابلیت را دارد که بدون هیچگونه مدار خارجی و فقط به وسیله ی چند رشته سیم معمولی، بر روی خود ربات یا مدار اصلی پروگرام شود. این قابلیت به اختصار ISP یا (In System programing) نام دارد. این قابلیت یکی از بزرگترین مزیت های این نوع میکروکنترلر به شمار می رود. زیرا دیگر نیازی به صرف هزینه ی اضافی برای خرید این مدار نیست. علاوه بر این دیگر نیازی نیست چیپ هر بار برای پروگرام شدن از روی ربات جدا شود.
تعداد صفحات: 41
فرمت فایل: word
فهرست مطالب:
تاریخچه دماسنج
مقدمه
برنامه avr برای دماسنج
فرکانس 433 مگاهرتز
ویژگی ها atmega16
ویژگی های محیطی
Mhz433 محدود رادیو با پهنای باند فرستنده و گیرنده
طراحی آنتن
میکروکنترلر 40
پورت A
پورت B
پورت c
پورت D
مقدمه ای بر میکروکنترلرهای AVR
بهره های کلیدی AVR
واژگان کلیدی AVR
خانواده های محصولات AVR
واسطه JTAG
توضیحات مقدماتی در مورد قسمت های سخت افزاری
توضیحات ابتدایی در مورد قسمت های نرم افزاری
شرح مختصر : میکرو کنتر لر چیست؟ آی سی هایی که قابل برنامه ریزی می باشدو عملکرد آنها از قبل تعیین شده میکروکنترلر گویند. میکرو کنترل ها دارای ورودی –خروجی و قدرت پردازش می باشد. این کلمه از دو کلمه میکرو کنترلر تشکیل شده میکرو : می دانیم که این یک واحد یونانی است وبرابر با ۱۰ به توان منفی ۶ متر است.یعنی یک ملیو نیوم واحد است که خیلی کوچک است ولی واحدهای خیلی کوچکتر از این هم داریم که در الکترونیک مورد استفاده قررار می گیرند. کنترلر:که همه معنی ومفهوم آن این است که یعنی کنترل کننده به تعبیری یعنی” مغز” البته بدون تفکر فقط دستوراتی که به آن داده می شود را به نحو احسن انجام می دهد.
با میکروکنترلر چه کارهایی می توان انجام داد؟ این آی سی ها حکم یک کامپیوتر در ابعاد کوچک و قدرت کمتر را دارند بیشتر این ای سی ها برای کنترل وتصمیم گری استفاده می شود چون طبق الگوریتم برنامه ی آن عمل می کند این آی سی ها برای کنترل ربات ها تا استفاده در کارخانه صنعتی کاربرد دارد. تفاوت میکروپروسسر و میکرو کنترلرمیکروپروسسور یک پردازنده است برای کار باید به آن چیپ های حافظه وچیزهای دیگری را به ان اضافه کرد لحاظ هزینه بیشتر می شود به همین دلیل امروزه از میکروپروسسورها کمتر استفاده می شود اما این روزها میکروکنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد وتنوع بسیار زیاد به بازار عرضه شده است.ست؟
آیا میکروکنترلر چیز جدیدی را با خود آورده است؟ جواب منفی است تمام کارهایی که ما با میکرو کنترلر می توانیم انجام بدهیم با قطعات دیگر هم می توانیم انجام بدهیم.
عیب میرو کنترلر : میکرو کنترلر دارای یک عیب کوچک است وآن سرعت پایین است ( از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.)
فهرست :
آشنایی با میکروکنترلر
تفاوت های میکروکنترلر با سیستم کامپیوتر
قسمت های مختلف یک میکروکنترلر
خانواده های مختلف میکروکنترلر
میکروکنترلر های AVR
ویژگی های میکروکنترلر های AVR
میکروکنترلر ATMEGA32
خصوصیات ATMEGA32
معماری ATMEGA32
ترکیب پایه ها در میکروکنترلر ATMEGA32
محیط برنامه نویسی BASCOM
چند مثال عملی
تعداد صفحات: 74
فرمت: WORD و قابل ویرایش
مقدمه:
در این پروژه سعی بر این است که علاوه بر آشنایی با میکروکنترلر AVRو محیط نرم افزاری (labview) سخت افزار،به گونه ای طراحی شود که با دریافت سیگنال آنالوگ ورودی (صوت) از میکروفن ، از طریق واحدADC میکرو این سیگنال به دیجیتال تبدیل شود و با توجه به برنامهای که در داخل میکرو تعبیه شده است،این اطلاعات به داخل MMC ریخته شده ومیکرو با دریافت فرمان از کامپیوتر به صورت ارتباط سریال دستور پخش را دریافت میکند و از طریق واحد تایمر/ کانترکه در مد PWM کار میکند,اطلاعات ذخیره شده در MMC را با آشکار سازی موج PWM توسط یک انتگرال گیر،باز سازی و به آنالوگ تبدیل میکند و این سیگنال آنالوگ بوسیله یک سری مدارات مورد نیاز برای پخش از طریق یک هدفن پخش میگردد.
فصل اول :
نگاهی اجمالی به میکروکنترلرها
سیر تکاملی میکروکنترلرها :
اولین میکروکنترلرها در اواسط دهه 1970 ساخته شدند. این میکروکنترلرها در ابتدا پردازندههای ماشین حساب بودند که دارای حافظه برنامه کوچکی از نوع ROM ، حافظ داده از نوعRAM وتعدادی درگاه ورودی وخروجی بودند.
با توسعه فناوری سیلیکون ، میکرو کنترلرهای 8 بیتی قویتری ساخته شدند . در این میکروکنترلرها علاوه بر بهینه شدن دستورالعمل ها، تایمر /شمارنده روی تراشه، امکانات وقفه و کنترل بهینه شده خطوط ورودی وخروجی نیز به آن اضافه شده است. حافظه موجود بر روی تراشه هنوز هم محدود میباشد و دربسیاری موارد کافی نیست .یکی از پیشرفتهای قابل توجه در آن زمان، قابلیت استفاده از حافظه EPROM قابل پاک شدن با اشعه ماورا بنفش، روی تراشه بود این قابلیت، زمان طراحی و پیاده سازی محصول را بطور محسوسی کاهش داد و نیز برای اولین بار امکان استفاده از میکروکنترلرها را در کاربردهایی که حجم تولید پایینی دارند، فراهم ساخت.
خانواده 8051 در اوایل دهه 1980 توسط شرکت اینتل معرفی گردید . از آن زمان تاکنون 8051 یکی از محبوبترین میکروکنترلرها بوده و بسیاری از شرکتها دیگر نیز به تولید آن اقدام کردهاند . در حال حاضر مدلهای مختلفی از 8051 وجود دارد که در بسیاری از آنها امکاناتی نظیر مبدل آنالوگ به دیجیتال حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده،مدولاتور عرض پالس(PWM) در خروجیها که امکان پاک کردن و برنامه ریزی مجدد آن توسط سیگنالهای الکتریکی وجود دارد،تعبیه شده است.
میکروکنترلرها اکنون به سمت 16 بیتی شدن در حرکت هستند . میکروکنترلر های 16 بیتی، پردازندههایی با کارایی بالا (نظیر پردازش سیگنالهای دیجیتال ) میباشند که در کنترل فرایندهای بلادرنگ و در مواردی که حجم زیادی از عملیات محاسباتی مورد نیاز است، به کار برده میشوند.
بسیاری از میکروکنترلرهای 16 بیتی، امکاناتی نظیر حجم زیاد حافظه برنامه و حافظه داده، مبدل های آنالوگ به دیجیتال چند کانالی، تعداد زیادی درگاهI/O ، چندین درگاه سریال، عملکردهای بسیار سریع ریاضی و منطقی و مجموعه دستورالعملهای بسیار قدرتمند با قابلیت پردازش سیگنال را دارا میباشند .
معماری داخلی میکرو کنترلرها:
ساده ترین معماری میکروکنترلر، متشکل از یک ریز پردازنده، حافظه و درگاه ورودی/خروجی است. ریز پردازنده نیز متشکل از واحد پردازش مرکزی (CPU)و واحد کنترل(CU) است.
CPUدر واقع مغز یک ریز پردازنده است و محلی است که در آنجا تمام عملیات ریاضی و منطقی ،انجام میشود. واحد کنترل ، عملیات داخلی ریزپردازنده را کنترل میکند و سیگنالهای کنترلی را به سایر بخشهای ریز پردازنده ارسال میکند تا دستورالعملهای مورد نظر انجام شوند.
حافظه بخش بسیار مهمی از یک سیستم میکروکامپیوتری است.ما میتوانیم بر اساس بکارگیری حافظه ،آن را به دو گروه دستهبندی میکنیم: حافظه برنامه و حافظه داده . حافظه برنامه ، تمام کد برنامه را ذخیره میکند .این حافظه معمولا از نوع فقط خواندنی (ROM) می باشد. انواع دیگری از حافظهها نظیرEPROM وحافظههای فلش EEPROM برای کاربردهایی که حجم تولید پایینی دارند وهمچنین هنگام پیادهسازی برنامه به کار میروند . حافظه داده از نوع حافظه خواندن/نوشتن(RAM) میباشد. در کاربردهای پیچیده که به حجم بالایی از حافظه RAM نیاز داریم ، امکان اضافه کردن تراشه های حافظه بیرونی به اغلب میکروکنترلر ها وجود دارد.
در گاههای ورودی / خروجی (I/O) به سیگنالهای دیجیتال بیرونی امکان میدهند که با میکروکنترلر ارتباط پیدا کند .درگاههای (I/O) معمولاً به صورت گروههای 8 بیتی دسته بندی میشوند و به هر گروه نیز نام خاصی اطلاق میشود به عنوان مثال ، میکروکنترلر 8051 دارای 4 درگاه ورودی / خروجی 8 بیت میباشد که P3,P2,P1,P0 نامیده میشوند. در تعدادی از میکروکنترلرها ، جهت خطوط درگاه I/O قابل برنامه ریزی میباشد . لذا بیتهای مختلف یک درگاه را می توان به صورت ورودی یا خروجی برنامهریزی نمود. در برخی دیگر از میکروکنترلرها (از جمله میکروکنترلرهای 8051) درگاههای I/O به صورت دو طرفه میباشند . هر خط از درگاه I/O این گونه میکرو کنترلرها را می توان به صورت ورودی و یا خروجی مورد استفاده قرار داد . معمولاً ، این گونه خطوط خروجی ، به همراه مقاومتهای بالا کش بیرونی به کار برده میشوند.
خانواده AVR :
میکروکنترولر AVR به منظور اجرای دستورالعملهای قدرتمند در یک سیکل کلاک (ساعت) به اندازه کافی سریع است و میتواند برای شما آزادی عملی را که احتیاج دارید به منظور بهینه سازی توان مصرفی فراهم کند . میکروکنترلر AVR بر مبنای معماری(RISC کاهش مجموعهی دستورالعملهای کامپیوتر ) پایه گذاری شده و مجموعه ای از دستورالعملها را که با 32 ثبات کار میکنند ترکیب میکند . به کارگرفتن حافظه از نوع Flash که AVR ها به طور یکسان از آن بهره میبرند از جمله مزایای آنها است.یک میکرو AVR میتواند با استفاده از یک منبع تغذیه 2.7 تا 5.5 ولتی از طریق شش پین ساده در عرض چند ثانیه برنامه ریزی شود یا Program شود.
میکروهای AVR در هرجا که باشند با 1.8 ولت تا 5.5 ولت تغذیه میشوند البته انواع توان پایین نیز وجود دارند که بهLow Power معروفند. ویژگیهایی که سبب شد، AVRها جای 8051 را بگیرند،عبارتست از:
توان مصرفی پایین: توان مصرفی پایین آنها برای استفاده بهینه از باتری و همچنین کاربرد میکرو در وسایل سیار و سفری طراحی شده که میکروهای جدید AVR با توان مصرفی کم از شش روش اضافی در مقدار توان مصرفی ، برای انجام عملیات بهره میبرند. این میکروها تا مقدار 8 ولت قابل تغذیه هستند که این امر باعث طولانی تر شدن عمر باتری میشود. در میکروهای با توان پایین ، عملیات شبیه حالت Standby است یعنی میکرو میتواند تمام اعمال داخلی و جنبی را متوقف کند و کریستال خارجی را به همان وضعیت شش کلاک در هر چرخه رها کند !حافظه ی فلش خود برنامه ریز با امکانات خاصقابلیت دوباره برنامه ریزی کردن بدون احتیاج به اجزای خارجیبایت کوچک که به صورت فلش سکتور بندی شده اندداشتن مقدار متغیر در سایز بلوک بوتخواندن به هنگام نوشتنبسیار آسان برای استفادهکاهش یافتن زمان برنامه ریزیکنترل کردن برنامه ریزی به صورت سخت افزاریاستفاده از فیوزها و بیتهای قفلایزوله بودن نسبت به نویز که باعث کابرد آن در محیط صنعتی می شود.راههای مختلف عمل برنامه ریزی :
موازی یاparallel یکی از سریعترین روشهای برنامه ریزی.خود برنامه ریزی توسط هر اتصال فیزیکی.برنامه ریزی توسط هر نوع واسطی از قبیل TWIو SPI و غیره، دارا بودن امنیت صد درصد در بروزرسانی و کد کردن.: SPI واسطه سه سیمی محلی برای بروزرسانی سریع ، آسان و موثر در استفاده.واسط JTAG : واسطه ای که تسلیم قانون IEEE 1149.1 است و میتواند به صورت NVM برنامهریزی کند یعنی هنگام قطع جریان برق دادهها از بین نروند .AVR همچنین مجهز به امکانات دیگر مانند تایمر واچ داگ و مبدلهای ADC و PWM است.
یکی از مهمترین بخشهای AVR که کمتر در هر میکروکنترلرهای دیگر دیده میشود مقایسه کننده آنالوگ با گین 1 و 200 و … می باشد. لازم به ذکر است که در 8051 باید از فلش(EEPROM) وADC و کریستال مولد ساعت به صورت بیرونی استفاده میکردیم اما در AVR این امکانات به صورت درونی وجود دارد .
انواع میکروهایAVR :
شرکتATMEL که شرکت اصلی تولید کننده میکروهایAVR میباشد, سه نوع میکروکنترلر AVR تولید میکند :
(1سری Tiny (2 سری AT90s (3 سریATmega
متن کامل را می توانید دانلود نمائید
چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)
ولی در فایل دانلودی متن کامل پایان نامه
همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند
موجود است