Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как сделать задержку в 1 мин на таймере A?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
cxz
как сделать задержку в 1 мин на таймере A?
Помогите студенту unsure.gif
upc2
void interrupt isr(void){
if(T0IF)
{
TMR0=100; --> кварц 4 МГц. без предделителя.
T0IF=0;
TIME++;
if(TIME > 4)
{
TIME=0;
T_MC++;
}
if(T_MC > 999)
{
T_MC=0;
T_SEC++;
}
if(T_SEC > 59) --> Вот ваша минута.Пользуйтесь.
{
T_SEC=0;
T_MIN++;
}
if(T_MIN > 59)
{
T_MIN=0;
T_HOUR++;
}
if(T_HOUR > 23)
{
T_HOUR=0;
}
}
}
chopik
Цитата(cxz @ Sep 15 2006, 09:20) *
как сделать задержку в 1 мин на таймере A?
Помогите студенту unsure.gif


Настройки таймера на 1 сек следующие:
TACTL = TACLR;
TACCR0= 32767;
TACTL = MC_1 | TASSEL_1 | TACLR; // source ACLK = 32,768kHz (что обычно и ставят)
TACCTL0= CCIE;

В теле прерывания A0 таймера завести счетчик секунд и посчитать до 60, один заход - один инкремент.И неплохо было выставить флаг разрешения прерываний GIE.
А вообще-то было бы неплохо студент и в бумажки разные поглядеть, тем более что и на русском тоже можно найти описалово.
cxz
спасибо за помощь a14.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.