p>
018
019
01A
01B
01D
01E
020
021
023
024
026
027
028
02A
02B
02C
02D
02E
02F
030
031
032
033
034
035
037
038
03A
03B
03C
14 70
A8
D5
D8 00
BA 00
BB 00
C5
14 70
33
17
68
AB
53 80
C6 1B
FB
07
33
AB
BC 64
FB
BA 00
6B
E6 24
1A
EC 20
A9
97
BB 08
F9
F7
A9
FA
F7
AA
F8
33
-->> 17
6A
A7
F6 38
F8
EB 2A
F9
F7
A9
2
1
1
2
2
2
1
2
1
1
1
1
2
2
1
1
1
1
2
1
2
1
2
1
2
1
Change: Call Meas
MOV R0.A
SEL RB1
MOV R0, 00h
MOV R2, 00h
MOV R3, 00h
SEL RB0
Work: CALL Meas
CPL A.
INC A
ADD A, R0
MOV R3, A
ANL A, 80H.
JZ Mul.
MOV A, R3
DEC A
CPL A
MOV R3, A.
Mul: MOV R4, 64h
MOV A, R3
MOV R2, 00h
M1: ADD A, R3
JNC M2
INC R2
M2: DJNZ R4, M1
MOV R1, A
CLR C
MOV R3, 08h
M3: MOV A, R1
RLC A
MOV R1, A
MOV A, R2
RLC A
MOV R2, A
MOV A, R0
CPL A.
INC A
ADD A, R2
CPL C
JC M4
ADD A, R0
M4: DJNZ R3, М3
MOV A, R1
RLC A
MOV R1, A
; Виклик підпрограми вимірювання опору резистора; Запам'ятаємо в R0 еталонне опір.
; Підключимо банк регістрів RB1.
; Обнулення лічильника
; Обнулення лічильника
; Обнулення лічильника
; Підключимо банк регістрів RB0.
; Вимірювання опору резистора.
; Інвертування вмісту акумулятора
; А = А +1 ГћА вдодатковому коді.
; Віднімаємо з еталонного опору виміряний: А = R0-А.
; Рятуємо А регістрі R3
; Перевіряємо знаковий біт
; Якщо А> 0, то переходимо на мітку Mul
; Відновимо вміст А.
; А = А-1
; Інвертування А; А-у прямому коді.
; Збережемо вміст А
; В R4-число повторень циклу-10010
; В акумуляторі-різниця між вимірюються і еталонним; Опорами, взята по модулю.
; Обнулення регістру R2
; А = А + R3.
; Якщо А + R3 ВЈ FFh,то переходимо на М2.
; Враховуємо перенесення (А + R3> FFh).
; Зменшуємо лічильник циклу. Якщо R4> 0 - повторюємо цикл.
; Копіюємо акумулятор в регістр R1
; Після множення в регістрі R1 буде молодший байт
; твори, в R2-старший, тобто R2R1 = ВЅ Nет-N ВЅ * 100.
; Розділимо вміст цієї пари регістрів на вміст
; регістра R0 (еталон).
; Обнуляємо прапор переносу.
; Лічильник циклу.
; ВА-молодший байт твори.
; Циклічне зрушення вліво через прапор переносу.
; R1 = А
; ВА-молодший байт твори.
; Циклічне зрушення вліво через прапор переносу
; R2 = А
; ВА-еталонне вопротівленіе (дільник).
; Інвертування вмісту акумулятора
А = А +1 Гћ А в додатковомукоді
; А = R2-А
; Інвертування прапора переносу
; Якщо прапор З встановлений, переходимо на М4.
; А = А + R0
; Зменшуємо лічильник циклу. Якщо R3> 0, то повторюємо цикл.; А = R1
; циклічний зсув вліво через прапор переносу.
; В R1-результат ділення, тобто відхилення у відсоткахвиміряного опору від еталонного.
; перевірка на приналежність до групи по допуску.
03D
03F
041
042
043
044
046
047
049
04A
04C
04E
04F
050
051
053
054
056
057
058
059
05B
05C
05E
05F
060
062
03 F6
E6 49
D5
18
C5
23 червня
3A
04 5C
F9
03 FB
E6 56
D5
1A
C5
23 44
3A
04 5C
D5
1B
C5
23 24
3A
23 квітня
3A
09
12 00
04 0D
2
2
1
1
1
2
2
2
1
2
2
1
1
1
2
2
2
1
1
1
2
2
2
2
2
2
2
P 10:
P 5:
Mode:
ADD
JNC
SEL
IBC
SEL
MOV
OUTL
JMP
MOV
ADD
JNC
STL
INC
SEL
MOV
OUTL
JMP
SEL
INC
SEL
MOV
OUTL
MOV
OUTL
IN
JB0
JMP
A. F6h
P10
RB1 ​​
R0
RB0
A, 06h
P2, A
Mode
A, R1
A, FBh
P5
RB1 ​​
R2
RB0
A, 44h
P2, A
Mode
RB1 ​​
R3
RB0
A, 24h
P2, A
A, 04h
P2, A
A, P1
Change
Work
; А = А-1010
; Якщо А <1010, то переходимо на Р10
; Підключаємо банк регістрів RB1
; Збільшуємо лічильник резисторів "ПОЗА ДОПУСКУ"
; Підключаємо банк регістрів RB0
; Встановлюємо 1-й і 2-й біти в одиницю
; Команда роботові-покласти резистор в контейнер "позадопуску "
; Пропускаємо інші відхилення
; A = R1
; A = A-5
; Якщо А <5, то переходимо на Р5
; Підключаємо банк РЕГИСТОР RB1
; Збільшуємо лічильник резисторів з відхиленням до 10%
; Підключаємо банк регістрів RB0
; Встановлюємо в одиницю 2-й і 6-й біти
; Команда роботу - покласти резистор в контейнер "10%"
; Пропускаємо відхилення 5%
; Підключаємо банк регістрів RB1
; Збільшуємо лічильник резисторів з відхиленням до 5%
; Підключаємо банк регістрів RB0
; Встановлюємо в одиницю 2-й і 5-й біти
; Команда роботу - покласти резистор в контейнер "10%"
; Встановлюємо в одиницю тільки 2-й біт
; Знімаємо всі активні сигнали з порту Р2
; Читаємо порт Р1
; Нульовий біт встановлений в одиницю-команда зміни еталона.
; Перевіряємо наступний резистор.
070
072
073
075
077
079
07В
07С
07Е
07D
23 травня
3A
26 73
9A 00
8A 04
56 79
09
12 7B
08
83
2
2
2
2
2
2
2
2
2
2
Meas:
W1:
W2:
W3:
MOV
OUTL
JNT0
ANL
ORL
JT1
IN
JB0
INS
RET
|