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

; Задача 1 ------------

DISPLAY movf BINARY,w; Берем двоичное значение

             call BIN_2_BCD; Преобразуем его в 3 BCD-разряда

; Задача 2, a ---------

LOOP     movf HUNDREDS,w; Берем число сотен

             call SVN_SEG; Преобразуем в 7-сегментный код

             movwf PORTB; Высылаем в порт В

             bcf PORTA,2; Включаем индикатор сотен

             call DELAY_10MS; на 10 мс

             bsf PORTA,2; и выключаем его

; Задача 2, б --------

             movf TENS,w; Берем число десятков

             call SVN_SEG; Преобразуем в 7-сегментный код

             movwf PORTB; Высылаем в порт В

             bcf PORTA,1; Включаем индикатор десятков

             call DELAY_10MS; на 10 мс

             bsf PORTA,1; и выключаем его

; Задача 2, в --------

             movf UNITS,w; Берем число единиц

             call SVN_SEG; Преобразуем в 7-сегментный код

             movwf PORTB; Высылаем в порт В

             bcf PORTA,0; Включаем индикатор единиц

             call DELAY_10MS; на 10 мс

             bsf PORTA,0; и выключаем его

                goto LOOP;Образуем бесконечный цикл

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

Вопросы для самопроверки

11.1. Одним из недостатков схемы охранной сигнализации, приведенной на Рис. 11.12, является необходимость использования многожильного кабеля для соединения зон (8 линий плюс по одной на зону). В качестве альтернативы можно было бы заменить тристабильный буфер каждой зоны микроконтроллером PIC. При этом связь базового микроконтроллера с микроконтроллерами зон осуществлялась бы по 4-проводной общей шине. Одну из линий шины можно было бы использовать для передачи сигнала квитирования, извещающего базовый контроллер об обнаружении проникновения в зоне, номер которой присутствует на остальных трех линиях шины.

Покажите, как можно было бы сконфигурировать микроконтроллер PIC16F84 для использования в качестве локального контроллера зоны, обращая особое внимание на то, что линия квитирования должна совместно использоваться контроллерами всех зон.

Можно ли уменьшить число линий до трех? Как можно добавить в схему локальные дисплеи, отображающие сработавший датчик?

11.2. К порту С микроконтроллера PIC, работающего на частоте 20 МГц, подключена группа СИД. При этом каждый вывод порта подключен к линии питания через резистор сопротивлением 1 кОм и к общему проводу через конденсатор емкостью 300 пФ. Все светодиоды выключены, и программист пытается включить 7-й и 0-й светодиоды следующим образом:

bcf PORTC,7; Включить 7-й СИД

bcf PORTC,0; Включить 0-й СИД

Однако в действительности включается только 0-й СИД. Почему так происходит?

11.3. Выводы RC[1:0] должны быть сконфигурированы как выходы, на которых после сброса по питанию присутствует лог. 0. Приведенный ниже фрагмент предполагалось использовать для сброса обоих триггеров перед переключением линий порта на выход. При проверке оказалось, что результат для RC0 обратен ожидаемому. Почему так происходит, и можете ли вы исправить код, чтобы он выполнялся правильно?

bcf PORTC,0; Сбрасываем триггер бита 0 (см. Рис. 11.3, г)

bcf PORTC,1; Сбрасываем триггер бита 1

bcf STATUS,RP0; Переключаемся на 1-й банк

movlw b’11111100’; Делаем RC[1:0] выходами

movwf TRISC

bcf STATUS,RP0; Переключаемся обратно в 0-й банк

11.4. В системе необходимо управлять восемью СИД и считывать состояние восьми кнопок с нормально разомкнутыми контактами. В принципе для обеих целей можно использовать один порт В, который в первом случае конфигурируется как выход, а во втором — как вход. Можете ли вы нарисовать соответствующую схему?

11.5. Доработайте цифровой компаратор из Примера 11.2 так, чтобы он сравнивал два однобайтных числа, поступающих извне в 28-выводной микроконтроллер PIC, причем число Р подается на порт В, а число Q — на порт С.

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

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

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

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

Сид Катцен

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

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

Электроника для начинающих
Электроника для начинающих

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

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

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