Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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: 360; Нарушение авторских прав |