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

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

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

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

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

Org Goto

0x000 start

; Переход к программе.

***********

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

********

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

Эта подпрограмма прерывания вызывается при переполнении TMRO (переход из OxFF в 0x00. Контролем уровня на контакте RB1 определяется устанавливаемый уровень и значение низкого или высокого уровня, загружаемого в TMRO (значение OUTLOW или OUTHIGH).

Подпрограмма прерывания разработана, чтобы минимизировать число команд и обеспечить максимальный диапазон ширины импульса от 5 до 95%. ************************************************************

0x004 ; Адрес вектора прерывания.

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

IntVector

PWMHIGH

IntEndHi

Movwf Btfsc Goto

Swapf

Movwf

Swapf

Swapf

PWMLOW

IntEndLo

Retfie

Swapf

Movwf

Swapf

Swapf

Retfie

TEMPW PORTB, PWM PWMLOW

OUTHIGH, W PORTB, PWM

TMRO

INTCON, TOIF TEMPW, F TEMPW, W

PORTB, PWM OUTLOW, W TMRO

INTCON, TOIF TEMPW, F TEMPW, W

Переслать W в стек. Уровень на контакте низкий? Нет, установить низкий уровень.

Да, загрузить значение для TMRO.

Задержка, для выравнивания ветвей. Загрузите время в TMRO.. Сбросить флажок прерывания TMRO. Восстановить W, не изменяя флажки.

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

Установить высокий уровень. Загрузить значение для TMRO. Загрузите время в TMRO. Сбросить флажок прерывания TMRO. Восстановить W, не изменяя флажки.

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

*********

Основная программа ***************************

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

StepLoop

Clrf

STATUS

STATUS, RPO

Movlw

0x88

Movwf

OPTION REG

Movlw

OxFF

Movwf

TRISA

Clrf

TRISB

STATUS, RPO

Movwf

PORTB

Clrf

TMRO

Movlw

OxAO

Movwf

INTCON

Movlw

STEP#

Movwf

STEPCOUNT

call

Delay

Movf

STEPCOUNT, W

call

SineTable

call

SetPWM

Decfsz

STEPCOUNT, F

Goto

StepLoop

Goto

ResetStep

Очистить регистр состояния. Банк 1.

Предделитель TMRO 1:1, PORTB закрыт.

Установить порт А все входы. Установить порт В все выходы. Банк 0.

Установить высокий уровень на PORTB. Инициализировать TMRG.

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

Загрузить счетчик для 32 шагов.

Программная задержка. Смещение значения в таблице. Получить значение из таблицы. Установка параметров ШИМ Выполнить шаг.



*********

Подпрограмма установки параметров ШИМ. Вычисляются значения времени для низкого и высокого уровня ШИМ и сохраняются в переменных OUTLOW и OUTHIGH.

********

INTCON, GIE

; Запретить прерывания.

Movwf

OUTLOW

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

Comf

OUTLOW, W

; Получить время высокого уровня.

Addlw

IntEndHi-IntVector ; Скорректировать его

; на время выполнения программы.

Movwf

OUTHIGH

/Сохранить значение высокого уровня.

Movf

OUTLOW, W

Addlw

IntEndHi-IntVector ; Скорректировать значение низкого

; уровня на время выполнения программы.

Movwf

OUTLOW

, Сохранить значение низкого уровня.

Swapf

OUTLOW, F

; Поменять полубайты значений для

Swapf

OUTHIGH, F

; загрузки без изменения флажков.

INTCON, GIE

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

return

Таблица значений для одного периода синуса. 32 значения для формирования выходного напряжения от 0.1 до 0.9 Vdd (0.5 - 4.5 вольт) функции синуса.

SineTable

Addwf

PCL,

; Приращение в таблице.

Retlw .0

; Фиктивное значение

таблицы

.128

; 0° (2.5 вольт)

.148,

.167,

.185, .200, .213, .222,

.228

.230

; 90° (4.5 вольт)

.228,

.222,

.213, .200, .185, .167,

.148

.128

; 180° (2.5 вольт)

.108,

.89,

.71, .56, .43, .34,

; 270° (0.5 вольт)

.28,

.34,

.43, .56, .71, .89,

.108

**********

********

Подпрограмма задержки.

Задержка используется для обеспечения точности каждого шага. 32 шага позволяют формировать частоту 60 Гц.

Примечание: константы выбраны так, чтобы можно было легко изменить

частоту(например: для частоты 50 Гц FSINE = .50). *********************************************************************

TDELAY EQU FINST/FSTEP ;Число циклов задержки.

ADJTDELAY EQU TDELAY/3 - 55 ;Коррекция на время выполнения программы.

TDELAYHI EQU high ADJTDELAY Старший байт TDELAY.

TDELAYLO EQU low ADJTDELAY .-Младший байт TDELAY.

Delay

LoopDl

LoopD2

Movlw

TDELAYHI

Movwf

DELAyCNT2

Загрузить старший байт счетчика.

Clrf

DELAYCNTl

Decfsz

DELAYCNTl,

Выполнить 256 циклов.

Goto

LoopDl

Decfsz

DELAYCNT2,

Скорректировать старший байт.

Goto

LoopDl

Movlw

TDELAYLO

Movwf

DELAYCNTl

Загрузить младший байт счетчика.

Decfsz

DELAYCNTl,

Goto

LoopD2

return

**********

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

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

Конец программы.



17.4.4 СХЕМА С ИСПОЛЬЗОВАНИЕМ МАТРИЦЫ R-2R

Существует много цифро-аналоговых преобразователей с внутренней матрицей резисторов, управляемых выходами цифрового устройства. В таких схемах резисторы соединены в многозвенную цепь, резисторы одного номинала соединены в последовательную цепь, а выходы цифрового устройства подключены к ней через резисторы двукратного номинала. На рис. 17-10 представлена схема с матрицей R - 2R.

V ! О

1117

1й<

О

-t.l - 1/

ШСК1

0SC1

MCLH

0SC2

vco 9

PIC16C71

Ы1 ii>ct <*4*<K ;м1ов111ок

117 -W-

ja> m

?0k Rll

1113 -VA-

l<2 I0<

l(J

RB I0<

Rfl 10.

io<

0<

n-i го<

Рис. 17-10 Схема многозвенной матрицы R-2R

1 Аналоговый

выход

Изготовление ЦАП с матрицей R-2R недорогое, фирма BI Technologies поставляет матрицы R-2R для 8 и 10 разрядных схем. 8 разрядные матрицы R - 2R могут быть созданы с использованием дискретных резисторов. Матрицы R-2R при любом способе изготовления имеют низкие EMI излучения и небольшие высокочастотные гармоники и в большинстве устройств не требуют низкочастотных фильтров.



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


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