Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Описание программы реализации работы станции в режиме УЛС





 

Программа работы станции в режиме УЛС состоит из двух подпрограмм. Из подпрограммы инициирующей и приемной сторон.

Подпрограмма инициирующей стороны выглядит следующим образом:

 

BSF STATUS, RPO (переключение в банк1)

CLRF TRIS B (настройка портов для приема UA и DM)

MOVLW 0XFF

MOVWF TRIS A (настройка портов для передачи SABM)

CLRF TRIS C (настройка порта для таймера)

BCF STATUS, RPO (переключение в банк0)

MOVLW 00000001B (счетчик попыток)

MOVWF 0X30

MOVLW 00001111B

MOVWF 0X31 (номер последней попытки)

MOVLW XXXXXXXXB

MOVWF 0X32 (максимальное время ожидания)

MOVLW 10101010B

MOVWF 0X33 (значение UA)

MOVLW 01010101B

MOVWF 0X34 (значение DM)

MOVLW 11110000B

MOVWF 0X35 (код команды SABM)

M1:

MOVF 0X35, 0

MOVWF RA (передача SABM)

MOVLW 00000001B

MOVWF RC

M2:

MOVF RB, 0

MOVWF 0X37 (прием UA или DM)

XORWF 0X33, 0

BTFSC Z, 1 (проверка на совпадение UA)

GOTO M3

MOVF 0X37, 0 (проверка на совпадение DM)

XORWF 0X34, 0

BTFSC Z, 1

GOTO M4

MOVF TMR0, 0

SUBWF 0X32, 0 (проверка с максимальным временем ожидания)

MOVWF 0X36

BTFSS 0X36, 0

GOTO M2

INCF 0X30, 1 (увеличиваем счетчик попыток)

MOVF 0X30, 0

SUBWF 0X31, 0

MOVWF 0X36

BTFSS 0X36, 0 (проверка с номером последней попытки)

GOTO M1

MOVLW 00000000B (сообщение о невозможности соединения)

MOVWF RA

GOTO M5

M3:

MOVWF 0x43 (обнуление V(S) и V(R))

M4:

CLRF TMR0 (сброс таймера)

CALL YRR (установление режима соединения)

M5:

SLEEP


Подпрограмма приемной стороны выглядит следующим образом:

 

BSF STATUS, RPO (переключение в банк1)

CLRF TRIS B (настройка портов для приема SABM)

MOVLW 0xFF

MOVWF TRIS A (настройка портов для передачи UA и DM)

BCF STATUS, RPO (переключение в банк0)

MOVLW 11110000B

MOVWF 0x40 (код команды SABM)

MOVLW 10101010B

MOVWF 0x41 (значение UA)

MOVLW 01010101B

MOVWF 0x42 (значение DM)

M1:

MOVF RB,0 (прием)

XORWF 0x40,0 (SABM?)

BTFSC Z,1 (получен SABM)

GOTO M1

M2:

MOVF RD,0 (чтение бита возможности установки соединения)

BTFS W,0 (проверка возможности установки соединения, 1 - да)

GOTO M3

MOVF 0x41 (передача UA)

MOVLW 00000000B

MOVWF 0x43 (обнуление V(S) и V(R))

GOTO M4

M3:

MOVF 0x42 (передача DM)

M4:

SLEEP


Date: 2015-12-13; view: 313; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию