Разделы сайта

Практическая составляющая

; 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

;=============================================

;==============================================

Перейти на страницу: 3 4 5 6 7 8 

Интересное из раздела

Анализ и синтез линейной системы автоматического управления
Анализ системы автоматического управления Исходные данные: Рассмотрим структурную схему III изображенную в табл. П-1.1. Параметры ...

Расчет токовой защиты нулевой последовательности
Задание и исходные данные Произвести расчет дистанционной защиты линии и начертить карту селективности дистанционных защит. Исходные данные: ...

Программируемый генератор сигналов
Современное состояние и перспективы развития многих отраслей техники, в том числе и радиоэлектроники, во многом определяются широким проникновением средств ...