Подскажите По Tmr0 В Pic16

14-01-2013, 16:09 От: admin Посмотрели: 919
Помогите разобраться с нулевым таймером в пике.

Почитал доку (pic16f62x.pdf на русском) , вроде всё понятно,

В пункте 6.0 (страница 44) написано:

"Приращение счетчика TMR0 происходит в каждом машинном цикле (если предделитель отключен)"

написал кусок кода, потом упростил, до вот такого вида, именно из за "непонятки с поведением модуля таймера"


list p=PIC16F628A
#include P16F628A.inc
__CONFIG _LVP_OFF &_XT_OSC &_WDT_OFF &_PWRTE_ON &_BOREN_OFF &_CP_OFF &_MCLRE_OFF &DATA_CP_OFF
;----------------------------------------------------------
Counter0 EQU 020h ;
Counter1 EQU 021h ;
;----------------------------------------------------------
ORG 0
CLRF INTCON ; Пока все прерывания запретим
GOTO INIT
;----------------------------------------------------------
ORG 4
label1
CLRF Counter0
CLRF Counter1
BCF INTCON,T0IF ; Сбрасываем признак прерывания
CLRF TMR0
RETFIE
;----------------------------------------------------------
INIT
BSF STATUS,RP0 ; Выбор банка 1
MOVLW b'00000000' ; Включаем делитель на 2 для TMR0
MOVWF OPTION_REG ;
BCF STATUS,RP0 ; Выбор банка 0

CLRF Counter0
CLRF Counter1
BSF INTCON,GIE ; Глобальное разрешение всех прерываний
BSF INTCON,T0IE ; разрешаем прерывания по таймеру TMR0
CLRF TMR0
Loop1
INCFSZ Counter0,f
GOTO Loop1
INCFSZ Counter1,f
GOTO Loop1 ; Зацикливаемся, ждем прерывания и считаем
END

Код простой, по идее, должен был считать, инкрементировать Counter 0,1  и раз в 256 комманд должно было возникать прерывание.

Ставлю точку прерывания на метку label1 и ожидаю , что при возникновении прерываня Counter0 у меня

должен равняться 256-3=253 такта (типо запрет на приращение счетчика на два цикла после записи, и один такт на "RETFIE")

результат трасования в MLAB IDE 8.4.4 меня озадачил:

На метке l1 -Counter0=171 Counter1=0 ( со вторым то понятно)

Ну если бы было там 250, или 125-129, я бы понял, что: "что то не так с количеством подсчитанных тактов или делителем",

но 171- это совсем не понятно... Подскажите По Tmr0 В Pic16

Подскажите, ткните ссылкой, пжл, где я недочитал.
Раздел: PIC

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Подскажите По Tmr0 В Pic16 все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба

Добавление комментария

Ваше имя:*
E-Mail:*
Текст:
Вопрос:
Решите уравнения x+2x=789
Ответ:*
Введите два слова, показанных на изображении:



Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031