Умный дом

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

; Подпрограмма включение реле по номеру. ; Запишем в регистр 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.

Умный дом

Способы строительства частных домов

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

Как построить современный умный дом?

Современные технологии позволяют людям построить умный дом, который может автоматически реагировать на изменения в окружающей среде, предоставляя максимальное комфортное проживание. Процесс построения такого дома начинается с проектирования и планирования. Важно …

5 советов, как правильно обустроить домашний офис

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

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

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

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

Партнеры МСД

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

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

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