Звоните! 
 (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

ISRW ; Стек W.

endc

DELI equ 0xf9 ; значение задержки устранения дребезга кнопок.

AVOUT equ 0x89 ; значение адреса канала Vojr.

AVUNREG equ 0x99 ; значение адреса канала V-jk.sg.

. *******************************,********************♦***♦*************

; * Вектор Сброса

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

org 0x00

goto Mai-n

; Вектор сброса,

; начало программы.

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

*******

* Подпрограмма обработки прерываний,

* счет прерываний постделителя таймера 2 *

* Входные переменные ; T2P0ST.

* Выходные переменные: T2P0ST.

org 0x04 movwf ISRW

swapf movwf

bcf incf

swapf movwf swapf swapf

retfie

STATUS, W ISRS

PIRI, TMR2IF T2P0ST, F

ISRS, W STATUS ISRW, F ISRW, W

; Сохранить W.

; Получить состояние.

; Сохранить состояние.

; Очистить флажок запроса прерывания.

; Увеличить счетчик прерываний.

; Восстановить состояние.

; Восстановить W.

; Возврат из прерывания.

*************************4

Начало, инициализация микроконтроллера ******************************************

Main

; A/D

; ШИМ

bcf bsf

movlw movwf

movlw movwf

STATUS, RPl STATUS, RPO

0x04 ADCONl

Ox2f TRISA

movlw OxFF movwf TRISC bcf TRISC, 2 ; Установить RC2 выход ШИМ.

Установить банк 1.

RAO,1,3 аналоговые, RA2,5 цифровые, V f = Vdd.

RAO - 3 входы; RA4 выход. Установить PORTC, все входы.

movlw movwf

; ТАЙМЕР 2

PIEl, TMR2IE

; ИНДИКАЦИЯ

clrf

TRISB bcf STATUS, RPO

movlw movwf

bcf bcf clrf

movlw movwf

AVOUT ADCONO

CCPICON, 4 CCPICON, 5 CCPRIL

0x04 T2C0N

; Период ШИМ = 39.063 кГц ; (8 разрядное разрешение).

; Включить прерывания таймера 2.

; Установить PORTB, все выходы.

; Банк 0.

; Установить тактирование A/D {Fosc/32),

; выбрать RA1 (ANl), включить A/D.

; Очистить регистр ширины импульса (выключить PWM).

; Включить таймер 2, установить

; предделитель = 1:1, постделитель

1:1.



; Установить ССР1 в режим ШИМ.

movlw OxOC movwf CCPICON ***************************

; * Рестарт.

; * Очистка памяти, инициализация индикации для исходного напряжения ; выхода ЗВ, очистка счетчиков антидребеэга, разрешить прерывания.

; ♦ Выходные переменные: SETPOINT, DNCL, DNCH, UPCL, UPCH.

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

Restart

ClrMem

movlw

0x20

; Очистка памяти 0x20 - Gx3f.

movwf

clrf

INDF

incf

FSR, F

btfss

FSR, 6

goto

ClrMem

movlw

0x01

; Индикация 3.0 В.

movwf

PORTB

movlw

Ox4d

; Начальная установка

movwf

SETPOINT

; Напряжения выхода ЗВ.

clrf DNCL

; Очистка счетчиков, антидребезга.

clrf UPCL

movlw

DELI

movwf

DNCH

movwf

UPCH

INTCON, PEIE

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

INTCON, GIE

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

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

* Начало основного цикла.

* Ожидание 8 прерываний таймера 2, A/D преобразовывает VOUT. *

* Входные переменные : T2P0ST.

* Выходные переменные: VOUT. ***************************************************************

Again

btfss

T2P0ST,

; Ожидание 8 прерываний таймера 2.

goto

Again

clrf

T2P0ST

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

ADCONO,

GO DONE;

Пуск A/D преобразования.

btfsc

ADCONO,

GO DONE;

Ожидание конца преобразования.

goto

movf

ADRES,

; Получить результат преобразования

movwf

VOUT

; Сохранить результат.

movlw

AVUNREG

; Выбрать канал V-jkig

movwf

ADCONO

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

* Вычисление ошибки выходного напряжения: ЕОН:ЕО = SETPOINT - VOUT. *

* Входные переменные : SETPOINT.

* Выходные переменные: еОН;еО.

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

FERR

clrf

; Очистить старший байт ошибки.

movf

VOUT, W ;

; Вычислить ошибку выходного напряжения

subwf

SETPOINT, W

; f-w = d.

movwf

; Сохранить новую ошибку.

btfss

STATUS, С

; Результат отрицательный?

comf

EOH, F

; Да, распространить знак.



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

* Пропорциональный элемент: PROH;PRO

Входные переменные : ЕОН:Е0, КР.

* Выходные переменные: PROH:PRO.

ЕОН:Е0 КР (КР

В) .

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

movf movwf movf movwf

bcf rlf rlf bcf rlf rlf bcf rlf rlf

EO, W TEMPA EOH, W TEMPB

STATUS, С TEMPA, F TEMPB, F STATUS, С TEMPA, F TEMPB, F STATUS, С TEMPA, F TEMPB, F

PppD

; Загрузить EO во временный регистр.

; EO умножить на 2.

; ЕО умножить на 2.

; ЕО умножить на 2.

; Сохранить результат.

movf TEMPA, W movwf PRO movf TEMPB, W movwf PROH

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

* Дифференциальный элемент: DIFH:DIF (E1H:E1 - EOH:EO) * KD (KD = 8).

* Входные Переменные : E1H:E1, EOH:EO, KD.

* Выходные переменные: DIFH:DIF.

DifCom

movf

EIH, W

; Вычислить приращение выходного

subwf

EOH, W

напряжения.

movwf

DIFH

; Сохраните старший байт.

movf

El, W

subwf

EO, W

movwf

; Сохраните младший байт.

btfss

STATUS,

; Результат отрицательный?

decf

H, F

; Да, скорректировать старший байт

STATUS,

; Умножить на 2.

DIF, F

DIFH, F

STATUS,

; Умножить на 2.

DIF, F

DIFH, F

STATUS,

; Умножить на 2.

DIF, F

DIFH, F

* Интегральный элемент: INTH:INT * INTH:INT + ЕОН:Е0 * KI (KI = 8).

Входные переменные : ЕОН:ЕО, INTH:INT, KI.

* Выходные переменные: DIFH:DIF.

IntCom

movf

EOH, W

movwf

TEMPB

movf

EO, W

movwf

TEMPA

STATUS,

TEMPA,

TEMPB,

STATUS,

TEMPA,

Загрузить ошибку во временный регистр.

Умножить ошибку перед добавлением к интегралу.



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 
Продажа и изготовление мебели.


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