Всем привет.
Подскажите кто знает
В старом мплабе когда присваиваешь адрес некой символоной метке, например:
МЕТКА EQU 0x11
то эта метка появлялась в окне файловых регистров, по аналогии с именами уже специальных регистров тип TMR0, PORTA и т.д.
В новом же, текущем мплабе присвоенные адресам метки не отображаются в окне файловых регистров.
Потыкал заголовочный файл, попробовал по аналогии сделать как там прописано для специальных регистров
#define METKA METKA
METKA EQU 0x10
Не помогает.
Кто ни будь знает как сделать что бы именованные регистры отображались в мплабе?
Добавлено after 33 minutes 40 seconds:[uquote="solomonmon",url="/forum/viewtopic.php?p=4142053#p4142053"]Уважаемые коты, начал понемногу изучать программирование PIC, дошёл до таймера, на примере pic16f84a, подскажите пожалуйста, не могу понять что не так с расчётом, вроде всё правильно по времени рассчитал и светодиод должен потухнуть через 4 секунды, но почему то тухнет через 2 секунды, посмотрите пож текст программы где шо не так. Заранее благодарен.[/uquote]
Я тоже начинающий и тоже дошёл до таймера.
Но я мигаю им раз в секунду по прерыванию переполнения таймера.
Если тебе это поможет, то ниже прикладываю код.
pic16f84a работа от внешнего кварца на 32 килогерца.
дёргает порт RA4 раз в секунду
Порт с открытым коллектором (drain), светодиод с плюса через резистор 1Ком на ножку порта, и всё.
Спойлер
Код: Выделить всё
#include <xc.inc>
CONFIG FOSC = LP ; Oscillator Selection bits(RC oscillator)
CONFIG WDTE = OFF ; Watchdog Timer(WDT enabled)
CONFIG PWRTE = OFF ; Power - up Timer Enable bit(Power - up Timer is disabled)
CONFIG CP = OFF ; Code Protection bit(Code protection disabled)
#define RP0 0x5
#define RA4 0x4
#define T0IF 0x2
psect udata,reloc = 10h
SSS_REG SET 0x10
psect code,class=CODE,space=0,delta=2,abs,ovrld
res_vec:
org 0x000
call init
goto $+1
goto $-1
nop
int_vec:
org 0x004
bcf INTCON,T0IF
btfsc SSS_REG,0x0
goto $+4
bsf PORTA,RA4
bsf SSS_REG,0x0
retfie
bcf PORTA,RA4
bcf SSS_REG,0x0
retfie
init:
bcf STATUS,RP0
clrf TMR0
clrf PORTA ; CLEAR PORT A DATA
clrf SSS_REG
movlw 10100000B
movwf INTCON ; SET INTERUPTS
bsf STATUS,RP0 ;SELECT BANK 1
clrf TRISA ;SET ALL PORTS OUTPUT MODE
movlw 11010011B
movwf OPTION_REG ; SET
bcf STATUS,RP0 ;SELECT BANK 0
return
END