Лабораторна робота
1 Мета Засвоїти принципи функціонування паралельного порта ПК та принципи підключення зовнішніх пристроїв до нього через інтерфейс Centronics.
2 Порядок виконання роботи
Рисунок 1 - Блок-схема звагального алгоритму програми – драйвера
Текст програми:
Model small
.data
.code
Mov ax,@data
Mov ds,ax
buffer db ffh, 255 dup (?) ; ініціалізація сегменту даних
p1 db "Нема паперу"
p2 db "Помилка ПП"
lea dx,buffer ; ініціалізація буфера даних
mov ah,0ah ; функція «буферизований ввід»
int 21h ; виклик переривання DOS
mov bx, offset rt ; занести в регістр BX початкову адресу буфера даних
mov cl, byte ptr[bx+1] ; занести в регістр CL кількість введених байт даних
inc cl ; встановити лічильних байт
ready: ; аналіз готовності ПП
mov dx, 379h
in al,dx
cmp al,57h ; 57h – код готовності ПП
jnz error
vivod: ; процедура виводу байта в ПП
mov al, byte ptr[bx+2] ; занести в AL перший байт
inc bx ; встановити вказівник адреси на наступне значення
dec cl ; зменшити лічильник байтів
jz exit ; вихід з програми, якщо CL=0
mov dx,378h
out dx,al ; формування стробу
mov ax,00000101b
mov dx,37ah
out dx,ax
mov ax,00000100b
mov dx,37ah
out dx,ax
mov ax,00000101b
mov dx,37ah
out dx,ax
; затримка
push dx
push cx
mov cx,9999h
m3:
mov dx,0ссh
m2:
dec dx
cmp dx,0
jnz m2
dec cx
cmp cx,0
jnz m3
pop cx
pop dx
jmp ready
error:
mov ah,2 ; звуковий сигналізатор помилки
mov dl,7
int 21h
lea dx, p2 ; повідомлення про тип помилки
mov ah,9
int 21h
jmp ready
exit: ; вихід
mov ax,4c00h
int 21h
end
Висновок: На практичній роботі я ознайомився зі схемою підключення периферійного пристрою (ПП) до паралельного LPT-порту ПЕОМ, структурою та призначенням регістрів LPT-порта та ПП.
Підключив імітатор ПП до паралельного порту ПЕОМ через інтерфейс Centronics. Включив ПЕОМ та імітатор, завантажив ОС, після чого завантажив текстовий редактор з Norton Commander та набрав розроблену програму. Виконав трансляцію та компіляцію розробленої програми з допомогою tasm.exe та link.exe, відлагодив програму в afdx.com, реалізував відлагоджену програму на ПЕОМ та продемонстрував результати роботи програми викладачу.