MPLAB в вопросах и ответах

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
PicNov76
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб дек 01, 2007 12:24:20

MPLAB в вопросах и ответах

Сообщение PicNov76 »

У меня вопрос почему при компиляции возникает ошибка:
Register in operand not in bank 0. Ensure that bank bits are correct.
Хотя код выполняется корректно
bcf STATUS,6
bsf STATUS,5
movlw b'11110000'
movwf TRISB


Pic16f84a
Аватара пользователя
dalay-lama
Потрогал лапой паяльник
Сообщения: 328
Зарегистрирован: Вт ноя 20, 2007 17:30:36
Откуда: Раша

Сообщение dalay-lama »

Вышеприведенный код справедлив для PIC16F628A. В нём переход в 1-й банк делается именно так.

Для PIC16F84A переход в 1-й банк делается так:

bsf STATUS, RP0 ; 1-й банк
movlw b'11110000' ; RB4-RB7 на вход,
movwf TRISB ; остальные на выход
bcf STATUS, RP0 ; 0-й банк
Аватара пользователя
PicNov76
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб дек 01, 2007 12:24:20

Сообщение PicNov76 »

Первоначально было именно так
bsf STATUS, RP0 ,
но ошибка таже.
Аватара пользователя
dalay-lama
Потрогал лапой паяльник
Сообщения: 328
Зарегистрирован: Вт ноя 20, 2007 17:30:36
Откуда: Раша

Сообщение dalay-lama »

Странно... А в шапке прописано:
list p=16F84A ;
#include <p16F84a> ;

Если да, попробуйте добавить:
errorlevel -302 ;
Аватара пользователя
Pahan
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Чт ноя 23, 2006 22:47:35
Контактная информация:

Сообщение Pahan »

Просто забей. Это не ошибка, а предупреждение. Если парит, добавь как советовал dalay-lama errorlevel -302, -307.
Кстати банки можно переключать так
BANKSEL 0x00 ; bank 0
При генерации кода нужные команды добавятся сами.
Аватара пользователя
PicNov76
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб дек 01, 2007 12:24:20

Сообщение PicNov76 »

Насчёт errorlevel -302 согласен.
HEX-ликвидный.Прошивка работает,
но меня интересует причина возникновения предупреждения.
Аватара пользователя
dalay-lama
Потрогал лапой паяльник
Сообщения: 328
Зарегистрирован: Вт ноя 20, 2007 17:30:36
Откуда: Раша

Сообщение dalay-lama »

Какая версия MPLAB IDE?
Дайте код программы по инициализацию портов включительно. Посмотрим...
Аватара пользователя
PicNov76
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб дек 01, 2007 12:24:20

Сообщение PicNov76 »

LIST P=16F84A
include "P16F84a.inc" ; 4.000 MHz
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON& _XT_OSC

ORG 0x0000

clrf Flags
clrf PORTB
clrf PORTA
;bsf STATUS, RP0
bcf STATUS,6
bsf STATUS,5
movlw b'11110000'
movwf TRISB
movlw b'00000010'
movwf TRISA
movlw b'00100111'
movwf OPTION_REG
bcf STATUS, RP0

MPLAB IDE v7.20
Аватара пользователя
dalay-lama
Потрогал лапой паяльник
Сообщения: 328
Зарегистрирован: Вт ноя 20, 2007 17:30:36
Откуда: Раша

Сообщение dalay-lama »

PicNov76 писал(а):LIST P=16F84A
include "P16F84a.inc" ; 4.000 MHz
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON& _XT_OSC

ORG 0x0000

clrf Flags
clrf PORTB
clrf PORTA
;bsf STATUS, RP0
bcf STATUS,6
bsf STATUS,5
movlw b'11110000'
movwf TRISB
movlw b'00000010'
movwf TRISA
movlw b'00100111'
movwf OPTION_REG
bcf STATUS, RP0

MPLAB IDE v7.20

Ок... Всё ясно. PIC16F84A имеет только 2 банка: 0-й и 1-й. Отдельно при инициализации сбрасывать 6-й бит регистра STATUS нет смысла (лишняя команда). Пропишите регистр OPTION_REG как в моём примере и пребудет с Вами счастье! Должно быть так:

list p=16F84A
#include <p16F84a>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON& _XT_OSC

OptionR EQU 01H

ORG 0x0000

clrf Flags
clrf PORTB
clrf PORTA
bsf STATUS, RP0
movlw b'11110000'
movwf TRISB
movlw b'00000010'
movwf TRISA
movlw b'00100111'
movwf OptionR
bcf STATUS, RP0

Хочу добавить, что MPLAB ругается из-за регистра OPTION_REG. Его необходимо прописывать в начале программы. Проверьте!
Аватара пользователя
lluganet
Вымогатель припоя
Сообщения: 596
Зарегистрирован: Пн окт 06, 2008 19:47:07
Откуда: Донбасс. г. Луганск
Контактная информация:

Компиляция в MPLAB IDE

Сообщение lluganet »

VPLAB IDE 6.22 c HI-TEC_PICC_v8.01_PL3
Помогите пожалуйста разобраться. В английском не силен да и в програмировании полный ноль, только научится пытаюсь. Не пойму как в нем скомпилировать С в НЕХ. Получаются всякие форматы но только не то что нужно.
Или ткните пожалуйста носом где можно прочитать про него.
Аватара пользователя
lluganet
Вымогатель припоя
Сообщения: 596
Зарегистрирован: Пн окт 06, 2008 19:47:07
Откуда: Донбасс. г. Луганск
Контактная информация:

Сообщение lluganet »

Блин.....
или вопрос сильно тупой или в нем нельзя ?!? хоть бы кто ченить сказал :roll:
Аватара пользователя
Alexey1969
Вымогатель припоя
Сообщения: 622
Зарегистрирован: Чт мар 05, 2009 05:31:16
Откуда: г. Кемерово
Контактная информация:

Сообщение Alexey1969 »

Compile, кнопка F10
Если я правильно понимаю....
Аватара пользователя
Alexey1969
Вымогатель припоя
Сообщения: 622
Зарегистрирован: Чт мар 05, 2009 05:31:16
Откуда: г. Кемерово
Контактная информация:

Сообщение Alexey1969 »

А что выдает после компиляции ? какой отчет ?
Аватара пользователя
lluganet
Вымогатель припоя
Сообщения: 596
Зарегистрирован: Пн окт 06, 2008 19:47:07
Откуда: Донбасс. г. Луганск
Контактная информация:

Сообщение lluganet »

выдает вот это:
Вложения
0.jpg
(118.62 КБ) 1698 скачиваний
Аватара пользователя
Alexey1969
Вымогатель припоя
Сообщения: 622
Зарегистрирован: Чт мар 05, 2009 05:31:16
Откуда: г. Кемерово
Контактная информация:

Сообщение Alexey1969 »

Скорее всего компилятор не подключен MPASMWIN. Языки высокого уровня сначало транслируются в ASM, а потом в HEX. Посмотри, файл ASM в дириктории проекта появляется ?
Аватара пользователя
testerplus
Встал на лапы
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb
Контактная информация:

Сообщение testerplus »

lluganet писал(а):выдает вот это:


Программа-то не под HTPICC написана. Это тебе нужен компилятор CCS, хайтек такое не соберет. Ну, или программу переписать, хотя с CCS'а переводить на хайтек - можно запариться.
Аватара пользователя
lluganet
Вымогатель припоя
Сообщения: 596
Зарегистрирован: Пн окт 06, 2008 19:47:07
Откуда: Донбасс. г. Луганск
Контактная информация:

Сообщение lluganet »

ну переписать у меня ума не хватит :oops: :))) я для начала хотел поигратся с готовой прошивкой :)
а нет случаем компилятора который подойдет чтоб попроще , или ссылочку на него
Аватара пользователя
testerplus
Встал на лапы
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb
Контактная информация:

Сообщение testerplus »

lluganet писал(а):ну переписать у меня ума не хватит :oops: :))) я для начала хотел поигратся с готовой прошивкой :)
а нет случаем компилятора который подойдет чтоб попроще , или ссылочку на него


Для чего подойдет? Для этой программы, или для ознакомления с Си?
Аватара пользователя
lluganet
Вымогатель припоя
Сообщения: 596
Зарегистрирован: Пн окт 06, 2008 19:47:07
Откуда: Донбасс. г. Луганск
Контактная информация:

Сообщение lluganet »

ну вобще для ознакомления с Си.
И CCS вроде тоже прикручивается к MPLAB. Хотя мне сама среда проектирования как такова и не нужна пока.
Я хотел взять готовый исходник, попробовать кое что поменять и посмотреть результат в протеусе.
Сама прошивка робочая, НЕХ в протеусе моделируется.
Аватара пользователя
testerplus
Встал на лапы
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb
Контактная информация:

Сообщение testerplus »

lluganet писал(а):ну вобще для ознакомления с Си.
И CCS вроде тоже прикручивается к MPLAB. Хотя мне сама среда проектирования как такова и не нужна пока.
Я хотел взять готовый исходник, попробовать кое что поменять и посмотреть результат в протеусе.
Сама прошивка робочая, НЕХ в протеусе моделируется.


Для ознакомления - бери mikroC PRO. Это новая версия, но их ломают быстро.
Для чего посерьезнее - HT-PICC STD (PRO не бери). Последняя нормальная версия - std 9.60pl3.

CCS я бы не советовал.
Ответить

Вернуться в «PIC»