Исследование индикаторов. Солдатов А.И - 25 стр.

UptoLike

27
Пример программы, реализующий приведенный выше алгоритм, для
отображения числа 1986 на четырех индикаторах приведен ниже.
$INCLUDE (C8051F060.inc)
R8 EQU 0X08 ;ЗАДАНИЕ РЕГИСТРА
;-----------------------------------------------------------------------------
; настройка стека
;-----------------------------------------------------------------------------
STACK SEGMENT IDATA ;выбор сегмента стека
RSEG STACK
DS 80h ;резервирование 128 байтов для стека
;-----------------------------------------------------------------------------
; настройка таймеров
;-----------------------------------------------------------------------------
CSEG AT 0
ljmp Main
Temp_2 SEGMENT CODE ;
RSEG Temp_2 ;выбор сегмента CODE
USING 0 ;использование нулевого банка
регистров
Main:
mov WDTCN, #0deh ;выключение watchdog timer
mov WDTCN, #0adh
mov SP, #STACK-1 ;инициализация указателя стека
mov SFRPAGE,#0FH ;выбор страницы 0fH
MOV XBR2,#40H
MOV P3MDOUT,#0FFH ;
MOV P4MDOUT,#0FFH ;
MOV P5MDOUT,#0FFH ;
MOV P7MDOUT,#0FFH ;настройка портов на вывод
GOO:
;-----------------------------------------------------------------------------
;ВВОД НАЧАЛЬНЫХ ЗНАЧЕНИЙ
;-----------------------------------------------------------------------------
MOV R2,#11111001B ;цифра 1
MOV R3,#10010000B ; цифра 9
MOV R4,#10000000B ;цифра 8