Загальна структура програми роботи МПП 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Загальна структура програми роботи МПП



 

Структура програмного забезпечення для МПП включає в себе:

головну програму, з якої викликаються підпрограми: ініціалізації, обробки інформації, виводу інформації на ЦАП. В свою чергу підпрограма обробки інформації звертається до підпрограми множення.

програму обробки переривання.

; Головна програма

MAIN: LXI H,FFFFh;встановлення вказівника стеку на кінець ОЗП,

SPHL                      ;оскільки в програмі використовується стек

CALL    INIT     ; виклик підпрограми ініціалізації

MVI A,01H  ; подача логічного одиниці в тригер 0-го біта порта С

OUT 07H      ;тобто подача сигналу “Запуск” для АЦП

WAIT:   EI                   ; дозвіл переривань

DI                  ; перевірка не повинна перериватися

LDA 40BH   ; Цикл очікування готовності АЦП,

CPI 1; перевірка змінної в пам’яті (“індикатора”) на рівність два.

JNZ WAIT; (чи відбулось переривання?), якщо ні, то продовжити цикл

DI                  ; програма не повинна перериватися

XRA A          ; обнулити “індикатор”,

STA 40BH

CALL    DEALW; Викликати підпрограму обробки інформації

CALL    CAP     ; Вивести результат на ЦАП

JMP WAIT            ; перехід на наступний робочий цикл

; Підпрограма ініціалізації

INIT: DI                  ; Ініціалізація не повинна перериватися

MVI A,92H; Програмування ППІ1: 0-й режим, порт А,В – ввід,С – вивід.

OUT 07H      ; Адреса РКС для ППІ1

MVI A,80H; Програмування ППІ2: 0-й режим, порт А,В,С – вивід.

OUT 0FH      ; Адреса РКС для ППІ2

MVI A,14H; Програмування таймера: лічильник – 0, спосіб запису -

OUT 0BH     ; молодший байт, режим – 2, лічильник – двійковий.

MVI A,8       ; Запис в лічильник коефіцієнту ділення частоти – 8

OUT 08H      ; Адреса РКС таймера

MVI A,F7H; Програмування програмованого контролера переривань ICW1.

OUT PICUL; молодший байт,адреси підпрограми обробки переривань.

MVI A,00H  ; задання ICW2

OUT PICUH; старший байт,адреси підпрограми обробки переривань.

MVI A,FDH; задання OCW1,тобто задання обслуговуваних входів PIC.

OUT PICUH ; запис OCW1 в PIC.

MVI A,0h; запис в пам’ять „0”

STA 40BH; для індикації

LXI H,400H; Встановлення адреси на початок ОЗП

MOV M,а0     ; Запис в пам’ять коефіцієнту а0

INX H          ; Перехід на наступну комірку пам’яті

MOV M,а1     ; Запис в пам’ять коефіцієнту а1

INX H          ; Перехід на наступну комірку пам’яті

MOV M,a2     ; Запис в пам’ять коефіцієнту a2

LXI H,0000H; Встановлення „0” для x.

SHLD    H,405H; Встановлення „0” для xn-1.

SHLD    H,407H; Встановлення „0” для xn-2.

EI                   ; дозвіл переривань

RET               ; повернення в головну програму

 


Опис програми вводу, виводу

 

Вводом даних займається програма обробки переривання, в задачу якої входить прочитати дані з АЦП, тобто з портів А і В ППІ1, і записати їх в оперативну пам’ять.

; Обробник переривання

IR1: DI                  ; Інші переривання заборонені

PUSH    PSW; Збереження в стеку регістра прапорців і акумулятора

IN 04H; Читання молодших 8 інформаційних розрядів із порта

А  STA 403H; їх запис в оперативну пам’ять.

IN 05H; Читання старших 4-ох інформаційних розрядів із порта В

STA 404H    ; їх запис в оперативну пам’ять.

MVI A,1; Інкрементування “індикатора” на 1, тобто вказівка головній

STA 40BH   ; програмі, що переривання відбулося.

POP PSW; відновлення зі стеку регістра прапорців і акумулятора

EI                   ; дозвіл переривань

RET               ; повернення в перервану програму

Підпрограма виводу обробленої інформації на ЦАП викликається в кінці робочого циклу головної програми, і в її задачу входить почергово записати у буферні регістри інформаційні розряди результату, для того, щоб потім одночасно подати їх на ЦАП. Запис у буферні регістри здійснюється через програмований паралельний інтерфейс (ППІ2).

; Підпрограма виводу інформації на ЦАП

CAP: LDA 408H    ; Завантаження з пам’яті 8 молодших розрядів результату

OUT 0CH; Їх вивід в порт А ППІ2 (запис в 1-й буферний регістр)

LDA 409H    ; Завантаження з пам’яті 4 старших розрядів результату

OUT 0DH; Їх вивід в порт В ППІ2 (запис в 2-й буферний регістр)

MVI A,08H; Дозвіл виводу інформації із буферних регістів на ЦАП

OUT 0FH      ; (встановлення 4-го біту порта С ППІ2 в 0)

MVI A,09H; Заборона виводу інформації із буферних регістів на ЦАП

OUT 0FH      ; (встановлення 4-го біту порта С ППІ2 в 1)

RET               ; Повернення в головну програму

 



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 114; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.252.23 (0.005 с.)