Informatics Point

Информатика и проектирование

Разработка алгоритма программы микроконтроллера

};

// таблица сигналов управления анодами 6 цифр светодиодного дисплея

char TBL_COM[ ] = {

xFB, //А1 hour_H

xF7, //А2 hour_L

xEF, //А3 min_H

xDF, //А4 min_L

0xBF, //А5 sec_H

x7F //А6 sec_L

};TBL_LIGHT[ ] = {

x01, //загорается зеленый светодиод

x10 //загорается красный светодиод

};Servis_Key()

{(key)

{KEY_MODE:

{=NOT_DEFINE;++;(mode==7)

{=0;

}

};KEY_UP:

{=NOT_DEFINE;(mode==0)

{}

{_beep=0;DIR|=0x08;OUT|=0x08;(mode)

{1:

{_H++;(hour_H>2)

{_H=0;

}

};2:

{_L++;((hour_H>9)|((hour_H==2)&(hour_L>3)))

{_L=0;

}

};3:

{_H++;(min_H>5)

{_H=0;

}

};4:

{_L++;(min_L>9)

{_L=0;

}

};5:

{_H++;(sec_H>5)

{_H=0;

}

};6:

{_L=0;

};

}

}

};

}

}Keybscan()

{DIR &= ~0x07;=P1IN;(key&SW_Load==SW_Load)

{=TBL_LIGHT[0];

}_key=NOT_DEFINE;(key&KEY_MODE==KEY_MODE)

{_key=KEY_MODE;

}//ST1

{(key&KEY_UP==KEY_UP)

{_key=KEY_UP;

}goto ST2;

}:(bounce_tmr==BOUNCE_TIME) //ST2

{(cur_key==NOT_DEFINE)

{_tmr=0;_key=NOT_DEFINE;

}goto exitKS;

}//ST3

{(cur_key==NOT_DEFINE) //RESET_TMR

{_tmr=0;_key=NOT_DEFINE;

}//ST4

{(cur_key!=prev_key) //OTHER_KEY

{_tmr=0;_key=cur_key;

}

{_tmr++;

}(bounce_tmr==BOUNCE_TIME) //ST5

{=cur_key;

}goto exitKS;

}

}: {}

}Timer()

{(mode!=0)

{goto ExitTmr;}//Tmr1

{(sec_L!=0) {sec_L--;goto ExitTmr;}//Tmr2

{(sec_H!=0) {sec_H--;sec_L=9;goto ExitTmr;}//Tmr3

{(min_L+min_H+hour_L+hour_H==0) {goto StopT;}///Tmr4

{_L=9;(min_L!=0) {min_L--;sec_H=5;goto ExitTmr;}

{(min_H+hour_L+hour_H==0) {goto StopT;} //Tmr5

{_H=5;(min_H!=0)

{_H--;_L=9;ExitTmr;

}

{(hour_L+hour_H==0) {goto StopT;} //Tmr6

{_L=9;(hour_L!=0)

{_L--;_H=5;ExitTmr;

}

{(hour_H==0) {goto StopT;} //Tmr7

{_H=5;_H--;_L=9;ExitTmr;

}

}

}

}

}

}

}

}

}

}: //время таймера истекло(ct_beep==0)

{_beep=6;DIR|=0x08;OUT|=0x00;

}{}

if(SW_Load==0) //включение внешней нагрузки

{DIR|=Power_On;OUT|=0x00;

}//отключение внешней нагрузки

{DIR|=Power_On;

P1OUT|=Power_On;

}:{}

}Beep()

{(ct_beep)

{0: break;0x0FF: break; //Bp11: {ct_beep=0x0FF; P1DIR|=0x08; P1OUT|=0x08;} break; //Bp2: ct_beep--; //Bp3

}

}init_spi(void){DIR |= 0x72; // P1 output|= USIPE6 + USIPE5 + USIMST + USIOE; // Port, SPI Master&= ~USISWRST; // USI released for operation|=USI16B;|= USISSEL_2;OUT |= (REG_SHCP)|(REG_STCP)|(REG_DS);;

}send_data(char data1,char data2){OUT &= ~REG_STCP;=data1;=data2;= 16;(USICNT !=0);OUT |= REG_STCP;;

}Display()

{_num++;(cur_num>5)

{_num=0;

}(cur_num) //Dis2

{0: //Dig1

{((mode!=1)|(flags&blink_bit==blink_bit))

{A=hour_H; goto LoadDig;}

{goto ExitDspl;}

};1: //Dig2

{((mode!=2)|(flags&blink_bit==blink_bit))

{A=hour_L; goto LoadDig;}

{goto ExitDspl;}

};2: //Dig3

{((mode!=3)|(flags&blink_bit==blink_bit))

{A=min_H; goto LoadDig;}

{goto ExitDspl;}

Перейти на страницу: 1 2 3

Лучшие статьи по информатике

Проектирование цифровых фильтров
цифровой фильтр дискретный квантование В данной работе рассмотрен пример решения задачи проектирования (расчета параметров) цифрового фильтра по известному а ...

Радиотехничесакие средства
радиотехника передатчик генератор каскад Практика была организована в радиотехническом учебном центре (РТУЦ) Ленинградской военно-морской базы (ЛенВМБ), базир ...

Проектирование коммутационной системы узловой АТС
Цель Разработка и настройка местной телефонной сети для узловой АТС. 1 Сформировать данные заказчика для проектирования сети связи. 2 Пр ...

Меню сайта