Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Устройства ультрафиолетового стирания 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 [ 62 ] 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

level nfb

0x10

CLRF

PCLATH

ADDWF

PCL, F

.255

.212, .176,

.33, .26,

; Таблица уставок уровня

; К 10 (20дБ) .147, .123, .103, .86, .72, .60, .50, .41 .20, .15, .11, .8, .6, .4, .2, .1 ;К = 0,29 (-ЮдБ)

; Инициализация системы

Start

STATUS, RPO

Банк 1.

movlw

BOOOOOlll

movwf

ADCONl

Отключить аналоговые входы.

movlw

BOOOOOOOl

Установить порт А:

movwf

TRISA

0 - аналоговый, 1,2,3,4 - выходы.

movlw

Bliiioool

Установить порт В:

movwf

TRISB

1...3-выходы, 0,4...7 - входы.

movlw

BOOOOOOOO

Установить порт С:

movwf

TRISC

0 ... 7 - выходы.

STATUS, RPO

movlw

Bllllllll

Значение для порта А.

movwf

PORTA

movlw

BliiiiiiO

Значение для порта В.

movwf

PORTB

movlw

BloiiiiiO

Значение для порта С.

movwf

PORTC

movlw

Blioioioi-

Установка регистра индикации.

movwf

call

InitialSSP

Инициализация последовательного порта

call

InitialTMRO

Инициализация таймера 0.

call

InitialAD

Инициализация АЦП.

clrf

ADRES

clrf

power

ADCONO, GO DONE

Пуск АЦП.

sleep

Режим останова.

call

StopAD

Отключить аналоговый вход.

movlw

Среднее положение регулятора уровня

movwf

gain l

К - 1 (ОдБ).

movwf

gain 2

call

level nfb

Получить уставку уровня.

movwf

TEMPO

movlw

a vol

Установить адрес регулятора уровня.

movwf

TEMPI

SSPCON, SSPEN

Включить последовательный порт.

PORTC, vol 1

обращение к регуляторам двух каналов.

PORTC,vol 2

call

prog reg

Запись в регуляторы уровня.

PORTC,vol 1

PORTC,vol 2

SSPCON, SSPEN

Отключить последовательный порт.

movlw

Установить Мах полосу ФНЧ

movwf

band 1

movwf

band 2

movwf

TEMPO

movlw

a flp

Установить адрес регулятора ФНЧ.

movwf

TEMPI

SSPCON, SSPEN

Включить последовательный порт.

PORTC, vol 1

Обращение к регуляторам двух каналов.

PORTC, vol 2

call

prog reg

Запись в регуляторы ФНЧ.

PORTC,vol 1

PORTC, vol 2



SSPCON, SSPEN

Loop2

Loop3

call tst power call ind on clrf TMRO bcfINTCON,TOIF

btfss goto clrf bcf

btfss goto

INTCON,TOIF

Loop2

TMRO

INTCON, TOIF

INTCON, TOIF ЬоорЗ

; Отключить последовательный порт.

; Контроль уровня напряжения питания.

; Включить индикацию на 2,6 с.

; Установить TMRO Tmax = 1.3 с.

; Включить таймер.

; Ожидание конца счета таймера.

; Установить TMRO Tmax = 1.3 С

; Включить таймер.

; Ожидание конца счета таймера.

Основной цикл программы.

Вызывается прерыванием по изменению состояния порта В. Выполняется сканирование клавиатуры и обработка нажатой кнопки.

*********

****************

talcturn

Loops3

Loops2

call

call bsf sleep call

movlw

iorwf

movlw

movwf

call call

btfss goto

movf movwf bsf bcf

movlw movwf bcf

btfss goto btfss goto

btfss goto

movf movwf bsf bcf

movlw movwf bcf

btfss

goto

btfss

ind off

InitialAD ADCONO, GO DONE

StopAD

mask stl PORTB, F PORTB, Stl3 Oxff - nskan TMRO

INTCON, TOIF

tst power ind on

INTCON, TOIF Loops3

PORTB, W TEMPO

PORTB, Stl3

PORTB, Stl2

Oxff - nskan TMRO

INTCON, TOIF

TEMPO, Strl konrol TEMPO, str2 out l

INTCON,TOIF Loops2

PORTB, W TEMPO

PORTB, Stl2

PORTB, stll

Oxff - nskan TMRO

INTCON,TOIF

TEMPO, strO dec inl TEMPO, strl

; Отключить индикацию.

; Подключить аналоговый вхоД.

; Пуск АЦП.

; Режим останова.

; Отключить аналоговый вход.

; Сканирование клавиатуры

; Установить на столбцах клавиатуры

; не активный уровень (все единицы).

; Активизировать столбец 3.

; Установить TMRO t = 20 mC

; время сканирования клавиатуры.

; Запустить таймер.

; Контроль уровня напряжения питания,

; Включить индикацию.

; Ожидание конца счета таймера.

; Считать состояние кнопок столбца 3.

; Активизировать столбец 2.

; Установить TMRO t = 20 mC.

; Запустить таймер.

; Контроль состояния кнопок столбца 3.

; Строка 1 активна?

; Да, нажата кнопка КОНТРОЛЬ .

; Строка 2 активна?

; Да, нажата кнопка ВЫХ.1 .

; Ожидание конца счета таймера.

; Считать состояние кнопок столбца 2.

; Активизировать столбец 1.

; Установить TMRO t = 20 mC.

; Запустить таймер.

; Контроль состояния кнопок столбца 2.

; Строка О активна?

; Да, нажата кнопка - ВХ.1 .

; Строка 1 активна?



Loops 1

goto

dec flp

; Да, нажата кнопка > ФНЧ .

btfss

TEMPO, str2

; Строка 2 активна?

goto

out 2

; Да, нажата кнопка ВЫХ.2 .

btfss

TEMPO, str3

; Строка 3 активна?

goto

inc inl

; Да, нажата кнопка + ВХ.1 .

btfss

INTCON,TOIF

; Ожидание конца счета таймера.

goto

Loopsl

movf

PORTB, W

,* Считать состояние кнопок столбца 1.

movwf

TEMPO

; Контроль состояния кнопок столбца 1.

btfss

TEMPO, strO

; Строка 0 активна?

goto

dec in2

; Да, нажата кнопка * - BX.2 **.

btfss

TEMPO, strl

; Строка 1 активна?

goto

inc flp

; Да, нажата кнопка < ФНЧ *.

btfss

TEMPO, str2

; Строка 2 активна?

goto

stereo

; Да, нажата кнопка СТЕРЕО .

btfss

TEMPO, str3

; Строка 3 активна?

goto

inc in2

; Да, нажата кнопка + ВХ.2 .

; Ни одна кнопка не нажата, отпускание кнопки.

btfsc

ind, i post

; Если напряжение < 9,8 В

call

indoff

; отключить индикацию.

konrol

; Обработка кнопки КОНТРОЛЬ

movlw

mask stl

; Активизировать всю клавиатуру.

movwf

TEMPO

; установить на всех столбцах 0.

comf

TEMPO, W

andwf

PORTB, F

movf

PORTB, W

; Зафиксировать текущее состояние порта В

movlw

ВЧ0001000

; Разрешить прерывания от изменения

movwf

INTCON

; состояния порта В.

sleep

; Режим останова.

goto

talcturn

; Пробуждение и переход на начало цикла.

Lnc inl

/Увеличить коэффициент передачи левого канала ( +ВХ.1 ).

btfsc

ind, i ol

; Левый канал активен ?

goto

konrol

; Нет, ошибка оператора, конец обработки.

movf

gain 1, W

sublw

btfsc

STATUS, Z

; Регулятор уровня в max положении?

goto

konrol

; Да, конец обработки.

incf

gain 1, F

; Нет, увеличить уровень.

movf

gain l, W

call

level nfb

; Получить уставку уровня.

movwf

TEMPO

movlw

a vol

; Установить адрес регулятора уровня.

movwf

TEMPI

SSPCON, SSPEN

; Включить последовательный порт.

PORTC,Vol l

; Обращение к регулятору левого канала.

call

prog reg

; Запись в регулятор уровня.

PORTC,vol 1

SSPCON, SSPEN

; Отключить последовательный порт.

goto

auto poft

; Разрешить автоповтор нажатой кнопки.

decinl .-Уменьшить коэффициент передачи левого канала ( -ВХ.1 ).

btfsc ind, i ol ; Левый канал активен ?

goto konrol ; Нет, ошибка оператора, конец обработки.

movlw

subwf

btfsc

goto

decf

gain l, W

STATUS, Z konrol

gain l, F

; Регулятор уровня в min положении?

; Да, конец обработки. ; Нет, уменьшить уровень.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 [ 62 ] 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.