31.10.2016, 09:31
|
|
Прописка
Регистрация: 22.07.2011
Адрес: Севастополь
Сообщений: 127
Сказал спасибо: 7
Сказали Спасибо 21 раз(а) в 16 сообщении(ях)
|
Модуль ССР в PIC18 ???
Добрый день, радиолюбители.
Есть небольшой вопрос. Модуль ССР в режиме сравнения PIC18F252. Фрагмент программы:
MOVLW .250 ;
MOVWF CCPR1L ;
MOVLW .0 ;
MOVWF CCPR1H ;
MOVLW B'00000000' ;
MOVWF T1CON ;K=1, ТАЙМЕР 1 ОТКЛЮЧЕН.
CLRF TMR1L ;
CLRF TMR1H ;
MOVLW B'00001011' ;
MOVWF CCP1CON ;РЕЖИМ СРАВНЕНИЯ.
BSF T1CON,0 ;ВКЛЮЧЕН
BCF PIR1,2 ;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ CCP1.
GN3_OUT2 ;
BTG PORTC,5 ;
BTFSS PORTA,RA2 ;
GOTO GEN3_OFF
GN3_OUT1 ;таймер задержки
BTFSS PIR1,2 ;
GOTO GN3_OUT1 ;
BCF PIR1,2 ;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ CCP1.
GOTO GN3_OUT2 ;
Цикл 0,1 мкс. На выходе (PORTC,5) должна быть частота 20 кГц, что подтверждает MPLAB и PROTEUS. В железе частота на выходе 19 920 Гц.
В чем проблема?
|
|
|
|
31.10.2016, 18:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,504
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
В неидеальности частоты осциллятора МК
|
|
|
|
31.10.2016, 19:55
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
Действительно, погрешность всего 0,4%.
|
|
|
|
01.11.2016, 08:23
|
|
Прописка
Регистрация: 22.07.2011
Адрес: Севастополь
Сообщений: 127
Сказал спасибо: 7
Сказали Спасибо 21 раз(а) в 16 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
Сообщение от NewWriter
|
В неидеальности частоты осциллятора МК
|
Осциллятор работает стабильно.
|
|
|
|
01.11.2016, 08:25
|
|
Прописка
Регистрация: 22.07.2011
Адрес: Севастополь
Сообщений: 127
Сказал спасибо: 7
Сказали Спасибо 21 раз(а) в 16 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
Сообщение от tsb
|
Действительно, погрешность всего 0,4%.
|
Всего 0,4% для МК это слишком много.
|
|
|
|
02.11.2016, 13:02
|
|
Заблокирован
Регистрация: 22.04.2010
Сообщений: 348
Сказал спасибо: 41
Сказали Спасибо 106 раз(а) в 95 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
Всё правильно. Таймер 1 считает от 0 до 250. Между переключениями выхода 251 цикл. Частота 19920,318725 Гц.
|
|
|
|
02.11.2016, 16:04
|
|
Прописка
Регистрация: 22.07.2011
Адрес: Севастополь
Сообщений: 127
Сказал спасибо: 7
Сказали Спасибо 21 раз(а) в 16 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
Сообщение от firew0rker
|
Всё правильно. Таймер 1 считает от 0 до 250. Между переключениями выхода 251 цикл. Частота 19920,318725 Гц.
|
Я прошу прошу прощения, а можно по точнее. Все таки что правильно работает: железо или PROTEUS и MPLAB? Железо выдает на порт 19920 Гц а PROTEUS 20000 Гц. MPLAB выдает тоже длительность 1 и 0 по 25 мкс. Никак не получается 19920 Гц.
|
|
|
|
03.11.2016, 05:57
|
|
Заблокирован
Регистрация: 22.04.2010
Сообщений: 348
Сказал спасибо: 41
Сказали Спасибо 106 раз(а) в 95 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
Целью моделирования является проверка и отладка того, что должно быть воплощено в железе. Железо — цель, симуляторы — средства. Симуляторы частенько не соответствуют желез в мелочах вроде времени выполнения чего-либо. Так что правильно работает железо.
|
|
|
|
03.11.2016, 21:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.10.2004
Адрес: Нижний Новгород
Сообщений: 1,746
Сказал спасибо: 416
Сказали Спасибо 1,240 раз(а) в 551 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
vovik_t, 1 цикл на обнуление таймера.
__________________
Решил посоветовать, да забыл что...
|
|
|
Сказали "Спасибо" anatol378
|
|
|
06.11.2016, 18:27
|
|
Прописка
Регистрация: 22.07.2011
Адрес: Севастополь
Сообщений: 127
Сказал спасибо: 7
Сказали Спасибо 21 раз(а) в 16 сообщении(ях)
|
Re: Модуль ССР в PIC18 ???
Сообщение от anatol378
|
vovik_t, 1 цикл на обнуление таймера.
|
Спасибо. Я так и подумал. Но в литературе этого не нашел. Но почему PROTEUS и MPLAB это не учитывает? Приходится отлаживать, а потом регистр CCPR1L уменьшать на 1 для коррекции.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:31.
|
|