به نام خدا
ورودی ایزوله
یکی از نکات مهم در طراحی پروژههای میکروکنترلری ورودی ایزوله است. اگر یک پایه بعنوان ورودی تعریف میشود نباید با سیم طولانی به بیرون برد کشیده شود. بهترین کار برای ورودی استفاده از یک اپتوکوپلر می باشد. ما در این طرح از یک اپتوکوپلر PC817 استفاده کردهایم:
تحلیل مدار
همانطوریکه در نقشه بالا مشاهده میکنید یک LED قرمز با مقاومت 330 اهم با اپتو سری شده است. در صورت اتصال پایه های ترمینال 1 و 2 اپتو روشن شده و Pind.4 صفر می شود. در برنامه میکرو پایه D4 باید ورودی تعریف شده و مقاومت Pullup نیز فعال شود.
برنامههای نمونه
در این قسمت یک برنامه نمونه به زبان بیسیک (بسکام) برای خواندن پایه نوشته شده است:
1 2 3 4 5 6 7 8 9 |
DDRD.4 = 0 'input PORTD.4 = 1 'pullup if pind.4 = 0 then waitms 20 'noise cancel if pind.4 = 0 then 'do something end if end if |
در این قسمت یک برنامه به زبان C با کامپایلر GCC یا ATMEL Studio یا WinAVR نوشته شده است:
1 2 3 4 5 6 |
DDRD &= ~(1<<4); //pind.4 -> input PORTD |= (1<<4); //active pullup if( !( PIND & (1<<4) ) ){ //do something } |
بازدیدها: 727