آیا میدانید در سوئد ساليانه از 9 ميليون نفر جمعيتي
که دارد فقط و فقط 1700 نفر ميميرند
انسان همان می شود كه اغلب به آن فكر می كند... |
![]() |
آموزش گام به گام برنامه نویسی AVR به زبان C
کامپایلر قدرتمند Atmel AVR Studio 6 نسخه 6
دانلود شبیه ساز قدرتمند proteus 7.10 SP0 همراه با کرک و لایسنس و کتابخانه
کتابخانه شبیه ساز LCD های نوکیا برای پروتیوس
پروژه تولید سیگنال های ویدیوئی PAL با AVR به زبان اسمبلی
پروژه ارتباط AVR با RS232 و برنامه کنترلی با ویژوال بیسیک
اتصال کیبورد 4*4 به میکروکنترلر AVR و نمایش روی سون سگمنت
با عرض سلام خدمت دوستان
این هم یه پروژه خوب برای یادگیری و کار کردن با مبدل آنالوگ به دیجیتال AVR همچنین طریقه استفاده و راه اندازی و برنامه نویسی سنسور LM35 که امیدوارم به کارتون بیاد.
تنظیمات ADC در بیسک
نکته مهم و اساسی در تنظیمات ADC برای اندازه گیری دقیق دما تنظیم Reference می باشد.
Reference ولتاژ مبنا ای می باشد میکرو نسبت آن ولتاژ آنالوگ را به دیجیتال تبدیل می کند.
Reference = Internal :
با انتخاب این تنظیم ولتاژ مرجع برابر 2.56 ولت می شود که این ولتاژ دقیق در داخل خود میکرو تولید می شود.
در این حالت مقدار خوانده شده توسط دستور:
بیشتر در این قسمت به معرفی دستورات break و switch و goto و continue همراه با مثالهای آموزشی می پردازیم.
از این 4 دستور بالا دستور switch کاربرد زیادی دارند البته بقیه هم کاربرد دارند که در ادامه به بحث و گفتگو خواهیم پرداخت.
بیشتر به نام خدا
در این قسمت ما به آموزش LCD های کاراکتری خواهیم پرداخت. و توضیح می دهیم که چگونه LCD را به میکرو کنترلر متصل کنیم و چگونه آن را در زبان C معرفی کنیم و با استفاده از دستورات به صورت نرم افزاری با آن ارتباط برقرار کنیم.
ابتدا پایه های LCD :
| پایه | نام | عملکرد |
| 1 | VSS | زمین |
| 2 | VCC | 5V+ |
| 3 | VEE | کنترل درخشندگی (می توانید با یک مقاومت 1 کیلو آن را زمین کنید) |
| 4 | RS | اگر این پایه 0 باشد اطلاعات روی DB0-DB7 به عنوان فرمان و اگر 1 باشد به عنوان کاراکتر پذیرفته می شود |
| 5 | R/W | اگر این پایه 0 باشد LCD برای نوشتن آماده می شود و اگر 1 باشد برای خواندن آماده می شود |
| 6 | E | فعال سازی LCD که با یک لبه پایین رونده می باشد |
| 7 | DB0 | خطوط دیتا |
| 8 | DB1 | |
| 9 | DB2 | |
| 10 | DB3 | |
| 11 | DB4 | |
| 12 | DB5 | |
| 13 | DB6 | |
| 14 | DB7 | |
| 15 | A | 5V+ از پایه 15 و 16 برای روشن کردن LED پس زمینه استفاده می شود |
| 16 | K | زمین |
بیشتر در بخش مقدماتی در مورد حافظه پشته به اختصار توضیح داده شد و دیدیم حافظه پشته (Stack) در واقع بخشی از حافظه است که عملکرد آن صورت صف LIFO می باشد. در ریزپردازنده 8088/8086 حافظه پشته بخشی از حافظه اصلی سیستم است که به وسیله ثبات قطعه پشته (SS) آدرس دهی می شود. بنابراین حداکثر طول یک حافظه پشته برابر 64 کیلو بایت خواهد بود. (در نظر داشته باشید که طول یک قطعه حافظه برابر 64 کیلو بایت است) البته نکته مهم آنکه محتویات ثبات قطعه پشته را هم می توان تغییر داد یعنی تعداد پشته های سیستم محدود نبوده و در واقع ثبات SS بیانگر شروع یک قطعه حافظه به نام پشته است. ولی در هر زمان فقط یک پشته دسترس پذیر است. به همین دلیل اینجا برای ساده تر شدن بحث قرارداد می کنیم که فقط همان را به عنوان حافظه پشته در نظر بگیریم، یعنی بخشی از حافظه را که با محتویات جاری ثبات SS می توان دستیابی کرد.
در برنامه نویسی 8088/8086 به دو طریق می توان به حافظه پشته دسترسی پیدا کرد: یکی از طریق ثبات SP و دیگری از طریق آدرس دهی حافظه با ثبات BP. با استفاده از روش آدرس دهی از طریق ثبات BP ، تمام محل های حافظه پشته را می توان همانند محل های دیگر حافظه تلقی نمود و به راحتی به تک تک محل های آن دسترسی پیدا کرد، که در این بحث فعلا کاری با آن نداریم و بعدا مورد بررسی قرار خواهیم داد. (در فهرست مقالات سایت میکرو رایانه جستجو کنید) آنچه در اینجا بررسی می کنیم دستیابی به حافظه پشته از طریق SP است.
بیشتر دیدیم که ریزپردازنده 8088/8086 حداکثر تا 2 به توان 20 حالت آدرس دهی می تواند داشته باشد (یک مگابایت حافظه خارجی را می تواند آدرس دهی نماید) که برای استفاده در برنامه نویسی به قطعات 64 کیلوبایتی تفکیک می شود و همزمان می توان به چهار قطعه دسترسی داشت که هر قطعه با یک ثبات آدرس دهی می شود و این قطعات، الزاما نواحی جدا از هم نخواهند بود. قبل از ادامه بحث ضروری است ذکر شود غیر از این تقسیم بندی، حافظه 8086 (و نه 8088) به دوقسمت با آدرس های زوج و فرد نیز تقسیم می شود که این تقسیم بندی حافظه، از نظر سخت افزاری بوده و بعدا مورد بررسی قرار خواهد گرفت (در سایر مقالات میکرو رایانه جستجو کنید) و به بحث فعلی ارتباط پیدا نمی کند.
اینک با این مقدمه به بررسی نحوه ذخیره سازی اطلاعات در حافظه 8088/8086 می پردازیم. فضاهای حافظه را در واقع می توان یک آرایه ای در نظر گرفت که در هر خانه آن 8 بیت می تواند قرار گیرد. وقتی یک محلی از حافظه آدرس دهی می شود 8 بیت داده در آن محل مستقیما دسترس پذیر است. شاید اولین سوالی که به نظر بیاید اینکه چرا هر محل حافظه در این سیستم 16 بیتی انتخاب نشده است؟ دلیل آن کاملا واضح است: چون داده های 8 بیتی نیز در سیستم می توان استفاده کرد، در این صورت با فرض استفاده از داده های 8 بیتی از فضای حافظه استفاده بهینه نخواهد شد.
بیشتر
| ||||||||||||||||||||||||||||||||||||||||||
رخدادی برای امروز ثبت نشده |