وقفه دورانداز آسانسور:
1-3- روش اول:
متغیر cf3 نشان دهنده دور انداز اول یا دوم بین طبقات است. با دیده شدن سنسور تراز آسانسور مقدار آن صفر می شود و هر بار که یک سنسور دور انداز آسانسور دیده می شود مقدار آن ++ می شود. اگر قرار باشد با سنسور اول دوراندازی کند هنگامی که مقدار این سنسور عدد 1 را نشان می دهد متغیر شاسی را با متغیر تراز AND می کند و در صورتی که نتیجه بزرگتر از 1 بود بیت دور تند را از ماکروی Motor صفر و بیت دور کند را یک می کند.
2-3- روش دوم:
متغیر cf3 در جهت بالا ++ و در جهت پایین – می شود. شماره دورانداز هر توقف و جهتی که باید در آن دوراندازی شود در آرایه ای مثلا به نام [Cf3-level[64 نگهداری می شود. هر بار با دیده شدن سنسور دورانداز آسانسور با توجه به اطلاعاتی که در [Cf3-level[Cf3 وجود دارد موقعیت کابین و بیت های دورکند و تند ماکروی motor تغییر داده می شود. از آنجا که هر توقف دو سنسور دورانداز دارد پس متغیر Cf3-level برای 32 توقف 64 عضو دارد.
3-3- روش سوم:
روش سوم تقریبا شبیه به روش دوم است با این تفاوت که در آرایه های Cf3-level مقدار پالس های انکودر برای هر توقف نگهداری می شود. از این روش در سیستم های Close Loop جهت حذف سنسورهای دورانداز و ترازکردن دقیق کابین استفاده می شود.
Interrupt[ext-int1-isr(void)//1cf وقفه ای
{if(jehat==0x20) {tabage++;level<<=1;}
If(jehat==0x40) {tabage--;level>>=1;}
If(rvzion-swich==1){}else{if((motor&4)>0)motor=0;}
Tim-travel=1;};
Interrupt[EXT-INT7] voidext-int7-isr(void)//cf3 وقفه ای
{if(jehat==0x20){dorandaz++;};
If(jehat==0x40){dorandaz--;};
If(rvzion-swich==1) {} else {if
((ss&dorandaz-level[dorandaz])>0)
{motor=(motor&0xf7)0x04;};}; tim-travel=1;};
ما را در سایت نقشه سقف چاه آسانسور با درب لولایی سمت راست دنبال میکنید
برچسب: نویسنده: بازدید: 95