Обозначение |
Наименование (тип) |
Количество |
Датчики |
||
S1 |
Шумящий датчик |
1 |
Диод |
||
VD1 |
Д9 |
1 |
Индикаторы |
||
HL1,HL2 |
TDSG1150 |
2 |
Кварцевый резонатор |
||
ZQ1 |
Кварц 15МГц |
1 |
Конденсаторы |
||
C1 |
К15-5-10пФ±20% |
1 |
С2, С5 |
К53-1-10мкФ±20% |
2 |
C3 |
К15У-3-3300пФ±20% |
1 |
С4 |
К15У-3-470пФ±20% |
1 |
Микросхемы |
||
DA1 |
К140УД2А |
1 |
DD1 |
К1810ГФ84 |
1 |
DD2 |
К1810ВИ54 |
1 |
DD3 |
КР580ВВ79 |
1 |
DD4 |
К1810ВМ86 |
1 |
DD5 |
DAC813 |
1 |
DD6 |
КР580ВВ51А |
1 |
DD7, DD8 |
КР580ИР82 |
2 |
DD9, DD10 |
КР580ВА86 |
2 |
DD11 |
КР531ИД7 |
1 |
DD12 |
TDA8714/4 |
1 |
DD13, DD14 |
К573РФ2 |
2 |
DD15, DD16 |
К537РУ9А |
2 |
DD17 |
К155ЛИ1 |
1 |
DD18 |
К155ЛЛ1 |
1 |
DD19 |
К155ЛН1 |
1 |
Резисторы |
||
R1-R8 |
МЛТ-0,25-20кОм±10% |
8 |
R9-R16, R18, R19-R26 |
МЛТ-0,25-1кОм±10% |
17 |
R17 |
МЛТ-0,25-200кОм±10% |
1 |
R27 |
МЛТ-0,25-68кОм±10% |
1 |
Транзисторы |
||
VT1-VT8 |
2N1613 |
8 |
03fch: 600h
03feh: 0h
2000h: k dw 200
2002h; db 2 dup (0)
0ff0h: jmp far ptr start
400h:
db 00111111b ;код цифры 0
db 00000110b ;код цифры 1
db 01011011b ;код цифры 2
db 01001111b ;код цифры 3
db 01100110b ;код цифры 4
db 01101101b ;код цифры 5
db 01111101b ;код цифры 6
db 00000111b ;код цифры 7
db 01111111b ;код цифры 8
db 01101111b ;код цифры 9
500h:
start:
;инициализация сегментных регистров
mov ax,200h
mov ds,ax
mov ss,ax
mov sp,0fffh
xor ax,ax
mov es,ax
mov k,200
;инициализация ВВ79
mov al,1 ;8-разрядный, 8-символьный дисплей, ввод слева, внутр. дешифрация
mov es:[8001h],al
mov al,00111111b ;деление частоты на 31
mov es:[8001h],al
;инициализация ВВ51
mov al,01001110b ;асинхронный режим 8N1 (F=1/16Fclk)
mov es:[0a001h],al
mov al,00010100b ;сброс битов ошибок и разрешение приема
mov es:[0a001h],al
;инициализация ВИ54
mov bx,50000
mov al,00110100b ;0-й канал: 2-й режим, 2-байтная константа
mov es:[0c003h],al
mov es:[0c000h],bl
mov es:[0c000h],bh
mov al,01010110b ;1-й канал: 3-й режим, 1-байтная константа
mov es:[0c003h],al
mov al,32
mov es:[0c001h],al
;циклическое считывание с АЦП, преобразование, вывод на ЦАП
g:
xor ah,ah
mov al,es:[4000h] ;считывание с АЦП
;преобразование переменной k в соотв. код АЦП
mov bx,k
mul bx
mov bx,255
div bx
;вывод данных на АЦП
mov es:[6000h],ax ;первая фаза вывода на ЦАП (загрузка внутр. защелок)
mov es:[6001h],ax ;вторая фаза вывода на ЦАП (запуск преобразования)
mov cx,3
f:
loop f ;задержка на 27 тактов (5.4мкс)
jmp g
;600h:
;сохранение значений регистров в стеке
push ax
push bx
push cx
push dx
;обработка ВВ79
mov al,es:[8001h] ;считывание слова состояния
and al,0fh
jz rs ;если в ОЗУ клавиатуры 0 символов - перейти на rs
mov al,01010000b ;команда чтения ОЗУ клавиатуры
mov es:[8001h],al
;увеличение/уменьшение k в соответствии с кодом нажатой клавиши
mov al,es:[8000h] ;считывание кода нажатой клавиши
and al,1
jz a1 ;если нажата +U, перейти на a1
sub k,40
cmp k,200
jae preobr
mov k,200
jmp preobr
a1:
add k,40
cmp k,3200
jbe preobr
mov k,3200
jmp preobr
;обработка ВВ51
rs:
mov al,es:[0a001h]
and al,2
jz exit_
mov bl,es:[0a000h]
b1:
mov al,es:[0a001h]
and al,2
jz b1
mov bh,es:[0a000h]
;ограничение коэффициента k, если он выходит за допустимые пределы
cmp bx,200
jae b2
mov bx,200
b2:
cmp bx,3200
jbe b3
mov bx,3200
b3:
mov k,bx
;преобразование 16-ричного числа в десятичное
preobr:
mov dl,40
mov ax,k
div dl
mov bl,10
mov si,2
c:
xor ah,ah
div bl
mov ds:[si],ah ;загрузка остатка от деления на 10 по адресу ds:[si]
inc si
cmp al,0
jne c
;преобр. десятичного кода в индикаторный и запись его в индикаторное ОЗУ
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.