۱۴۰۱ بهمن ۳۰, یکشنبه

نوشتن اینترفیس سریال با زبان پایتون


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

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

۱۴۰۱ بهمن ۲۵, سه‌شنبه

ماژول تایمر در میکروکنترلرهای PIC

 


استفاده از دستور delay علیرغم سادگی دقت کافی را برای اندازه گیری زمان و ارتباط سریال با ماژولهای مختلف را ندارد.  خوشبختانه در میکروکنترلرهای مختلف واحد(های) تایمر 8 بیتی و گاهی 16 بیتی تعبیه شده است . با استفاده از ماژول تایمر میتوان دقت اندازه گیری زمان را افزایش د اد و به زمان واقعی برای ساخت تقویم و ساعت دسترسی پیدا کرد .
در سیستم های embedded  تایمر نقش اساسی بازی میکند . با استفاده از تایمر میتوانیم برنامه هایی مولتی تسک را بنویسیم و منابع سیستم را بین واحدهای مختلف تقسیم کنیم .

۱۴۰۱ بهمن ۲۲, شنبه

میکروکنترلر PIC - قسمت پنجم : واحد UART

 

microchip 16f877

اصول ارتباط سریال

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

میکروکنترلر PIC - قسمت چهارم : Text LCD

microchip 16f877

 

مبانی راه اندازی Text LCD:

دو روش برای راه اندازی یکLCD متنی وجود دارد.استفاده از باس 8 بیتی برای انتقال دستورات و دیتا و استفاده از باس 4 بیتی .بدلیل سیم کشی کمتر ما از روش باس 4 بیتی استفاده میکنیم.

میکروکنترلر PIC - قسمت سوم : استفاده از وقفه خارجی

microchip 16f877

 

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

میکروکنترلر PIC - قسمت دوم : استفاده از Push Button

microchip 16f877

 

در نظر داریم تغییراتی در سخت افزار و برنامه Blinky ایجاد کنیم بصورتیکه با قرار دادن یک کلید فشاری (Push Button) بعد از فشار دادن سوئیچ LED روشن شود و پس از رها کردن سوئیچ فشاری LED خاموش شود . برای این منظور از روش وارسی و انتظار برای تغییر رجیسترها استفاده میکنیم . در آینده استفاده از وقفه های خارجی و استفاده از روش Round Robin برای زمانبندی انجام وظایف نیز توضیح داده خواهد شد.

۱۴۰۱ بهمن ۲۱, جمعه

میکروکنترلر PIC - قسمت اول : Blinky

microchip 16f877

 

همانطور که در آموزش یک زبان برنامه نویسی جدید اولین برنامه !Hello World نام دارد ، اولین برنامه در برنامه نویسی یک میکروی جدید Blinky نام دارد. در برنامه Blinky یکی از پایه های میکرو به تناوب ۰ و ۱ (دیجیتال) میشود . یعنی بین ۰ ولت و مقدار تغذیه میکرو تغییر میکند. در صورتیکه یک LED به پایه مذکور اتصال یابد LED شروع به چشمک زدن میکند .