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


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


DDRB |= _BV(PB3) | _BV(PB2) | _BV(PB1); //изводите CS,R/W и CS като изходи

DDRA = 0xFF; //понеже в индикатора само ще пишем PA0-PA7 са изходи

//инициализиране изводите към клавиатурата

PORTC = 0x3F; //включваме вградените резистори към изводите PC0-PC5

//инициализиране на изводите къл АЦП

PORTB |= _BV(PB4); //сигнала SS в 1

DDRB |= _BV(PB7) | _BV(PB5) | _BV(PB4); //сигналите SCK, MOSI и SS изходи

SPCR = _BV(SPE) | _BV(MSTR) | _BV(SPR1) | _BV(SPR0); // конфигуриране на SPI интерфейса на процесора за работа с АЦП

// в master mode с ниска скорост

//настройка на Timer 1

TCCR1B = _BV(CS11); //делене честотата на кварца на 8

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

DDRD = _BV(PD5); //OC1A изход за да може да управлява симистора

//настройка на INT0

MCUCR = _BV(ISC00); //прекъсване при всяка смяна състоянието на INT0 т.е. при всяко преминаване синосоидата през 0

GICR = _BV(INT0); //разрешаване на прекъсване по INT0

sei(); //глобално разрешение на прекъсванията

while(1){ //безкраен цикъл в който се изписват данните и се проверява за клавиши

itoa(target_temp,str,10); //преобразува зададената температура в текст

prn_indicator(1,str); //изписва я на първи ред

itoa(current_temp,str,10); //преобразува измерената температура в текст

prn_indicator(2,str); //изписва я на втори ред

switch(key()){ //проверява за натиснат клавиш и работи с АЦП и ПИД

case START: //стартира ПИД

flag_start=1;

break;



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





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