"DVDXpert" - компас в мире Hi-Fi и High End техники и другой stereo и home cinema аппаратуры.

ПРОГРАММЫ И СХЕМЫ ПИШЕМ ПЕРВЫЕ ПРОГРАММЫ

12-01-2024

Затем инициализируем переменную внешнего цикла count 1. Внутри этого цикла вложен еще один цикл, с переменной count2. Назначение этих циклов сформировать задержку, в течение которой на выводе порта удерживается установленное значение. Когда задержка исчерпана, в порт выводится инверсное значение и цикл повторяется.

Когда вы введете текст программы, сохраните его под произвольным именем и откомпилируйте. Запишите при помощи программатора полученный hexфайл в память микроконтроллера и установите контроллер в панельку вашего макета. Когда вы подадите питание, светодиод начнет мигать.

Попробуйте увеличить частоту мигания, уменьшая начальные значения переменных couni 1 (movlw OxFF movwf count 1) и count2 (movlw OxFF movwf count2). Но учтите, если вы установите частоту мигания более 20...25 герц, то вам будет казаться, что светодиод горит непрерывно, хотя программа будет работать правильно. Если вы введете во внутренний цикл тричетыре команды NOP, то задержка заметно увеличится, соответственно уменьшится частота мигания.

ПРОГРАММА ГЕНЕРАЦИИ ЗВУКА

Итак, вы опробовали программу, заставляющую мигать светодиод. Теперь сгенерируем звуковой сигнал. Поскольку для генерации импульсов звуковой частоты нужна относительно небольшая задержка, программа будет еще проще, чем для мигающего светодиода. Понадобится сделать небольшие изменения имеющейся программы. Ниже приведен листинг нового варианта программы.

В этой программе мы убрали одну переменную цикла, и оставили только один цикл для формирования импульсов Изменили константу, при помощи которой инвертируется бит в ledset таким образом, чтобы инвертировался бит <4> Значение ledset теперь мы выводим в порт В Начальное значение переменной цикла подобрано так, чтобы при тактовой частоте 4МГц генерировались импульсы с частотой 1000Гц Изменяя значение этой переменной, вы можете изменять частоту звука

ОБРАБОТКА НАЖАТИЯ КНОПКИ

Теперь несколько усложним нашу задачу Построим программу так, чтобы в дежурном режиме мигал светодиод, а при нажатии на кнопку S2, подключенную к выводу RB2, программа генерировала звуковой сигнал Во время генерации импульсов низкой частоты мы будем периодически опрашивать состояние кнопки, и, если она нажата, гызывать подпрограмму генерации звука Таким образом, мы получаем комбинацию ранее написанных программ, из которых одна является главной, а другая вызывается как подпрограмма

ЛИСТИНГ3


Смотрите также:
 ПРОГРАММЫ И СХЕМЫ ПИШЕМ ПЕРВЫЕ ПРОГРАММЫ
 Что же такое цифровое и аналоговое телевидение и чем они отличаются?
 РАСШИРЕННЫЕ ОТЛАДОЧНЫЕ ФУНКЦИИ MPLAB
 Маршрутизатор
 Критерии успеха интерактивного оборудования

Добавить комментарий:
Введите ваше имя:

Комментарий:

Защита от спама - решите пример: