- •Уфимский государственный нефтяной технический университет
- •Кафедра электротехники и электрооборудования предприятий
- •4 Минимизация выражений для бинарных переменных состояния
- •5 Минимизация выражений для бинарных выходных величин как функций от бинарных переменных состояний
- •Разработка цифрового автомата на базе микропроцессорной системы
- •1 Задание:
- •Вариант Ввод Вывод
- •Файл z.Asm
- •Файл z.Lst
Разработка цифрового автомата на базе микропроцессорной системы
1 Задание:
1.1 В соответствии с вариантом способа ввода и вывода данных составить схему автомата, выполненного на базе микропроцессора МК48;
1.2 Произвести анализ примеров типовых программ работы микропроцессора для реализации автомата, составить для моделирования программы на ассемблере, отвечающие карте переходов состояний, полученной при выполнении расчетно-графической работы №1;
1.3 Составить на ассемблере фрагмент программы ввода и вывода данных по варианту задания.
Вариант Ввод Вывод
0 P1 P0
1 P1 P2
2 P0 P1
3 P0 Р0
Р0- порт BUS микропроцессора;
P1- биты 0-3 порта Р1;
Р2- биты 4-7 порта Р2.
Вариант V определяется, как V= N MOD 4, где N- номер студента в списке группы.
V = 10MOD4 = 2; Ввод Р0, Вывод P1.
-
Рисунок 5 - Схема автомата
Программы, обеспечивающие работу автомата по варианту с выводом данных по типовым программам.
Фрагмент программы ввода / вывода (на ассемблере) согласно варианту задания.
Файл z.Asm
;PROGRAM Zaidyllin;
;R5-ARGUMENT;
;R6-SOSTOJANIE;
;R7-V-FUNK;
;----------------;
ORG 000H
JMP RES
ORG 00AH
RES: MOV R0,#16 ;STR SOS 1
MOV @R0,#1
INC R0
MOV @R0,#1
INC R0
MOV @R0,#1
INC R0
MOV @R0,#2
INC R0
MOV @R0,#1
INC R0
MOV @R0,#6
INC R0
MOV @R0,#3
INC R0
MOV @R0,#1
MOV R0,#24 ;STR SOS 2
MOV @R0,#3
INC R0
MOV @R0,#2
INC R0
MOV @R0,#2
INC R0
MOV @R0,#2
INC R0
MOV @R0,#1
INC R0
MOV @R0,#2
INC R0
MOV @R0,#5
INC R0
MOV @R0,#6
MOV R0,#32 ;STR SOS 3
MOV @R0,#3
INC R0
MOV @R0,#2
INC R0
MOV @R0,#3
INC R0
MOV @R0,#4
INC R0
MOV @R0,#3
INC R0
MOV @R0,#3
INC R0
MOV @R0,#3
INC R0
MOV @R0,#5
MOV R0,#40 ;STR SOS 4
MOV @R0,#4
INC R0
MOV @R0,#5
INC R0
MOV @R0,#6
INC R0
MOV @R0,#4
INC R0
MOV @R0,#3
INC R0
MOV @R0,#2
INC R0
MOV @R0,#4
INC R0
MOV @R0,#4
MOV R0,#48 ;STR SOS 5
MOV @R0,#4
INC R0
MOV @R0,#5
INC R0
MOV @R0,#6
INC R0
MOV @R0,#5
INC R0
MOV @R0,#1
INC R0
MOV @R0,#2
INC R0
MOV @R0,#5
INC R0
MOV @R0,#5
MOV R0,#56 ;STR SOS 6
MOV @R0,#6
INC R0
MOV @R0,#6
INC R0
MOV @R0,#6
INC R0
MOV @R0,#5
INC R0
MOV @R0,#1
INC R0
MOV @R0,#6
INC R0
MOV @R0,#6
INC R0
MOV @R0,#6
;----------;
MOV R0,#9 ;V-FUNK
MOV @R0,#0
INC R0
MOV @R0,#8
INC R0
MOV @R0,#7
INC R0
MOV @R0,#15
INC R0
MOV @R0,#3
INC R0
MOV @R0,#6
;----------;
MOV R5,#0 ;INIT
MOV R6,#1
MOV R7,#15
;----------;
START: NOP
MOV A,R6
MOV R2,A
MOV A,#8
;----------;SOST
ST1: ADD A,#8
DJNZ R2,ST1
MOV R2,A
MOV A,R5
ADD A,R2
MOV R0,A
MOV A,@R0
MOV R6,A
;-----------; V-FUNK
ADD A,#8
MOV R0,A
MOV A,@R0
MOV R7,A
;-----------; I/O
OUTL P2,A
MOV A,#0FFH
OUTL P1,A
IN A,P1
MOV R5,A
JMP START
;-----------;
END