с подпрограммой реализации часов приведен
Исходный текст программы с подпрограммой реализации часов приведен на рисунке 9.23.
;-------------ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ---------------------------------- Delit equ 8 ;Номер ячейки памяти делителя SEC equ 9 ;Номер ячейки памяти счётчика секунд MIN equ 10 ;Номер ячейки памяти счётчика минут Chas equ 11 ;Номер ячейки памяти счётчика минут NachStek equ 11 ;Номер начальной ячейки памяти стека
...
;-------------ИНИЦИАЛИЗАЦИЯ МИКРОКОНТРОЛЛЕРА------------------------- init: mov SP,#NachStek ;Изменить размер стека call Timer0_Init ;Настроить таймер T0 на прерывания с периодом 50мс mov Delit,#20 ;Настроить делитель на коэффициент деления 20 mov SEC,#60 ;Настроить счётчик секунд на коэффициент деления 60 mov MIN,#0 ;Обнулить счётчик минут mov Chas,#0 ;Обнулить счётчик часов
...
;******************************************************************** ;Подпрограмма реализации часов ;******************************************************************** Clock: DJNZ SEC,ExitClock;Если прошла одна минута, то mov SEC,#60 ;настроить счётчик секунд на коэффициент деления 60 Call IncMin JC ExitClock Call IncChas ExitClock: ret
;******************************************************************** ;Подпрограмма увеличения содержимого счётчика минут ;******************************************************************** IncMin: mov A,MIN ; add A,#1 ;Переключить счётчик минут DA A ; mov MIN,A ;
CJNE A,#60h,ExitIncMin ;Если прошло 60 минут, mov MIN,#0 ;то обнулить счётчик минут ExitIncMin: ret
;******************************************************************** ;Подпрограмма увеличения содержимого счётчика часов ;******************************************************************** IncChas: mov A,Chas ; add A,#1 ;Переключить счётчик часов DA A ; mov Chas,A ;
CJNE A,#24h,ExitIncHr;Если прошло 24 часа, mov Chas,#0 ;то обнулить счётчик часов ExitIncHr: ret
Рисунок 9.23. Исходный текст участков программы, отвечающих за реализацию электронных часов.
Для того чтобы полностью воспользоваться преимуществами структурного программирования, операторы, выполняющие увеличение показаний счётчика минут, оформлены в виде подпрограммы.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий