реклама на сайте
подробности

 
 
> Научите генерировать 40 кГц, PIC
Urvin
сообщение Nov 23 2009, 16:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 23-09-09
Из: Москва
Пользователь №: 52 540



Научите генерировать 40 кГц на пике =) Надо изменять уровень сигнала на цифровой ножке.
40 кГц - это меандр, т.е. изменять само значение, по сути, надо с частотой в два раза больше.

Дело в том, что мой счетчик для таймера может максимально выдать 23437 Гц - как-то грустно
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Urvin
сообщение Nov 23 2009, 18:18
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 23-09-09
Из: Москва
Пользователь №: 52 540



Программа числа округляет и мне не хотелось пугать общественность еще и дробями.

МК будет что-то типа 18f2550. Используя внутренний PLL и биты настроек получим частоту процессора 24 МГц (судя по даташиту)
Пусть таймер выставлен в 8 бит.

Цитата
Кроме того, при возникновении прерывания, надо не загружать его, а прибавлять к существующему содержимому регистра таймера/счетчика, для устранения или хотя бы минимизации джиттера

т.е. вместо
TMR0 = 231;
в теле прерывании я должен записать
TMR0 = TMR0 + 255;
так?

В целом идея понятна)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 23 2009, 18:20
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Urvin @ Nov 23 2009, 21:18) *
т.е. вместо
TMR0 = 231;
в теле прерывании я должен записать
TMR0 = TMR0 + 255;
так?
В целом идея понятна)

TMR0 = TMR0 + 231;
Код
#define TMR0_reload 231
movlw TMR0_reload
addwf TMR0,f
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 10:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016