а) ТТЛ микросхемы [3,4](при Uпит.=5в):
Параметр | К155 | К555 | К531 | КР1531 |
U1вх. мин., В | 2 | 2 | 2 | 2 |
U0вх. макс., В | 0.8 | 0.8 | 0.8 | 0.8 |
U0вых. макс., В | 0.4 | 0.5 | 0.5 | 0.5 |
I0вых. макс., мА | 16 | 8 | 20 | |
U1вых. мин., В | 2.4 | 2.7 | 2.7 | 2.7 |
I1вых., макс., мА | -0.8 | -0.4 | -1 | |
I1вых. макс. с ОК, мкА | 250 | 100 | 250 | |
I1вых. макс. сост. Z, мкА | 40 | 20 | 50 | |
I0вых. макс. сост. Z, мкА | -40 | -20 | -50 | |
I1вх. макс., мкА | 40 | 20 | 50 | 20 |
I0вх. макс., мА | -1.6 | -0.4 | -2.0 | -0.6 |
Iк.з. макс., мА (U0вых=0) | -(18¸55) | -100 | -100 | -(60¸150) |
tзд. Р., нс | 9 | 9.5 | 3 | 3 |
Rн, кОм | 0.4 | 2 | 0.28 | 0.28 |
Pпот., мВт | 10 | 2 | 19 | 4 |
б) КМОП микросхемы [3,4](при Uпит.=10в):
Параметр | К176 | К561 | КР1561 |
U1вх. мин., В | 7 | 7 | 7 |
U0вх. макс., В | 3 | 3 | 3 |
Iвх. макс., мкА | 0.1 | 0.2 | 0.3 |
U0вых. макс., В | 0.3 | 2.9 | 1 |
I0вых. макс., мА | 0.3 | 1.1 | |
U1вых. мин., В | 8.2 | 7.2 | 9 |
I1вых. макс., мА | 0.3 | -1.1 | |
tзд. Р., нс | 600 | 620 | 190 |
3) Описаниеи распайка LPT-порта (нормальный режим) [7].
Порт | Бит | Контакт разъема | Описание |
378H | 0 1 2 3 4 5 6 7 | 2 3 4 5 6 7 8 9 | используется для записи -“”- -“”- -“”- -“”- -“”- -“”- -“”- |
379H | 0-2 3 4 5 6 7 | - 15 13 12 10 11 | не используются используется для чтения -“”- -“”- -“”- -“”- |
37AH | 0 1 2 3 4-7 | 1 14 16 17 - | используется для записи -“”- -“”- -“”- не используются |
4) Подпрограмма инициализации устройства.
INIT PROC NEAR ; начало подпрограммыинициализации
push ax; Запоминаем значения регистров ax и dx
push dx
mov dx, 378h
mov al, 7Fh
out dx, al ; 7FHÞ378H
mov dx, 37AH
mov al, 7
out dx, al ; 07HÞ37AH
mov al, 0Fh
out dx, al ; 0FHÞ37AH
mov dx, 378h
mov al, 0
out dx, al ; 00HÞ378H
mov dx, 37AH
mov al, 5
out dx, al ; 05HÞ37AH
mov al, 0Dh
out dx, al ; 0DHÞ37AH
mov al, 6
out dx, al ; 06HÞ37AH
mov al, 0Eh
out dx, al ; 0EHÞ37AH
pop dx ; Восстанавливаем значения регистров
pop ax ;dx и ax
INIT ENDP ; конец подпрограммы инициализации
5) Подпрограмма тестирования микросхемы.
b_data db 02h ; Данные по коммутации
db 05h ; Макс. ток
dw 4 ; Число циклов тестирования
; Далее идут 32 байта данных:
dd 00000000000000000000000000000000b ; запись
dd 00000000010010010100100000000000b ; сверка
dd 00000000001001000001001000000000b ; запись
dd 00000000010010010100100000000000b ; сверка
dd 00000000000100100010010000000000b ; запись
dd 00000000010010010100100000000000b ; сверка
dd 00000000001101100011011000000000b ; запись
dd 00000000010000000000000000000000b ; сверка
TESTING PROC NEAR ; начало подпрограммы
; тестирования
push bx ; сохраняем регистры в стеке
push cx
push dx
mov bx, offset cs:b_data;регистр BX - указатель
; на данные
mov al, cs:[bx]; загрузка в AL данных по
; коммутации
mov ah, 7; выбор регистра коммутации (DD6)
call write_r; запись AL в регистр коммутации
and al, 01000000B; выделяем 6-й бит
; (типмикросхемы)
jnz kmop
mov al, 142 ; напряжение питания - +5в,
; если ТТЛ
jmp end_u
kmop: mov al, 255 ; напряжение питания - +9в,
; если КМОП
end_u: mov ah, 5; выбор регистра управления
; напряжением (DD7)
call write_r ; запись AL в регистр управления
; напряжением
inc bx; ставим указатель на макс. ток
mov al, cs:[bx]; загрузка в AL данных по току
add al, 7 ; коррекция данных по току на 7мА
mov al, 6; выбор регистра управления током
; (DD8)
call write_r; запись AL в регистр управления
; током
inc bx; ставим указатель на число
; циклов
mov cx, cs:[bx]; загружаем число циклов в
; регистр CX
inc bx
cycle: mov dl,0; внешний цикл записи (по CX)
wr1: mov al, cs:[bx]; внутренний цикл записи
; в 4 регистра (DD2-DD5)
call write_r; по регистру DL
inc bx
inc dl
cmp dl, 4
jnz wr1
mov dl,0
rd1: mov ah, dl; внутренний цикл чтения и
; сравнения данных,считанных из
call read_r; 4-х мультиплексоров (DD13-DD16)
mov ah, cs:[bx]; и указателя [BX];по регистру DL
cmp al, ah
jnz error
inc bx
inc dl
cmp dl, 4
jnz rd1
loop cycle
good: mov al, 0; выход из п/п с AX=0 в случае,
; если все OK
jmp exit
error: mov al, 0FFH; выход из п/п с AX=0FFH в случае
; ошибки
exit: pop dx; восстанавливаем регистры при
; выходе
pop cx
pop bx
TESTING ENDP
WRITE_R PROC NEAR
; процедура записи значения в регистры DD2-DD8
; Входные параметры: AL - записываемое значение
; AH - номер регистра
; (0-DD2, 1-DD3, 2-DD4, 3-DD5, 5-DD7, 6-DD8, 7-DD6)
push ax ; сохраняем используемые регистры
; в стеке
push dx
mov dx, 378H
not al ; инвертируем значение