CCS, 3-секундный таймер

Я хочу установить таймер на 3 секунды. Таким образом, программа будет следовать инструкции в течение 3 секунд, а затем следовать какому-то другому набору инструкций. 20 МГц, ПОС 16F877A.


c pic
person naleen    schedule 18.08.2012    source источник


Ответы (2)


На веб-странице CCS есть пример под названием "Секундный таймер" для ваш точно такой же ПОС и часы.

Возобновление:

1-Вам нужно будет установить часы во фьюзах

#fuses HS
#use delay(clock=20000000)

2-Напишите функцию для обработчика прерываний

#INT_RTCC                                    //Interrupt procedure
clock_isr() {                                //called every time RTCC
                                             //flips from 255 to 0
   ///TODO
}

3-Инициализировать прерывание

setup_timer_0( RTCC_INTERNAL | RTCC_DIV_256 );
set_timer0(0);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
person ioritzHO    schedule 28.05.2014

delay_ms (время в наносекундах);

пример :

 delay_ms(1000);  //wait for 1 sec
person user1280535    schedule 11.09.2012
comment
Это не позволит PIC делать другие вещи, поэтому он не должен соответствовать потребностям пользователя. - person Checo R; 19.04.2017