roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 10:14

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Помогите найти ошибки в программе
СообщениеДобавлено: 02 май 2007, 11:17 
Не в сети

Зарегистрирован: 02 май 2007, 09:55
Сообщения: 3
Откуда: Харьков
Помогите пожалуйста найти ошибки в синтаксисе в програме. Ниже программа на ассемблере и ошибки которые выдаёт компилятор
Код:
; Програма для тестирования экрана МТ-12232А
; автор: Картавкин Павел Леонидович 2007г.
; Процессор PIC16F84A
; порт В - шина данных
; RA0-Res
; RA1-A0(R/S)
; RA2-RD/WR
; RA3-E
; RA4-CS

#include P16F84A.INC
;Управляющие выводы экраном
#define   RES   PORTA,0
#define   A0   PORTA,1
#define   RD_WR   PORTA,2
#define   E   PORTA,3
#define   CS   PORTA,4
; слова инициализации для поpтов ввода/вывода
INITA0           EQU     B'00000000'
INITB0           EQU     B'00000000'
INITA1           EQU     B'11111111'
INITB1           EQU     B'11111111'
   ;Инициализация порта А
   BCF     STATUS,RP0   ;Выбор банка 0
       CLRF    PORTA        ;Очистить регистр PORTA
       MOVLW   INITA0       ;Загpузить B'00000000' в pегистp W
       BSF     STATUS,RP0   ;Выбор банка 1
       MOVWF   TRISA        ;Все разряды порта А установить как выходы
   ;Инициализация порта В
       BCF     STATUS,RP0   ;Выбор банка 0
       CLRF    PORTB        ;Очистить регистр PORTB
       MOVLW   INITB0       ;Загpузить B'00000000' в pегистp W
       BSF     STATUS,RP0   ;Выбор банка 1
       MOVWF   TRISB        ;Все разряды порта В установить как выходы
       BCF     STATUS,RP0   ;Выбор банка 0

   ;Инициализация экрана
   CALL RESET
   PAUSE 1
   CALL END1
   CALL STAT_DRIVE_OFF
   CALL DUTY_SELECT
   DISPLAY_ON_OFF B'10101111'
   ;Рисуем

   ;

   ;Команды для дисплея
DISPLAY_ON_OFF MACRO ON_OFF
   MOVLW ON_OFF
   MOVWF PORTB
   PAUSE 1
   CLRF PORTB
ENDM

SET_PAGE MACRO PAGE
   MOVLW B'10111000'   
   IORLW PAGE
   MOWF PORTB
   PAUSE 1
   CLRF PORTB
ENDM   

SET_ADDRESS MACRO COL_ADDRES
   MOVLW COL_ADDRES
   MOVWF PORTB
   PAUSE 1
   CLRF PORTB   
ENDM

WRITE_DISP_DATA MACRO DATA
   BSF A0
   MOVLW DATA
   MOVWF PORTB
   PAUSE 1
   CLRF PORTB
   BCF A0
ENDM

   READ_DISP_DATA
   BSF A0
   BSF RD_WR
   MOVWF INITB1
       BSF STATUS,RP0
       MOVWF TRISB
   MOVF PORTB,W
   MOVF INITB0,Z
       MOVF Z,TRISB      
       BCF STATUS,RP0
   BСF A0
   BСF RD_WR
   RETLW

   STAT_DRIVE_OFF
   MOVLW B'10100100'
   MOVWF PORTB
   PAUSE 1
   CLRF PORTB
   RETURN

   DUTY_SELECT
   MOVLW B'10101001'
   MOVWF PORTB
   PAUSE 1
   CLRF PORTB
   RETURN

   END1
   MOVLW B'11101110'
   MOVWF PORTB
   PAUSE 1
   CLRF PORTB
   RETURN

   RESET
   BCF RES
   PAUSE 7
   BSF RES
   PAUSE 5
   BCF RES
   RETURN

PAUSE MACRO TIME
   LABEL
   DECFSZ TIME,1
       GOTO LABEL
   RETURN
ENDM

end

Код:
Error[108]   : Illegal character (1)
Error[124]   : Illegal argument (expected single character)
Error[116]   : Address label duplicated or different in second pass (DISPLAY_ON_OFF)
Error[122]   : Illegal opcode (PORTA)
Error[122]   : Illegal opcode (PORTA)
Error[128]   : Missing argument(s)
Error[108]   : Illegal character (1)
Error[108]   : Illegal character (1)
Error[108]   : Illegal character (1)
Error[108]   : Illegal character (7)
Error[108]   : Illegal character (5)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 май 2007, 15:53 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Цитата:
#include P16F84A.INC

Я не знаю как в этом ассемблере, но в моем нада писать имя контроллера в кавычках .include "d:\avr\avrasm\appnotes\2313def.inc"
А в CVavr #include <P16F84A.INC> вот так. Может в этом проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 май 2007, 17:06 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Возможно не видно P16F84A.INC   и ошибки нужно как-то привязать к строкам где они - тогда будет ясно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 май 2007, 20:51 
Не в сети

Зарегистрирован: 02 май 2007, 09:55
Сообщения: 3
Откуда: Харьков
Кажется всё дело в макросах.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO