[an error occurred while processing this directive]
Ответ: Если примеров ниже недостаточно, то я объяснюю
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 10 июля 2002 г. 07:21
В ответ на: Уважаемый Bill отправлено serdgik 10 июля 2002 г. 07:16

#pragma vector = TIMER1_COMP1_vect
__interrupt void Timer1_Int(void)
{
static char Index = 0;
char _cnt;
unsigned _data;

_data = SinTable[Index++];
if (Index >= NSTEPS)
Index = 0;
_cnt = 16;
PORTD &= ~SPI_SYNC;
do {
if (_data & (1<<11))
PORTB |= SPI_DATA;
else
PORTB &= ~SPI_DATA;
PORTB &= ~SPI_CLCK;
_data <<= 1;
PORTB |= SPI_CLCK;
}
while (--_cnt);
PORTD |= SPI_SYNC;
}

#pragma vector = TIMER0_OVF0_vect
__interrupt void Timer0_Int(void)
{
TCNT0 = 0x9F;
if (!(++Time % 5))
Flags |= TIMER0_BIT;
if (Time >= 100)
{
TCCR0 = 0;
CTRL_PORT |= LATCH_BIT;
}
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru