Консультация № 58915
14.10.2006, 22:03
0.00 руб.
0 1 1
Здравствуйте.
Нужна программа(алгоритм) генератора
прямоугольных импульсов на PIC16F84A.
Частота от 0 до 999Гц,управление 2 кнопками,
выход на индикацию 2/10 код.

Обсуждение

Неизвестный
14.10.2006, 23:25
общий
это ответ
Здравствуйте, Max0000!
В общем случае сходу есть два варианта организации генератора, например:
определяем все регистры
начало программы
настраиваем все порты и регистры.(можно разместить и до начала основной программы что уменьшит время выполнения, но снизит надежность). Предположим что для вывода пр. импульсов выбрали порт А 0 бит.
Каким либо способом изменяем данный бит на противоположный(командой incf, инвертированием...).
организовываем задержку при помощи цикла. Величина задержки регулируется константой, вводимой с клавы. Нужно учесть и посчитать в зависимости от частоты задающего генратора и количества тактов процессора.
опрашиваем клавиатуру.
выводим на индикацию значение частоты.
Насчет вывода на индикацию, это отдельный разговор, если требуется преобразование двоичных чисел в двоично десятичные, то это довольно сложный алгоритм, лучше в минифорум.
переход на начало программы.
еще скажу что организовывать задержку лучше всего так, что бы при это процессор выполнял какие либо функции, например опрашивал клавиатуру, выводил на индикацию значение частоты. Самая большая сложность здесь организовать именно задержку.
Алгоритм примерно накидал, примено так и будет выглядеть прога, саму программу писать нет времени, т.к. довольно долго, помогу, но не напишу полностью в минифоруме.

Форма ответа