PIC18F14K50 сбрасывается при использовании PORTC (asm)

Поклонники продукции Microchip Technology Inc тусуются тут.
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

Здравствуйте! Подскажите пожалуйста почему PIC18F14K50 при включении световых диодов через LATC сбрасывается и программа запускается с начала? Добавочные резисторы к каждому LED по 5КОм, все работает до тех пор пока не начинает функционировать PORTC. Прерывания отключены, сброс по падению напряжения тоже, пробовал так и так, MCLR отключен, в наличии два одинаковых чипа, поведение одинаково. Что может быть?
Реклама
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение -=Vovka=- »

Один из вариантов ошибки:
- в прошивке
- в схеме
- в разводке
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Albert_V »

Скорее всего, не полная (или не правильная) инициализация периферии контроллера.
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

поначалу думал ток большой протекает, резисторы разные чередовал пока до 5ком не дошел, все соединения разбирал собирал. писал другую такую программу при которой при нажатии кнопки происходит инкрементирование регистра который затем отображается через portc. доходит до определенного числа каждый раз по разному и сбрасывается чип начиная все с начала.

Добавлено after 5 minutes 54 seconds:
в mplab-e при отладке все работает, в proteus-e тоже все работает как и задумано а в железе не хочет, писал дополнительно код чтобы точно установить что прерывания не происходят - результат происходит сбрасывание
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Аlex »

Экстрасенсы все на тНт убежали и сюда не заходят. Где код ? Где схема ? Где всё, Карл... ?
Реклама
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

START
CLRF TRISA
CLRF TRISB
CLRF TRISC
CLRF ADCON1
CLRF ADCON2
CLRF ANSELH
CLRF ANSEL
CLRF LATC
MOVLW 003h
MOVWF LATC

MOVLW 00Eh ;left justify, FOSC/64,
MOVWF ADCON2 ; & 2TAD ACQ time
MOVLW 000h ;ADC ref = Vdd,Vss
MOVWF ADCON1 ;
BSF TRISB,4 ;Set RB4 to input
BSF ANSELH,2 ;Set RB4 to analog

BSF TRISB,7
BSF TRISB,6
MOVLW 0xC0
MOVWF WPUB
BCF INTCON2,7
RAB1
MOVLW 028h ;AN10, ADC off
MOVWF ADCON0
MOVLW 0FFh
MOVWF RESULTLO
MOVLW 0FFh
MOVWF RESULTHI
RAB

BTFSS PORTB,7
GOTO VKL1
NOP
NOP

GOTO RAB

VKL1
CALL ZADER1


VKL
BTFSS PORTB,6
GOTO RABNACH
GOTO OSNOV


RABNACH

CALL ZADER1
GOTO RAB1

OSNOV
MOVLW 029h ;AN10, ADC on
MOVWF ADCON0 ;
CALL ZADER
BSF ADCON0,GO ;Start conversion
ADCPoll
BTFSC ADCON0,GO ;Is conversion done?
BRA ADCPoll ;No, test again
; Result is complete - store 2 MSbits in
; RESULTHI and 8 LSbits in RESULTLO
MOVFF ADRESH,RESULTHI
MOVLW 000h ;AN10, ADC on
MOVWF ADCON0
MOVFF RESULTHI,WREG
CPFSGT RESULTLO,0
GOTO DOP
GOR
MOVFF RESULTHI,RESULTLO
MOVFF RESULTHI,LATC
CALL ZADER
GOTO VKL



DOP
CPFSEQ RESULTLO,0
GOTO DOP1
GOTO GOR

DOP1
CPFSLT RESULTLO,0
NOP
GOTO VKL

ZADER

MOVLW 04Fh
MOVWF zadr

ZAD


DECFSZ zadr,1,0
GOTO ZAD




NOP
NOP





RETURN

ZADER1

MOVLW 0F2h
MOVWF zadr
MOVLW 0CCh
MOVWF zadr1
MOVLW 03Dh
MOVWF zadr2
NOP
NOP
NOP

ZAD1


DECFSZ zadr,1,0
GOTO ZAD1

DECFSZ zadr1,1,0
GOTO ZAD1

DECFSZ zadr2,1,0
GOTO ZAD1
NOP
NOP

RETURN

END

програмка при нажатии кнопки RB7 проверяет уровень напряжения и отображает данные через LATC, при нажатии RB6 отключает ADC и переходит на обработчик нажатия кнопки RB7
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Albert_V »

Если не секрет: Кто за вас переключает банки памяти?
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

схема

Добавлено after 7 minutes 17 seconds:
я же вроде за пределы банка доступа не выхожу а к sfr обращаюсь по названию, а где необходимо переключение банков?
Вложения
111.jpg
(239.84 КБ) 549 скачиваний
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Albert_V »

Прочтите раздел "Memory Organization" в документации на PIC18F14K50.
Скорее всего, MPLAB уже обматерился Warning-ами.
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

"make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'G:/VARELLA/prog/MICROCHIP/MPLABXProjects/7777777.X'
make -f nbproject/Makefile-default.mk dist/default/debug/7777777.X.debug.cof
make[2]: Entering directory 'G:/VARELLA/prog/MICROCHIP/MPLABXProjects/7777777.X'
"C:\Program Files (x86)\Microchip\MPLABX\v3.60\mpasmx\mpasmx.exe" -d__DEBUG -d__MPLAB_DEBUGGER_SIMULATOR=1 -q -p18f14k50 -l"build/default/debug/77.lst" -e"build/default/debug/77.err" -o"build/default/debug/77.o" "77.asm"
"C:\Program Files (x86)\Microchip\MPLABX\v3.60\mpasmx\mplink.exe" -p18f14k50 -w -x -u_DEBUG -z__ICD2RAM=1 -m"dist/default/debug/7777777.X.debug.map" -z__MPLAB_BUILD=1 -z__MPLAB_DEBUG=1 -z__MPLAB_DEBUGGER_SIMULATOR=1 -odist/default/debug/7777777.X.debug.cof build/default/debug/77.o
MPLINK 5.08, LINKER
Device Database Version 1.36
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors : 0

make[2]: Leaving directory 'G:/VARELLA/prog/MICROCHIP/MPLABXProjects/7777777.X'
make[1]: Leaving directory 'G:/VARELLA/prog/MICROCHIP/MPLABXProjects/7777777.X'

BUILD SUCCESSFUL (total time: 953ms)
Loading symbols from G:/VARELLA/prog/MICROCHIP/MPLABXProjects/7777777.X/dist/default/debug/7777777.X.debug.cof...
Loading code from G:/VARELLA/prog/MICROCHIP/MPLABXProjects/7777777.X/dist/default/debug/7777777.X.debug.cof...
Loading completed"

никаких предупреждений, в железе чип отрабатывает несколько циклов только потом уходит в сбрасывание, если PORTC не зажигает LED то и сбрасывания не происходит
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Albert_V »

Вы будете продолжать спорить или, всё-таки, прочтёте документацию?
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

Я еще раз пробежался по английскому тексту и мало что понял, а главное не понял зачем людям обмениваться знаниями если они отправляют к чтению документации, и без форума понятно что ответы в документации, но я думал что форумы создаются для того чтобы те кто уже разобрался мог своими русскими словами объяснить то что другие еще не поняли. искать иголку в стоге сена или найдя её понять как она туда попала не одно и тоже
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Albert_V »

Регистр BSR.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Аlex »

А Вы считаете, что форума достаточно, чтобы не читать никаких документаций ? Всю жизнь будете на форум бегать, чтобы Вам пальчиком тыкали в ошибку ?
Вам уже дали совет, причём дельный. И указали дальнейшую дорогу. Что не так ?
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

мне не понятно в каком месте моей программы из за отсутствия BSR происходит сбой и почему он ведет к началу программ и почему без отправки данных в portc сброса не происходит, а также он ведет себя по разному, порой выдает информацию через portc и не уходит в сброс.
обычно если код не правильный то сбой происходит в одном и том же месте а не по разному себя ведет
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Albert_V »

Обратите внимание на:
1. Адресация по команде movwf (стр. 300).
2. Адреса расположения регистров SFR (стр. 35, 37).
3. Переключение между банками (стр. 36).
--
4. Выберите банк для своих регистров.

Если вы решили писать программу на ASM - вы обязаны знать контроллер на 100%.
Транслятору "по барабану" по каким адресам вы хотите обращаться если это в пределах адресного пространства данного контроллера.
А в режиме симуляции, MPLAB засыпет вас предупреждениями на тему "вы уверены что правильно выбрали банк?" (если не отключены предупреждения).
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

спасибо, по разбираюсь потом отпишусь. по крайней мере есть что именно разбирать (movwf).
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение Albert_V »

CLRF (и как работают остальные команды, которыми вы пользуетесь) не забудьте...
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение -=Vovka=- »

Может собака срабатывает?
varella56
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт ноя 02, 2017 21:31:20

Re: PIC18F14K50 сбрасывается при использовании PORTC (asm)

Сообщение varella56 »

использовал регистр BSR не помогает. что не так в моем обращении к памяти?




"CBLOCK 0x000
zadr
zadr1
zadr2
RESULTHI
RESULTLO
ENDC

START
MOVLB 00Fh
CLRF TRISA
CLRF TRISB
CLRF TRISC
CLRF ADCON1
CLRF ADCON2
CLRF ANSELH
CLRF ANSEL

CLRF LATC
MOVLW 003h
MOVWF LATC,1

MOVLW 00Eh ;left justify, FOSC/64,
MOVWF ADCON2,1 ; & 2TAD ACQ time
MOVLW 000h ;ADC ref = Vdd,Vss
MOVWF ADCON1,1 ;
BSF TRISB,4,1 ;Set RB4 to input
BSF ANSELH,2,1 ;Set RB4 to analog

BSF TRISB,7,1
BSF TRISB,6,1
MOVLW 0xC0
MOVWF WPUB,1
BCF INTCON2,7,1
RAB1
MOVLW 028h ;AN10, ADC off
MOVWF ADCON0,1
MOVLB 000h
MOVLW 0FFh
MOVWF RESULTLO,1
MOVLW 0FFh
MOVWF RESULTHI,1
RAB

MOVLB 00Fh
BTFSS PORTB,7,1
GOTO VKL1
NOP
NOP

GOTO RAB

VKL1
CALL ZADER1


VKL
MOVLB 00Fh
BTFSS PORTB,6,1
GOTO RABNACH
GOTO OSNOV


RABNACH

CALL ZADER1
GOTO RAB1

OSNOV
MOVLB 00Fh
MOVLW 029h ;AN10, ADC on
MOVWF ADCON0,1 ;
CALL ZADER
MOVLB 00Fh
BSF ADCON0,GO,1;Start conversion
ADCPoll
BTFSC ADCON0,GO,1 ;Is conversion done?
GOTO ADCPoll ;No, test again
; Result is complete - store 2 MSbits in
; RESULTHI and 8 LSbits in RESULTLO
MOVFF ADRESH,RESULTHI
MOVFF RESULTHI,WREG
MOVLB 000h
CPFSGT RESULTLO,1
GOTO DOP
GOR
MOVFF RESULTHI,RESULTLO
MOVFF RESULTHI,LATC
CALL ZADER
GOTO VKL



DOP
MOVLB 000h
CPFSEQ RESULTLO,1
GOTO DOP1
GOTO GOR

DOP1
MOVLB 000h
CPFSLT RESULTLO,1
NOP
GOTO VKL

ZADER

MOVLB 000h
MOVLW 04Fh
MOVWF zadr,1

ZAD


DECFSZ zadr,1,1
GOTO ZAD




NOP
NOP





RETURN

ZADER1

MOVLB 000h
MOVLW 0F2h
MOVWF zadr,1
MOVLW 0CCh
MOVWF zadr1,1
MOVLW 03Dh
MOVWF zadr2,1
NOP
NOP
NOP

ZAD1


DECFSZ zadr,1,1
GOTO ZAD1

DECFSZ zadr1,1,1
GOTO ZAD1

DECFSZ zadr2,1,1
GOTO ZAD1
NOP
NOP

RETURN





END"
Ответить

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