і
АВТОМАТИКА
goto
AXIDisp
; 1.234 Н
return
SP
call
DispSP
CursorHome
movlw
0x02
; Дисплей в исходное
Units
btfsc
LX
:
состояние
goto
DispCap
goto
LongSend
movf
LP, W
ClrDSP
movlw
1
; Очистка дисплея
call
CharLCD
,* Вывод префикса и, ш или
LongSend
call
CmdLCD
; пусто
goto
DLY5
movlw
•H*
call
CharLCD
DispDot
movlw
goto
CharLCD
call
DispSP
DispO
movlw
"0”
btfsc
Flags, 6
; В режиме дв. калибровки
goto
CharLCD
return
; выход вдесь,
DispSP
movlw
" "
goto
Meter
; а в обычном здесь
goto
CharLCD
DispCap
movf
CP, W
;
Префикс для ёмкости
;
Измерение частоты со входа ИА4 с периодом измерения в 0,2
call
CharLCD
1
секунду
Measure
clrf
TimerH
btfsc
Flags, 6
Выход после индикации
clrf
TimerHH
goto
Meter
; "паразитной" ёмкости
clrf
INTCON
катушки
clrf
TMR0
movlw
,F .
movlw
.41
; Пауза для 0,2 сек
call
CharLCD
btf ss
_FX
call
DispSP
movlw
.206
; Паува для 1 сек
movwf
Count2
goto
Meter
bsf
STATUS, RP0
; Начало измерения
5
Вывод анака и подготовка к выводу следующего
movlw
b'00010010*
DispBCD
movwf
FSR
movwf
TRIE A
NextNxbble
swapf
INDF,F
bcf
STATUS, RP0
movf
INDF.W
call
NumLCD
Pause2
movlw
.22
return
movwf
Countl
Pausel
call
Provtmr
; Проверка счетчика на
Digiti
movlw
BCD1
; Разряд 1
; переполнение
goto
DispBCD
call
DLY200
Digit2
EQU
Digit1
; Равряд 2
decfsz Countl, F
goto
Pausel
Digxt3
movlw
BCDD
; Разряд 3
nop
goto
DispBCD
decfsz Count2, F
Digits
EQU
Digit3
; Равряд 4
goto
Pause2
Подпрограммы nays
movlw
.60
; 0.2 сек
DLY5
movlw
7
; 5 миллисекунд
btfss
FX
goto
Delay
movlw
.170
; 1 сек
DLY200
movlw
0x3F
; 200 микросекунд
movwf
Countl
movwf
T1
; 9+(ЗТ1+2)Т2 min step 5
movlw
1
Pause3
call
Provtmr
; Проверка счетчика на
goto
Delay2
; переполнение
Delay
clrf
T1
goto
?+l
Delay2
movwf
TO
call
Provtmr
DelayL
decfsz Tl, F
decfsz Countl, F
goto
DelayL
goto
Pause3
decfsz TO, F
goto
DelayL
bsf
STATUS, RP0
return
movlw
b'00000010*
; ИА4-вход
movwf
TRISA
;
0,5 секунд
bcf
STATUS, RP0
Delay05sec
movlw
0x02
DelayXsec
movwf
T2
call
Provtmr
; Последняя проверка
TD1
movlw
OxFF
; счетчика на переполнение
call
Delay
decfsz T2, F
;
Анализ содержимого предварительного делителя
goto
TD1
movf
TMR0, w
; Пересылка данных
return
movwf
TimerM
; счетчика в TimerM
clrf
TimerL
;
Перевод указателя на втору» строку
CharS
movlw
0x66
Cont
bsf
STATUS, RP0
bsf
OPTION_REG, TOSE
; Досчёт
;
Загрузка команды
nop
CmdLCD
movwf
Temp4
bcf
OPTION__REG, TOSE
bcf
_RS
bcf
STATUS, RP0
goto
SendLCD
decf
TimerL, F
;
Перекодировка в ASCII и вывод
movf
TMR0, W
NumLCD
andlw
0x0 F
; маска
xorwf
TimerM, W
iorlw
0x30
; ASCII
btfsc
STATUS, Z
;
Вывод ASCII символа
goto
Cont
CharLCD
movwf
Temp 4
bef
_RS
movlw
TimerHH
; Копирование измеренного
SendLCD
swapf
Temp4, N
call
Copy_To_A
; значения в блок А
andlw
0x0 F
movwf
PORTB
bcf
Flags, 5
; Установка флага
bsf
_E
movlw
OxFO
; если измеренное аначение
bcf
_E
andwf
TimerL, W
; менее ВО Гц, т.е.
movf
Temp4, W
; индуктивность
andlw
0x0 F
iorwf
TimerM, W
; не подключена
movwf
PORTB
iorwf
TimerH, W
Send
bsf
JS
btfsc
STATUS, Z
bcf
_E
bsf
Flags, 5
*.
clrf
PORTB
call
DLY200
btfss
_FX
; Выход адесь в
\
21
І
Радиолюбитель - 03/2005 |
предыдущая страница 22 Радиолюбитель 2005-03 читать онлайн следующая страница 24 Радиолюбитель 2005-03 читать онлайн Домой Выключить/включить текст