Додаток призначений для передачі керуючих команд на МК

Автор: Пользователь скрыл имя, 19 Февраля 2013 в 02:43, курсовая работа

Описание работы

Значні досягнення у галузях обробки інформації, машинного зору, теорії керування та цифрової обробки сигналів як на апаратному, так і на програмному рівнях дають можливість представлення, аналізу та розуміння динамічно змінюваних дорожніх умов, а також реагування на ці умови автономних транспортних засобів. Розробка систем керування автономними транспортними засобами є актуальною задачею тому що забезпечує значно більшу безпеку та зручність ніж ручне керування..

Работа содержит 1 файл

курсовой.doc

— 5.61 Мб (Скачать)

  CLRF CCPR2L

 

RETURN

 

;_____________________________________

 

CHOOSE_1

 

BCF PORTC,RC3

  BCF PORTC,RC4

  BSF PORTC,RC5

 

RETURN

 

;_____________________________________

CHOOSE_2

 

  BCF PORTC,RC3

  BSF PORTC,RC4

  BCF PORTC,RC5

 

RETURN

 

;_____________________________________

CHOOSE_3

 

  BCF PORTC,RC3

BSF PORTC,RC4

  BSF PORTC,RC5

 

RETURN

 

;_____________________________________

 

CHOOSE_4

 

  BSF PORTC,RC3

  BCF PORTC,RC4

  BCF PORTC,RC5

 

RETURN

 

;_____________________________________

 

 

CHOOSE_5

 

  BSF PORTC,RC3

  BCF PORTC,RC4

  BSF PORTC,RC5

 

RETURN

 

ORG 100H

BEGIN

CLRF INTCON

CLRF PORTC

 

 

BANK1

;======================================

;ИНИЦИАЛИЗАЦИЯ USART

 

;Скорость передачи  данных 9600 бит/сек 

   

     MOVLW .129

     MOVWF SPBRG

;____________________________________

 

;Установка высокоскоростного  режима

 

  BSF TXSTA,TXEN ;Разрешаем передачу

   BSF TXSTA,BRGH ;Высокоскоростной режим

   BCF TXSTA,TX9  ;8-ми разрядный приём

;__________________________________

;ИНИЦИАЛИЗАЦИЯ ПОТРОВ  ВВОДА-ВЫВОДА

 

 

BCF TRISC,1

BCF TRISC,2

BCF TRISC,3

BCF TRISC,4

BCF TRISC,5

 

BSF TRISC,6

BSF TRISC,7

 

;__________________________________

;ИНИЦИАЛИЗАЦИЯ ШИМ

             

              movlw   B'00000000'

              movwf   TRISB

              movlw   B'11111111'

              movwf   PR2          ; период ШИМ - максимальный

              clrf    INTCON

 

BANK0

              movlw      B'00001100'

              movwf      CCP2CON

              movlw      B'00000000'

              movwf      CCPR2L

              bsf        T2CON, 1

              bsf        T2CON, TMR2ON

 

 

 

 

;ОЖИДАЕМ ДАННЫЕ ОТ ЭВМ

 

BSF PORTB,1

BSF RCSTA,7        ;РАЗРЕШАЕМ РАБОТУ 

BSF RCSTA,CREN     ;РАЗРЕШАЕМ  ПРИЁМ

 

MAIN

   

      BTFSS PIR1,RCIF

      GOTO $-1

 

      MOVF RCREG,W

      MOVWF DIGIT

;__________________________

; Если данные приняты  то проверяем команду на стоп

 

T_STOP    BCF  PIR1,RCIF

          MOVF DIGIT,W

          SUBLW 13h

          BTFSS STATUS,Z

          GOTO T_REW

          CLRF CCPR2L

          GOTO OTWET

;____________________________

; Если данные приняты  то проверяем команду на реверс

 

T_REW     MOVF  DIGIT,W

          SUBLW 028h 

          BTFSS STATUS,Z

          GOTO T_UP

          CALL REWERS

          GOTO OTWET

;_____________________________

; Если данные приняты  то проверяем команду на увеличение  ШИМ

 

T_UP      MOVF  DIGIT,W  

          SUBLW 0Fh 

     

          BTFSS STATUS,Z

          GOTO T_DOWN

          MOVF CCPR2L,W       ;ПРОВЕРКА НА ПЕРЕПОЛНЕНИЕ

          SUBLW .255

          BTFSC STATUS,Z

          GOTO OTWET          ;Z=1          

          MOVLW .1

          ADDWF CCPR2L,1

          GOTO OTWET

 

;_____________________________

; Если данные приняты  то проверяем команду на уменьшение  ШИМ

 

T_DOWN   

          MOVF  DIGIT,W

          SUBLW 0F0h 

          BTFSS STATUS,Z

          GOTO T_OFF

          MOVF CCPR2L,W       ;ПРОВЕРКА НА 0 ШИМ

          BTFSC STATUS,Z

          GOTO OTWET          ;Z=1          

          MOVLW .1

          SUBWF CCPR2L,1

          GOTO OTWET

;___________________________________

; Если данные приняты  то проверяем команду на отмену выбора    модуля ШИП

 

T_OFF    

          MOVF DIGIT,W

          BTFSS STATUS,Z

          GOTO T_S1

          CALL RESET_CHOOSE

          GOTO OTWET

 

;___________________________________

; Если данные приняты  то проверяем команду на выбор  ШИП№1

 

T_S1    

        

         MOVF DIGIT,W

         SUBLW 01h

         BTFSS STATUS,Z

         GOTO T_S2

         MOVF CCPR2L,W

         BTFSS STATUS,Z

         GOTO ERROR_CHOOSE

       

 

         CALL CHOOSE_1

         GOTO OTWET

 

;_______________________________

; Если данные приняты  то проверяем команду на выбор  ШИП№2

 

T_S2    

        

         MOVF DIGIT,W

         SUBLW 02h

         BTFSS STATUS,Z

         GOTO T_S3

         MOVF CCPR2L,W

         BTFSS STATUS,Z

         GOTO ERROR_CHOOSE

         CALL CHOOSE_2

         GOTO OTWET

 

;_______________________________

; Если данные приняты  то проверяем команду на выбор  ШИП№3

 

T_S3    

        

         MOVF DIGIT,W

         SUBLW 03h

         BTFSS STATUS,Z

         GOTO T_S4

         MOVF CCPR2L,W

        BTFSS STATUS,Z

         GOTO ERROR_CHOOSE

         CALL CHOOSE_3

         GOTO OTWET

              

              

 

 

;___________________________________

; Если данные приняты  то проверяем команду на выбор  ШИП№4

 

T_S4    

        

         MOVF DIGIT,W

         SUBLW 04h

         BTFSS STATUS,Z

         GOTO T_S5

         MOVF CCPR2L,W

         BTFSS STATUS,Z

        

        GOTO ERROR_CHOOSE

         CALL CHOOSE_4

         GOTO OTWET

 

;___________________________________

; Если данные приняты  то проверяем команду на выбор ШИП№5

 

T_S5    

        

         MOVF DIGIT,W

         SUBLW 05h

         BTFSS STATUS,Z

         GOTO RX_ERROR

         MOVF CCPR2L,W

         BTFSS STATUS,Z

         GOTO ERROR_CHOOSE

         CALL CHOOSE_5

         GOTO OTWET

 

;___________________________________

 

OTWET    BCF PIR1,RCIF

         MOVLW  0AAh

         MOVWF TXREG

         GOTO L_1

; Ошибка выбора ШИП

ERROR_CHOOSE BCF PIR1,RCIF

             MOVLW 0DDh

             MOVWF TXREG

             GOTO L_1

 

RX_ERROR    BCF PIR1,RCIF

            MOVLW 0FFh

            MOVWF TXREG

 

L_1         BTFSS PIR1,TXIF

            GOTO   $-1

            BCF  PIR1,TXIF

            GOTO MAIN

 

END

 


Информация о работе Додаток призначений для передачі керуючих команд на МК