Генерация частоты
-
xstyler_mfm
- Родился
- Сообщения: 7
- Зарегистрирован: Чт апр 15, 2010 21:40:59
Генерация частоты
Доброго времени суток. Столкнулся со следующей задачей на PIC12F683 - необходимо на выходе сделать частоту 20кГц, что соответствует 50мкс. Частота при значении ножки 0 должна быть 19.5 при 1 до 20.5. Генерирую частоту при помощи ШИМ, вроде нормально. Проблема в том, чтобы сделать выход, который бы инвертировал сигнал ШИМ.
- Реклама
Re: Генерация частоты
хотелось бы узнать в какой среде пишите программу под мк...
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Генерация частоты
Поменяйте скважность ШИМа так, чтобы периоды нуля и еденицы поменялись.
Re: Генерация частоты
Вообще-то в настройках ШИМ обычно меняется "полярность"... Т.е. поставив нужный битик, можно получить инверсный сигнал...
Today fine night...
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Генерация частоты
xstyler_mfm, задача состоит в том чтобы инвертировать сигнал или должно быть два выхода: прямой и инверсный?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Реклама
-
xstyler_mfm
- Родился
- Сообщения: 7
- Зарегистрирован: Чт апр 15, 2010 21:40:59
Re: Генерация частоты
в том то и проблема, что должно быть 2 сигнала. С одним никаких проблем... а вот второй получить программно пока не знаю как.
Вариант использования инвертора не устраивает, инвертирование должно происходить программно.
Вариант использования инвертора не устраивает, инвертирование должно происходить программно.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Генерация частоты
Ну и делайте програмно.
Сейчас Вы используете аппаратный ШИМ, сделайте его програмным.
т.е. два прерывания от таймера: одно по совпадению, второе по переполнению.
В первом в порт отправляете два бита - создаете фронт импульса (бит1 = 1, бит2 = 0), в втором спад импульса (бит1 = 0, бит2 = 1).
переполнение должно быть с интервалом 50мкс, а совпадение - 20,5 мкс от начала счета таймера.
Сейчас Вы используете аппаратный ШИМ, сделайте его програмным.
т.е. два прерывания от таймера: одно по совпадению, второе по переполнению.
В первом в порт отправляете два бита - создаете фронт импульса (бит1 = 1, бит2 = 0), в втором спад импульса (бит1 = 0, бит2 = 1).
переполнение должно быть с интервалом 50мкс, а совпадение - 20,5 мкс от начала счета таймера.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
-
xstyler_mfm
- Родился
- Сообщения: 7
- Зарегистрирован: Чт апр 15, 2010 21:40:59
Re: Генерация частоты
Было бы неплохо, но как задать таймеру 0.5 мкс, а точнее(0.3 мкс), если у меня кварц 8((Danko писал(а):
Сейчас Вы используете аппаратный ШИМ, сделайте его програмным.
т.е. два прерывания от таймера: одно по совпадению, второе по переполнению.
В первом в порт отправляете два бита - создаете фронт импульса (бит1 = 1, бит2 = 0), в втором спад импульса (бит1 = 0, бит2 = 1).
переполнение должно быть с интервалом 50мкс, а совпадение - 20,5 мкс от начала счета таймера.
На внешний кварц не хватает ножек...


