Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 26.12.2004, 20:59  
RETAS
Гость
 
Сообщений: n/a
По умолчанию Kак сделать генер в ~1кгц на PIC16F84A?

Помогите советом.Первый раз щупаю PIC16F84A,почти програму написал,но как просто указать,чтобы
на одном из выводов постояно был-бы 1кгц ? Кварц на 32кгц,но могу поставить и раз в 10 бысокочастотнее.
Спасибо.
Реклама:
 
Непрочитано 27.12.2004, 17:19  
li$ergin
Гость
 
Сообщений: n/a
По умолчанию

А на сколько точноую необходимо иметь частоту?
 
Непрочитано 27.12.2004, 20:51  
Zebio
Прохожий
 
Регистрация: 03.12.2004
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Zebio на пути к лучшему
По умолчанию Re: Kак сделать генер в ~1кгц на PIC16F84A?

Сообщение от RETAS
Помогите советом.Первый раз щупаю PIC16F84A,почти програму написал,но как просто указать,чтобы
на одном из выводов постояно был-бы 1кгц ? Кварц на 32кгц,но могу поставить и раз в 10 бысокочастотнее.
Спасибо.
Q=32768 kHz
Timer0
prescaller = 32
F= 1000 Hz

somereg B'00001111'
разрешаеш прерывание Timer0 и вперед
Org 0x0
goto main
;IRQ Vector
Org 0x4
bcf intcon,t0if
comf somereg
movf somereg,w
movwf portb
retfie

main
nop
goto main
Zebio вне форума  
Непрочитано 27.12.2004, 23:41  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,531
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию

точно так не получишь 1000Гц. Надо в регистр таймера константу писать - коррекция времени на те команды - типа, сброс таймера, выдачу сигнала в порт. Одна команда - 4 тика, вот и считай коррекцию
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
Непрочитано 28.12.2004, 01:27  
RETAS
Гость
 
Сообщений: n/a
По умолчанию Большое спасибо

Большое спасибо всем ответившым,буду вникать,а точность меня устраивает и в 10%.Главное было понять,как заставить процесор выполять как-бы паралельно две задачи: генерировать
сигнал в 1кгц и одновременно выполнять основную програму.
 
Непрочитано 09.01.2005, 18:52  
RETAS
Гость
 
Сообщений: n/a
По умолчанию

С программой генерации используя прерывания по переполнению счётчика
я вроде разобрался,но как тогда указать с какого места продолжать
основную программу,ибо после каждого сгенерированного импульса
возвращаться надо всё в другое место программы?
Существует ли какой нибудь другой способ сотворения генератора
несчитая его размещения в основном теле программы?
Спасибо.
 
Непрочитано 10.01.2005, 01:49  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,531
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию

возврат из прерывания происходит туда, откуда и уходил. Т.е. для основной программы прозрачно - она и не заметит, что ты в прерывание ушел. Если, конечно, в обработчике не меняешь переменные основной программы.

А по поводу генерации - так всего три метода есть:
1. Внешний генератор - обработка прерывания по ноге. То бишь ловить надо изменение состояния входа. И опять обрабатывать прерывания от таймера Плюс в том, что частоту внешнего генератора можно подогнать любую... И сильно укоротить период счета. И на задержки на выполнение команд можно положить
2. На встроенном счетчике - обработка прерывания по переполнению таймера. Классический вариант. Но нужна коррекция.
3. Программная задержка на циклах. Надо очень много считать - все задержки, все ветвления програмы и прочее. Гемор жуткий. Чем сложнее програма, тем хуже. А если еще и кнопки обрабатываешь, тады ваще ой...
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
Непрочитано 19.02.2005, 10:36  
RETAS
Гость
 
Сообщений: n/a
По умолчанию

Ребята появилась необходимость ещё в одном (1Гц) генераторе на том же PICе.
Помогите,пжл.,если можете - как сделать два генереатора в одном корпусе?

Точность частоты неимеет значения-это звукоая индикация.

Спасибо.
 
Непрочитано 19.02.2005, 18:18  
lisergin
Прописка
 
Регистрация: 29.01.2005
Адрес: Киев
Сообщений: 227
Сказал спасибо: 50
Сказали Спасибо 32 раз(а) в 24 сообщении(ях)
lisergin на пути к лучшему
По умолчанию

Сразу приходит на ум програмный делитель в той же процедуре обработки прерывания, которая я думаю у тебя уже есть и включается с частотой примерно килогерц. Вводишь переменную, в которой считаешь количество обращений к прерыванию, как только их станет 1000, это и будет твой 1 герц...
lisergin вне форума  
Непрочитано 04.03.2005, 14:49  
julbu
Прописка
 
Регистрация: 19.08.2004
Сообщений: 156
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
julbu на пути к лучшему
По умолчанию

Можешь использовать ШИМ в PIC16F627,628 - они кстати дешевле 16F84
julbu вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC16F84A макс Микроконтроллеры, АЦП, память и т.д 1 11.12.2005 00:01
PIC16F84 и PIC16F84A Гость Микроконтроллеры, АЦП, память и т.д 6 21.11.2005 05:19
PIC16F84A??? RETAS Микроконтроллеры, АЦП, память и т.д 7 04.03.2005 05:20
[Решено] Kак удлинить RETAS Делимся опытом 6 04.01.2005 14:04
pic16f84a khorght Микроконтроллеры, АЦП, память и т.д 1 09.09.2004 20:37


Часовой пояс GMT +4, время: 18:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot