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

     movlw b’11000000’; Включаем зеленый СИД

     movwf PORTB

     bsf PORTA,BUZ; Выключаем звук

; Считываем начальное значение из EEPROM

     clrf EEADR; Адрес в EEPROM — 00

     call EE_GET; Считываем начальное значение

     movwf MINUTE

     movlw d’59’; Начальное значение секунд

     movwf SECOND; равно 59

     clrf JIPPY

DISPLAY movf MINUTE,w; Берем значение минут

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

; Фаза 2-минутной готовности ------------

; За две минуты до конца включаем звук на одну секунду и включаем

; желтый светодиод

TWO movf MINUTE,w; Счетчик минут =2?

        addlw -2

        btfss STATUS,Z

           goto ONE; ЕСЛИ нет, ТО проверим след, фазу

        movlw b’10100000’; Включаем желтый СИД

        movwf PORTB

        bcf PORTA,BUZ; Включаем пищалку

TWO_LOOP movf NEW_SEC,f; Проверяем флаг NEW_SEC

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

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

        bsf PORTA,BUZ; Выключаем пищалку через 1 секунду

          goto REPEAT; Выводим интервал на дисплей

; Фаза 1-минутной готовности —

; За одну минуту до конца включаем звук на две секунды и включаем красный светодиод

ONE movf MINUTE,w; Счетчик минут = 1?

       addlw -1

       btfss STATUS,Z

          goto ZERO; ЕСЛИ нет, ТО проверим след, фазу

       movlw b’01100000’; Включаем красный СИД

       movwf PORTB

       bcf PORTA,BUZ; Включаем пищалку

ONE_LOOP movf NEW_SEC,f; Проверяем флаг NEW_SEC

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

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

       clrf NEW_SEC; Сбрасываем флаг NEW_SEC

UN_LOOP movf NEW_SEC,f; Проверяем флаг NEW_SEC

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

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

       bsf PORTA,BUZ; Выключаем пищалку через 2 секунды

          goto REPEAT; Выводим интервал на дисплей

; Фаза тайм-аута —

; Когда счетчик минут становится равным нулю, включаем пищалку

; до тех пор, пока не будет нажата кнопка СТОП

ZERO movf MINUTE,f; Счетчик минут =0?

        btfss STATUS,Z

           goto REPEAT; ЕСЛИ нет, ТО повторим проверку через

        bcf PORTA,BUZ; Включаем пищалку

ZERO_LOOP

        btfsc PORTB,STOP; Проверяем кнопку СТОП

           goto ZERO_LOOP; и продолжаем, пока не будет нажата

FINI movlw b’11100000’; Выключаем индикаторы

        movwf PORTB

        bsf PORTA,BUZ; и пищалку

        movlw b’11111111’; Код для очистки индикаторов

        movwf DATA_OUT_L

        movwf DATA_OUT_H

        call SPI_WRITE; Очищаем оба индикатора

        sleep; и ждем следующего сброса

REPEAT btfss PORTB,STOP; Проверяем кнопку СТОП

            goto FINI; ЕСЛИ нажата, ТО прекращаем работу

        movf SECOND,f; Ждем обнуления счетчика секунд,

        btfss STATUS,Z; т. е. наступления следующей минуты

            goto REPEAT; ЕСЛИ нет, ТО ждем дальше

        clrf NEW_SEC; ИНАЧЕ ждем еще секунду

R_LOOP movf NEW_SEC,f; Проверяем флаг NEW_SEC

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

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

        goto DISPLAY; Повторяем вывод на дисплей

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

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

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

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

Сид Катцен

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

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

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

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

Чарльз Платт

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

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

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

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

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

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

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