Умный дом

Три подпрограммы выполнения команд

; Подпрограмма включение реле по номеру. ; Запишем в регистр 30h (установить соответствующий номеру реле бит).

Cmdset: CLRW

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x0 ; Реле 0.

BTFSC STATUS, Z

BSF 0x30, 0

CLRW

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x1 ; Реле 1.

BTFSC STATUS, Z

BSF 0x30, 1

CLRW

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x2 ; Реле 2.

BTFSC STATUS, Z

BSF 0x30, 2

CLRW

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x3 ; Реле 3. BTFSC STATUS, Z

BSF 0x30, 3 CLRW

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x4 ; Реле 4.

BTFSC STATUS, Z

BSF 0x30, 4

CLRW

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x5 ; Реле 5.

BTFSC STATUS, Z

BSF 0x30, 5

CLRW

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x6 ; Реле 6.

BTFSC STATUS, Z

BSF 0x30, 6

CLRW

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x7 ; Реле 7.

BTFSC STATUS, Z

BSF 0x30, 7

RETURN

; Подпрограмма выключения реле по номеру.

; Запишем в регистр 30h (сбросить соответствующий номеру реле бит).

Cmdreset: CLRW

ADDWF 0x23,0

BCF STATUS, Z

XORLW 0x0 ; Реле 0.

BTFSC STATUS, Z

BCF 0x30, 0

CLRW

ADDWF 0x23,0 BCF STATUS, Z XORLW 0x1 ; Реле 1. BTFSC STATUS, Z BCF 0x30, 1

CLRW

ADDWF 0x23,О

BCF STATUS, Z

XORLW 0x2 ; Реле 2.

BTFSC STATUS, Z

BCF 0x30, 2

CLRW

ADDWF 0x23,0

BCF STATUS, Z

XORLW 0x3 ; Реле 3 .

BTFSC STATUS, Z

BCF 0x30, 3

CLRW

ADDWF 0x23,0

BCF STATUS, Z

XORLW 0x4 ; Реле 4.

BTFSC STATUS, Z

BCF 0x30, 4

CLRW

ADDWF 0x23,0

BCF STATUS, Z

XORLW 0x5 ; Реле 5.

BTFSC STATUS, Z

BCF 0x30, 5

CLRW

ADDWF 0x23,0

BCF STATUS, Z

XORLW 0x6 ; Реле 6.

BTFSC STATUS, Z

BCF 0x30, 6

CLRW

ADDWF 0x23,0

BCF STATUS, Z

XORLW 0x7 ; Реле 7.

BTFSC STATUS, Z

BCF 0x30, 7

RETURN

; Подпрограмма передачи статуса реле

Stat: BCF STATUS, RPl ; Выбор банка 0. BCF STATUS, RPO

CLRW ; Проверим реле 0.

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x0 BTFSC STATUS, Z CALL relO CLRW

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x1 BTFSC STATUS, Z CALL rell CLRW

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x2 BTFSC STATUS, Z CALL ГЄІ2 CLRW

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x3 BTFSC STATUS, Z CALL rel3 CLRW

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x4 BTFSC STATUS, Z CALL ГЄІ4 CLRW

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x5 BTFSC STATUS, Z CALL ГЄІ5 CLRW

ADDWF 0x23, 0 BCF STATUS, Z XORLW 0x6 BTFSC STATUS, Z CALL ГЄІ6 CLRW

Реле 0.

Проверим реле 1.

Реле 1.

Проверим реле 2.

Реле 2.

Проверим реле 3.

Реле 3.

Проверим реле 4.

Реле 4.

Проверим реле 5.

Реле 5.

Проверим реле 6.

Реле 6.

Проверим реле 7.

ADDWF 0x23, 0

BCF STATUS, Z

XORLW 0x7 ; Реле 7.

BTFSC STATUS, Z

CALL rel7

; теперь это все отправим в передатчик

BSF PORTB, 0 BCF STATUS, RPl BSF STATUS, RPO BSF TXSTA, TXEN BCF STATUS, RPl BCF STATUS, RPO MOVLW 0x52 MOVWF TXREG ; BCF STATUS, RPl BSF STATUS, RPO

Переключим драйвер RS485 на передачу. ; Выбор банка 1.

; Разрешаем передачу. ; Выбор банка 0.

Отправим символ модуля. ; Выбор банка 1.

OutdatO: BTFSS TXSTA, TXIF ; Ждем отправки символа. GOTO outdatO

BCF STATUS, RPl ; Выбор банка 0.

BCF STATUS, RPO

CLRW

ADDWF 0x21,0

MOVWF TXREG ; Отправим первый символ адреса. BCF STATUS, RPl ; Выбор банка 1. BSF STATUS, RPO

Outdatl: BTFSS TXSTA, TXIF ; Ждем отправки символа. GOTO outdatl

BCF STATUS, RPl ; Выбор банка 0.

BCF STATUS, RPO

CLRW

ADDWF 0x22,0

MOVWF TXREG ; Отправим второй символ адреса.

BCF STATUS, RPl ; Выбор банка 1. BSF STATUS, RPO

Outdat2: BTFSS TXSTA, TXIF ; Ждем отправки символа. GOTO outdat2

BCF STATUS, RPl ; Выбор банка 0. BCF STATUS, RPO MOVLW 0x23

MOVWF TXREG ; Отправим символ статуса. BCF STATUS, RPl ; Выбор банка 1. BSF STATUS, RPO

Outdat3: BTFSS TXSTA, TXIF ; Ждем отправки символа. GOTO ou t da t З

BCF STATUS, RPl ; Выбор банка 0.

BCF STATUS, RPO

CLRW

ADDWF 0x23,0 ADDLW 0x30

MOVWF TXREG ; Отправим символ номера реле. BCF STATUS, RPl ; Выбор банка 1. BSF STATUS, RPO

Outdat4: BTFSS TXSTA, TXIF ; Ждем отправки символа. GOTO outdat4

BCF STATUS, RPl ; Выбор банка 0.

BCF STATUS, RPO

CLRW

ADDWF 0x25,0

MOVWF TXREG ; Отправим символ статуса реле. BCF STATUS, RPl ; Выбор банка 1. BSF STATUS, RPO

Outdat5: BTFSS TXSTA, RCIF ; Ждем отправки символа. GOTO outdat5

BCF TXSTA, TXEN ; Запрещаем передачу. BCF STATUS, RPl ; Выбор банка 0. BCF STATUS, RPO

BCF PORTB, 0 ; Переключим драйвер RS485 на прием. RETURN

; Подпрограмма обработки статуса реле.

RelO: BTFSC 0x30, 0 CALL sostn BTFSS 0x30, 0 CALL sostf RETURN rells BTFSC 0x30, 1 CALL sostn BTFSS 0x30, 1 CALL sostf

RETURN rel2: BTFSC 0x30, CALL sostn BTFSS 0x30, CALL sostf RETURN ГЄІЗ: BTFSC 0x30, CALL sostn BTFSS 0x30, CALL sostf RETURN rel4: BTFSC 0x30, CALL sostn BTFSS 0x30, ■ CALL sostf RETURN rel5: BTFSC 0x30, ! CALL sostn BTFSS 0x30, і CALL sostf RETURN rel6: BTFSC 0x30, і CALL sostn BTFSS 0x30, ( CALL sostf RETURN ГЄІ7: BTFSC 0x30, ; CALL sostn BTFSS 0x30, 1 CALL sostf RETURN

; Подпрограммы образования символов состояний.

Sostn: MOVLW 0x4E ; Состояние - включено. MOVWF 0x25 RETURN

Sostf: MOVLW 0x46 ; Состояние - выключено. MOVWF 0x25 RETURN

Если теперь соединить все представленные части граммы, программирование контроллера завершится.

Вставки и примечания, которые я привел выше, появи­лись позже, при наладке модуля, но я решил привести их «досрочно». Очень часто у меня не хватает терпения дочи­тать что-то до конца, мне не терпится начать работу. Я пред­ставил, что подобной чертой характера могу отличаться не только я, и привел все примечания на случай, если и вы уже начали работу за компьютером. Мне очень не хотелось, что­бы вы полностью разочаровались во всем преждевременно.

Мы написали программу для контроллера. Постараемся ее проверить и отладить в программе MPLAB.

Умный дом

Какие современные технологии позволяют сделать дом энергоэффективным?

Современные технологии для энергоэффективного дома Энергоэффективный дом — это здание, которое потребляет минимальное количество энергии для отопления, охлаждения, освещения и других нужд. Это не только снижает затраты на коммунальные услуги, …

Как рассчитать бюджет на строительство и избежать лишних затрат?

Строительство дома — это масштабный проект, который требует значительных финансовых вложений. Чтобы избежать перерасхода средств и неприятных сюрпризов, важно заранее рассчитать бюджет и тщательно спланировать все этапы строительства. В этой …

Какой фундамент лучше для частного дома: ленточный, свайный или плитный?

Выбор фундамента для частного дома – один из ключевых этапов строительства, который влияет на долговечность и устойчивость здания. Основные виды фундаментов – ленточный, свайный и плитный – имеют свои преимущества …

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Партнеры МСД

Контакты для заказов оборудования:

Внимание! На этом сайте большинство материалов - техническая литература в помощь предпринимателю. Так же большинство производственного оборудования сегодня не актуально. Уточнить можно по почте: Эл. почта: msd@msd.com.ua

+38 050 512 1194 Александр
- телефон для консультаций и заказов спец.оборудования, дробилок, уловителей, дражираторов, гереторных насосов и инженерных решений.