// текущий поворот антены в градусахshort nCurrentAngle;
/*****************************************************
*** Функция ShowCurrentAngle ***
*** Отображение текущего поворота в первой строке ***
*****************************************************/ShowCurrentAngle(void)
{
// буфер для строки
unsigned char szBuffer[17];
// переход к первому символу первой строки
lcd_gotoxy(0,0);(szBuffer, "Povorot: %3u ", nCurrentAngle);_puts(szBuffer);
}
/*****************************************************
*** Функция ext_int_menu ***
*** Обработка нажатия на кнопку "Меню" ***
*****************************************************/[INT_MENU] void ext_int_menu(void)
{
#asm("cli");_gotoxy(0,1);_putsf("MENU pressed!");
= 0;();
#asm("sei");
}
/*****************************************************
*** Функция ext_int_left ***
*** Обработка нажатия на кнопку "Лево" ***
*****************************************************/[INT_LEFT] void ext_int_left(void)
{
#asm("cli");_gotoxy(0,1);_putsf("LEFT pressed!");
// поворачиваем влево на один градус(1);
delay_ms(300);(!LEFTPIN.LEFTBIT)
{(1);_ms(300);
}
#asm("sei");
}
/*****************************************************
*** Функция ext_int_right ***
*** Обработка нажатия на кнопку "Право" ***
*****************************************************/[INT_RIGHT] void ext_int_right(void)
{
#asm("cli");_gotoxy(0,1);_putsf("RIGHT pressed!!!");
// поворачиваем вправо на один градус(1);
delay_ms(300);(!RIGHTPIN.RIGHTBIT)
{(1);_ms(300);
}
#asm("sei");
}
/*****************************************************
*** Функция RotateLeftStep ***
*** Поворачивает против часовой стрелки на ***
*** указанное число шагов. ***
*****************************************************/RotateLeftStep(unsigned short nCount)
{
{.0 = 0;= nSteps[nCurrentStep];
++nCurrentStep;(nCurrentStep > 3)
{= 0;
}_ms(2);.0 = 1;
}(nCount-- > 0);= 0x00;
//nCurrentStep = 0;
}
/*****************************************************
*** Функция RotateRightStep ***
*** Поворачивает против часовой стрелки на ***
*** указанное число градусов. ***
*****************************************************/RotateRightStep(unsigned short nCount)
{
{.0 = 0;= nSteps[nCurrentStep];
-nCurrentStep;(nCurrentStep > 3)
{= 3;
}_ms(2);.0 = 1;
}(nCount-- > 0);= 0x00;
//nCurrentStep = 0;
}
/*****************************************************
*** Функция RotateLeft ***
*** Поворачивает против часовой стрелки на ***
*** указанное число градусов. ***
*****************************************************/RotateLeft(unsigned short nCount)
{
// поворачиваем влево на нужное число шагов
Самое читаемое:
Конструирование устройства для измерения углового перемещения
Измерения играют важную роль в жизнедеятельности человека. Измерение
угловых перемещений весьма распространены, применяются в машиностроении,
геодезии, в военном деле, космонавтике, астрономии и т.п. Широкое применение
обусловлено тем, что наиболее используемые методы измерений основаны на промежуточном
преобразовании этих величин в ...