Курс лекций. - Микропроцессоры


Написание программы для микропроцессорного устройства - часть 13


Исходный текст программы с вызовом подпрограммы блока индикации.

;******************************************************************** ;Подпрограмма опроса кнопок ;******************************************************************** OprosKnop: Mov A,SostKn ;Считать переменную состояния кнопок Mov C,P1.7 ;Скопировать состояние кнопки "уст сек" Mov AСС.0,C ;в нулевой бит аккумулятора Mov C,P2.7 ;Скопировать состояние кнопки "уст мин" Mov AСС.1,C ;в первый бит аккумулятора Mov C,P3.7 ;Скопировать состояние кнопки "уст часов" Mov AСС.2,C ;во второй бит аккумулятора Mov SostKn,A ;Сохранить новое значение переменной состояния кнопок ret

Рисунок 9.29. Исходный текст подпрограммы опроса кнопок.

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

Первое действие, которое мы выполним в этой подпрограмме – это обработаем команду, вводимую кнопкой установка секунд. По этой команде нужно просто обнулить счётчик секунд.

;******************************************************************** ;Подпрограмма блока коррекции часов ;******************************************************************** CorrClock: Mov A,SostKn ;Считать переменную состояния кнопок JB ACC.0, ;Если нажата кнопка "уст сек", Mov SEC,#0 ;то обнулить переменную SEC ret

Рисунок 9.30. Исходный текст подпрограммы коррекции показания часов.

Обработка нажатия на кнопки "уст мин" и "уст часов" производится несколько иначе. Дело в том, что при нажатии на эти кнопки необходимо непрерывно увеличивать показания счётчика часов или минут. Пусть изменение показаний часов происходит пять раз в секунду. Эта скорость изменения показаний часов ещё может восприниматься человеком.


Начало  Назад  Вперед



Книжный магазин