Микропроцесорна система за регулиране на температура


Категория на документа: Информатика


PORTB &= ~_BV(PB3); //сигнала CS в 0 край на записа

}
}

ISR(TIMER1_COMPB_vect) //прекъсване по събитието Output compare B , за изключване управляващия сигнал към симистора
{

PORTD = _BV(PD5); //OC1A в 1 за да не включва симистора
}

ISR(INT0_vect) //прекъсване по INT0 при всяко преминаване на захранващата синусуида през 0
{

if(flag_start){ //ПИД работи, настройваме кога да включим симистора

TCNT1H=0; //нулиране брояча на Timer1

TCNT1L=0;

OCR1AH=time_on_simistor>>8; //настройваме кога да настъпи събитието Output compare A

OCR1AL=time_on_simistor;

TCCR1A = _BV(COM1A1); //при достигане на събитието Output compare A симистора автоматично се включва (OC1A става 0)

OCR1BH=(time_on_simistor+200)>>8; //настройваме кога да настъпи събитието Output compare B

OCR1BL=time_on_simistor+200; //то настъпва 0.1mS (200 импулса на Timer1) след Output compare A

TIMSK = _BV(OCIE1B); //разрешаваме прекъсване по събитието Output compare B в което изключваме сигнала към симистора

}else{ //ПИД не работи

TCCR1A=0; //забранява Timer1

PORTD = _BV(PD5); //OC1A в 1 за да не включва симистора

TIMSK=0; //забраняваме прекъсването по Output compare B

}
}

Литература:

- " Микропроцесорни системи за управление"-раководство за лабораторни
- упражнения,ТУ-Варна 2009
- AtMega8515 SUMMARY & FEATURES
- http://www.atmel.com/dyn/resources/prod_documents/doc2512.pdf
- Други интернет източници




Сподели линка с приятел:





Яндекс.Метрика
Микропроцесорна система за регулиране на температура 9 out of 10 based on 2 ratings. 2 user reviews.