; 1. ПУСК.
;==================0INIT4
GOTO CONST
;==================
; 2. ИНИЦИАЛИЗАЦИЯ.
;==================STATUS,RP0 ;ПЕРЕХОДИМ В БАНК 1.B'01000100' ;ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ ПОДКЛЮЧЕНЫ, К=32 .100.OPTION_REG^80H ;B'10110000' ;РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ = ПРИ ИЗМЕНЕНИИ СИГНАЛА ПОРТВ, В0.INTCON ;B'00000000' ;ВСЕ - НА ВЫХОД.TRISA^80HB'00000001' ; RB1-RB7-НА ВЫХОД, RB0-ВХОД.TRISB^80HSTATUS,RP0 ;ПЕРЕХОДИМ В БАНК 0.TMR0 ;ВСЕ ОБНУЛЯЕМ И УСТАНАВЛИВАЕМ
CLRF SC0SC1SC00SC11COU3COU
CLRF SEGZS0 ;ИДЕМ НА ИНДИКАЦИЮ.
;========================================
; 3. ТАБЛИЦА СЕГМЕНТОВ ДЛЯ ОБЩЕГО КАТОДА.
;========================================; 7, 6, 5, 4, 3, 2, 1, 0.PCL,F ; G, F, E, D, C, B, A, IN.
; ОБЩИЙ: КАТОД АНОД
RETLW B'01111110' ; B'1000000' 0
RETLW B'00001100' ; B'1111001' 1B'10110110' ; B'0100100' 2B'10011110' ; B'0110000' 3B'11001100' ; B'0011001' 4B'11011010' ; B'0010010' 5B'11111010' ; B'0000010' 6B'00001110' ; B'1111000' 7B'11111110' ; B'0000000' 8B'11011110' ; B'0010000' 9
;==============================================
; 4. ПП. ИНДИКАЦИИ.
;==============================================ANOD ;ОБНУЛЯЕМ РЕГИСТР АНОДА.ANOD,1SC00 ;ПЕРЕПИШЕМ ЗНАЧЕНИЕ НУЛЕВОГО РАЗРЯДА ИНДИКАЦИИINDZIKL ;И ПОЙДЕМ НА ИНДИКАЦИЮ.MC4 ;ВЫДЕРЖКА 5 МС.ANODANOD,0SC11 ;ИНДИЦИРУЕМ АНАЛОГИЧНО НУЛЕВОМУ.
CALL INDZIKL ;MC4 ;ВЫДЕРЖКА 5 МС.
GOTO ZS0 ;НАЧНЕМ СНАЧАЛА.SEGDATA ;ОПРЕДЕЛИМ ЗНАЧЕНИЯ СЕГМЕНТОВ.PORTB ;В ВЫХОДНОЙ РЕГИСТР ПОРТА B ПЕРЕПИШЕМ ЗНАЧЕНИЯ СЕГМЕНТОВ.ANOD ;ЗАГРУЖАЕМ НОМЕР КАТОДАPORTA ;В ПОРТ А.COU3.200 ;ЗАДЕРЖКА НА ИНДИКАЦИЮ 5 МС.COU3COU3,1 ;ВЫЧИТАЕМ 1 ДО НУЛЯ.;ЕСЛИ РАВНО НУЛЮ,;ВОЗВРАЩАЕМСЯ.
MOVLW .5 ;5х200-01HMC1
GOTO MC2 ;ЗАЦИКЛИВАЕМСЯ ДО ОБНУЛЕНИЯ РЕГИСТРА.
;===================================
; 5. ПЕРЕЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.
;===================================COU,1.80 ;ЕСЛИ УЖЕ 1 СЕКУНДА,COU,0 ;4 х 0,25,
SKPZ ;COUSC0SC00SC1SC11SC0SC1
;==================================================================
; 6. СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ ПРИ ПРЕРЫВАНИИ.
;===================================================================W_TEMP ;СОХРАНЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ W И
MOVFW STATUS ;STATUS,STATUS_TEMP ;FSR ;FSR.FSR_TEMP ;INTCON,1S01 ;ПРИБАВИМ 1 В СЧЕТЧИК.
CALL SEC;ВОССТАНОВЛЕНИЕ СОХРАНЕННЫХ ЗНАЧЕНИЙ.INTCON,2 ;СБРОСИМ ФЛАГ ПО ПЕРЕПОЛНЕНИЮ ТАЙМЕРА.INTCON,1 ;СБРОСИМ ФЛАГ ПРЕРЫВАНИЯ ПО ВХОДУ RВ0.STATUS_TEMP ;ВОССТАНОВЛЕНИЕ РЕГИСТРОВ:
MOVWF STATUS ;STATUS,FSR_TEMP ;
MOVWF FSR ;FSR,.120 ;ДЛЯ СИНХРОНИЗАЦИИ УСТАНОВИМ ТАЙМЕР ОДИНАКОВОTMR0 ;С ПЕРЕДАТЧИКОМ.W_TEMP ;W.;ВОЗВРАТ ИЗ ПРЕРЫВАНИЯ.
;=================
; 7. СЧЕТ.
;=================TMR0 ;ОБНУЛЯЕМ ПРИ КАЖДОМ ИМПУЛЬСЕ 9 ;ЕСЛИ УЖЕ 9,SC0,0S10 ;ИДЕМ НА СРАВНЕНИЕ ДЕСЯТКОВ.SC0,1 ;ИНАЧЕ ПРИБАВИМ ЕДИНИЦУ.
GOTO RECONSTSC0.9 ;ЕСЛИ УЖЕ 9, SC1,0SOO ;ИДЕМ НА ОБНУЛЕНИЕ.SC1,1 ;ИНАЧЕ ПРИБАВИМ ЕДИНИЦУ.
GOTO RECONSTSC0SC1RECONST
;=============================================
;==============================================
Расчет параметров четырехполюсника
Системы
автоматики, телемеханики и связи на железнодорожном транспорте представляют
собой технические средства управления перевозочным процессом, способству ...
Обзор современных систем спутниковой навигации
спутниковая навигационная глобальное позиционирование
На
сегодняшний день в мире существует несколько навигационных систем, использующих
искусственные спутни ...
Устройство оперативной памяти статического типа емкостью 12 Кб для микропроцессора Intel 8080
Одним
из ведущих направлений развития современной микроэлектронной элементной базы
являются большие интегральные микросхемы памяти, которые служат основой д ...