Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Поочередно проверяются все пять кнопок, подключенных к порту В. При замыкании кнопки включается либо один из СИД, либо звуковой излучатель. Таким образом, проверяется состояние кнопок и соответствующих органов индикации. Разумеется, работоспособность кнопки ДИАГ. проверяется по переходу системы в режим диагностики, а работоспособность кнопки СБРОС — по запуску процесса инициализации.

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

СИД и звуковой излучатель

Устройства вывода статической информации проверяются совместно с кнопками, как описано выше. Разумеется, отсутствие свечения у СИД или звука у излучателя может быть обусловлено неисправностью как входного, так и выходного узла. Какой именно из узлов неисправен, достаточно легко выясняется при помощи вольтметра или логического пробника. Помните также, что светодиоды должны светиться во время установки временного интервала.

Дисплей

Каждый из индикаторов дисплея проверяется путем поочередного включения одного из сегментов с периодом в одну секунду. Это реализуется формированием значения с «бегущим нулем» (b’11111110’ —> Ь’11111101’ —> … —> b’01111111’), которое передается подпрограммой SPI_WRITE при каждом ненулевом значени регистра NEW_SEC. Данный регистр инкрементируется в обработчике прерывания от Таймера 0 при каждом инкрементировании счетчика секунд и сбрасывается в процедуре диагностики. То есть он играет роль храпового механизма, обеспечивая вывод каждого нового символа не ранее чем через секунду.

Процесс установки интервала запускается в том случае, если при выходе микроконтроллера из состояния сброса кнопка УСТ. оказывается замкнутой. Данный процесс предназначен для того, чтобы оператор мог изменить содержимое ячейки EEPROM с адресом h’00’ на любое значение от 1 до 99. В этой ячейке хранится начальное значение, используемое основным процессом для определения длительности процедуры счета.

В этой подпрограмме, код которой приведен в Программе 17.5, сначала в счетчик секунд записывается число 99, которое затем декрементируется с периодом в одну секунду в соответствии с логикой работы обработчика прерывания. Содержимое регистра SECOND передается в подпрограмму вывода на дисплей каждый раз, когда обработчик прерывания записывает в регистр-флаг NEW_SEC ненулевое значение, т. е. каждую секунду. В подпрограмме DISPLAY регистр NEW_SEC обнуляется, благодаря чему обновление дисплея происходит опять же только раз в секунду. Кроме того, каждую секунду проверяется состояние кнопки УСТ. — при ее размыкании состояние счетчика секунд сохраняется в EEPROM в секции UPDATE вызовом подпрограммы низкого уровня EE_PUT из Программы 15.2 (стр.547).

Программа 17.5. Процедура установки временного интервала

; *****************

; * ФУНКЦИЯ: Медленно считает от 99 до 00. При отпускании

; * кнопки УСТ. в EEPROM заносится новое значение интервала

; * РЕСУРСЫ: П\п DISPLAY, EE_PUT, ISR; переменная TIME_OUT *

; * ВХОД: Кнопка УСТ. нажата *

; * ВЫХОД: Обновляется содержимое EEPROM по адресу 00 *

; *****************

SET_TIME movlw d’99’; Начинаем счет со значения 99

               movwf SECOND

               movlw b’00000000’; Включаем все СИД

               movwf PORTB

SET_LOOP movf SECOND,w; Берем значение счетчика секунд

               call OUTPUT; и выводим его на дисплей

               btfsc PORTB,SETT; Проверяем, не надо ли прекратить счет?

                  goto UPDATE; ЕСЛИ да, ТО обновляем EEPROM и выходим

               movf SECOND,w; Берем отображаемое число

               movwf TIME_OUT; Делаем временную копию

SLOOP movf NEW_SEC,f; Проверяем флаг секунды

               btfsc STATUS,Z; ЕСЛИ не ноль, ТО пропускаем

               goto S_LOOP; ИНАЧЕ проверяем снова

               goto SET_LOOP; Повторяем

UPDATE movf TIME_OUT,w; Берем значение

             movwf EEDATA; Инициализируем EEPROM

             clrf EEADR

             call EE_PUT; Пишем в EEPROM

             return; и возвращаемся в основную программу

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника