Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

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

Сб дек 01, 2007 12:29:12

У меня вопрос почему при компиляции возникает ошибка:
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

Сб дек 01, 2007 14:41:18

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

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

bsf STATUS, RP0 ; 1-й банк
movlw b'11110000' ; RB4-RB7 на вход,
movwf TRISB ; остальные на выход
bcf STATUS, RP0 ; 0-й банк

Сб дек 01, 2007 15:00:47

Первоначально было именно так
bsf STATUS, RP0 ,
но ошибка таже.

Сб дек 01, 2007 15:06:11

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

Если да, попробуйте добавить:
errorlevel -302 ;

Сб дек 01, 2007 15:38:34

Просто забей. Это не ошибка, а предупреждение. Если парит, добавь как советовал dalay-lama errorlevel -302, -307.
Кстати банки можно переключать так
BANKSEL 0x00 ; bank 0
При генерации кода нужные команды добавятся сами.

Сб дек 01, 2007 16:08:47

Насчёт errorlevel -302 согласен.
HEX-ликвидный.Прошивка работает,
но меня интересует причина возникновения предупреждения.

Сб дек 01, 2007 17:31:46

Какая версия MPLAB IDE?
Дайте код программы по инициализацию портов включительно. Посмотрим...

Сб дек 01, 2007 17:53:26

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

Сб дек 01, 2007 19:20:37

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. Его необходимо прописывать в начале программы. Проверьте!

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

Ср сен 23, 2009 16:49:42

VPLAB IDE 6.22 c HI-TEC_PICC_v8.01_PL3
Помогите пожалуйста разобраться. В английском не силен да и в програмировании полный ноль, только научится пытаюсь. Не пойму как в нем скомпилировать С в НЕХ. Получаются всякие форматы но только не то что нужно.
Или ткните пожалуйста носом где можно прочитать про него.

Чт сен 24, 2009 17:49:43

Блин.....
или вопрос сильно тупой или в нем нельзя ?!? хоть бы кто ченить сказал :roll:

Чт сен 24, 2009 18:21:07

Compile, кнопка F10
Если я правильно понимаю....

Чт сен 24, 2009 18:25:10

А что выдает после компиляции ? какой отчет ?

Чт сен 24, 2009 18:44:41

выдает вот это:
Вложения
0.jpg
(118.62 KiB) Скачиваний: 1481

Чт сен 24, 2009 18:48:58

Скорее всего компилятор не подключен MPASMWIN. Языки высокого уровня сначало транслируются в ASM, а потом в HEX. Посмотри, файл ASM в дириктории проекта появляется ?

Чт сен 24, 2009 18:50:49

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


Программа-то не под HTPICC написана. Это тебе нужен компилятор CCS, хайтек такое не соберет. Ну, или программу переписать, хотя с CCS'а переводить на хайтек - можно запариться.

Чт сен 24, 2009 18:54:09

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

Чт сен 24, 2009 19:05:18

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


Для чего подойдет? Для этой программы, или для ознакомления с Си?

Чт сен 24, 2009 19:10:48

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

Чт сен 24, 2009 19:22:39

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


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

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