Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Встроенные КС лаб раб испр.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.84 Mб
Скачать

3.3 Приклад реалізації алгоритму порозрядного врівноваження

$nolist

$include (c:\asm51\compile\mod51)

$list

; програма аналого-цифрового перетворенння

A55 equ 8000h ; Адреса порту А

B55 equ 8001h ; Адреса порту В

C55 equ 8002h ; Адреса порту С

RUS55 equ 8003h ; Адреса порту керуючого слова

UW equ 80h ; Керуюче слово всі порти на вивід

ORG 0000

MOV DPTR, #RUS55

MOV A, #UW

MOVX @DPTR, A ; ініціалізація ВВ55

M2: MOV R0, #00b ; в R0 зберігається старша частина

; коду ЦАП

MOV DPTR, #C55 ; скидання(обнулення) старших

MOV A, R0 ; розрядів ЦАП

MOVX @DPTR, A ; D9 – D8

M4: MOV A, #00h ; в A зберігається молодша частина

; коду ЦАП

MOV DPTR, #A55 ; скидання(обнулення) молодших

; розрядів ЦАП

MOVX @DPTR, A ; D7 – D0

M1: INC A ; збільшення на 1 молодшої частини коду

MOV DPTR, #A55 ; Запис в порт А молодшу частину коду

MOVX @DPTR, A ; Аналіз стану компаратору, якщо 0

JNB P1.7, M3 ; то перехід до відображення коду мітки М3

CJNE A, #0FFh, M1 ; якщо молодша частина коду FFh то

; перехід до збільшення старшої частини коду

INC R0 ; інакше перехід на мітку М1

MOV DPTR, #C55

MOV A, R0

MOVX @DPTR, A ; Запис в порт С старшу частину коду

CNJE R0, #03h, M4 ; якщо старша частина коду 03h то

JMP M2 ; перехід до мітки М4 інакше до мітки М2

M3: MOV DPTR, #0B000h ; Вивід на індикацію

MOVX @DPTR, A ; молодшої частини коду

MOV A, R0

MOV DPTR, #0A000h ; Вивід на індикацію

MOVX @DPTR, A ; старшої частини коду

MOV R2, #0FFh ; Часова затримка реалізована

M5: MOV R2, #0FFh ; на двух регістрах з декрементуванням

DJNZ R3,$ ; у вкладених циклах

DJNZ R2, M5

JMP M2 ; перехід на новий цикл вимірювання

END

3.4 Завдання до лабораторної роботи

Таблиця 3.1 - Завдання до лабораторної роботи

Алгоритм для реалізації

1

Порозрядне урівноваження

2

Метод половинних наближень

3

Що стежить з первинним порозрядним урівноваженням

4

Що стежить з первинним половинним наближенням

5

Після натиснення кнопки S1 запустити АЦП половинних наближень

6

Після натиснення кнопки S2 запустити АЦП порозрядного урівноваження

7

Після натиснення кнопки S3 запустити АЦП типу, що стежить з первинним порозрядним урівноваженням

8

Після натиснення кнопки S4 запустити АЦП типу, що стежить з первинним половинним наближенням

9

Після натиснення кнопки S5 запустити АЦП половинних наближень, результат відобразити по натисненню кнопки S2

10

Після натиснення кнопки S6 запустити АЦП порозрядного урівноваження, результат відобразити по натисненню кнопки S2

11

Після натиснення кнопки S7 запустити АЦП типу, що стежить з первинним порозрядним урівноваженням, результат відобразити по натисненню кнопки S8

12

Після натиснення кнопки S8 запустити АЦП типу, що стежить з первинним половинним наближенням результату, після натиснення кнопки S9