Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
27.03.2009, 13:54
|
#1
|
Временная регистрация
Регистрация: 21.09.2006
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 13 раз(а) в 7 сообщении(ях)
|
12F629 не работает GP4. Где моя ошибка?
ВСЕМ, Добрый день!
Бьюсь уже долго, и понять не могу где моя ошибка.
Проблема следующая, нужен повторитель сигнала. Собрал простенькую схему на пике 12ф629, GP5 и GP4 входы, а GP1 и GP0 выходы. Так вот у меня получается , что GP4 постоянно видит "1". Применить GP2 не предлагать, он в дальнейшем будет нужен. Вот что я наваял на асме. Не пинайте новичка ![Улыбка](images/smilies/icon_smile.gif)
Заранее спасибо.
Прикрепленный файл: 8776105.rar
|
|
|
|
27.03.2009, 14:38
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: 12F629 не работает GP4. Где моя ошибка?
Сообщение от svn69
|
#include ‹p12f629.inc›
PCL equ 02h
STATUS equ 03h ;standard register files
GPIO equ 05h
ANSEL equ 04h
EEDATA equ 09Ah
EEADR equ 09Bh
OPTREG equ 081h
TRISIO equ 085h
EECON1 equ 09Ch
EECON2 equ 09Dh
|
Зачем определять регистры если они УЖЕ определены в файле p12f629.inc
Просмотрел на первый взгляд вроде правильно.. не компилировал и не проверял. Может в конфигурации запрограмировал GP4 как выход OSC?
Кстати.. как вход можно пользовать и RESET=GP3 и даже как ВЫХОД.
Код:
|
#include ‹p12f629.inc›
;конфигурация - внутрений генератор, и все ножки как I/O
banksel0 macro
BCF STATUS,RP0
endm
banksel1 macro
BSF STATUS,RP0
endm
#define input0 GPIO,2
#define input1 GPIO,4
#define output0 GPIO,1
#define output1 GPIO,5
ORG 0x000
banksel1
CLRF GPIO
BSF input0
BSF input1
banksel0
CLRF GPIO
banksel CMCON
MOVLW 07h
MOVWF CMCON
banksel ANSEL
CLRF ANSEL
banksel1
MOVLW 4Eh
MOVWF OPTION_REG
banksel0
;Повторитель
cikl BTFSS input0
BCF outputO
BTFSС input0
BSF outputO
BTFSS input1
BCF output1
BTFSС input1
BSF output1
CLRWDT
GOTO cikl
END |
|
|
|
|
27.03.2009, 15:01
|
#3
|
Временная регистрация
Регистрация: 21.09.2006
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 13 раз(а) в 7 сообщении(ях)
|
в MPLABe идет всё как написано, лью в ПИК и тут всё подругому. На выходе GP1 постоянно висит "1". поменял местами GP5 c GP4 стал висеть выход GP0. То есть проблема не ввыходе, а именно во входе.
|
|
|
|
27.03.2009, 15:16
|
#4
|
Временная регистрация
Регистрация: 21.09.2006
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 13 раз(а) в 7 сообщении(ях)
|
GP4 проверил запрограммирован как вводвывод
|
|
|
|
27.03.2009, 15:30
|
#5
|
Временная регистрация
Регистрация: 21.09.2006
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 13 раз(а) в 7 сообщении(ях)
|
проверил ваш наброски, исправил ошибки... резуль тот же, висит "1". Регистр ANSEL не нужен он используется только 12ф675, а у меня 12ф629
Прикрепленный файл: 1279943.rar
|
|
|
|
27.03.2009, 16:24
|
#6
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от svn69
|
проверил ваш наброски, исправил ошибки... резуль тот же, висит "1". Регистр ANSEL не нужен он используется только 12ф675, а у меня 12ф629
|
Угу.. автоматом из твоего проекта перетащил...
Сообщение от svn69
|
в MPLABe идет всё как написано, лью в ПИК и тут всё подругому. На выходе GP1 постоянно висит "1". поменял местами GP5 c GP4 стал висеть выход GP0. То есть проблема не ввыходе, а именно во входе.
|
чеслово странно... нету под Рукой 629 проверить в железяке.. но работать должно... всё вроде бы выполнено что бы работало:
1) порты заданы на ввод и вывод
2) компаратор отключен
3) страница РАМ=0
попробуй такую фигню.. должен меандр на выводе
Код:
|
cikl
btfss output0
goto setout
bcf output0
goto endcikl
setout
bsf output0
endcikl
goto cikl |
а потом подключиш вместо ВЫХОДА другой ВХОД
Код:
|
cikl
btfss input0
goto setout
bcf output0
goto endcikl
setout
bsf output0
endcikl
goto cikl |
Прикрепленный файл: 1279943.rar
|
|
|
|
27.03.2009, 16:37
|
#7
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Отключите встроенные резисторы, может, они мешают
MOVLW 8Eh
MOVWF OPTION_REG
И banksel CMCON banksel ANSEL - это что ???
|
|
|
|
27.03.2009, 18:51
|
#8
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
[quote="urry"]Отключите встроенные резисторы, может, они мешают
MOVLW 8Eh
MOVWF OPTION_REG
quote]
ДЫК.. резисторы там более 20 КОМ... неужто перевешивают входной согнал ?
Да кстати... ты сигнал подаёш откуда? каково выходное сопротивление источника?
Сообщение от urry
|
И banksel CMCON banksel ANSEL - это что ???
|
banksel - это команда препроцесора MPASM, установить банк RAM в котором находится указываемывй регистр...
banksel CMCON ... аналогично banksel 0... т.к. CMCON находится в 0 банке..
Применятеся banksel CMCON и banksel ANSEL и banksel EEDATA, banksel EEADR, banksel ADRESL, и.тэ.дэ.
Для того что бы при переносе кода в другой кристалл не было путаницы с банками если адресуемый регистр находится в другом кристале находится в другом банке. MPLAB пропишет нужный банк по файлу Pxxxx.inc.
Прикрепленный файл: 1279943.rar
|
|
|
|
27.03.2009, 23:50
|
#9
|
Временная регистрация
Регистрация: 21.09.2006
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 13 раз(а) в 7 сообщении(ях)
|
Сообщение от picavr
|
попробуй такую фигню.. должен меандр на выводе
Код:
|
cikl
btfss output0
goto setout
bcf output0
goto endcikl
setout
bsf output0
endcikl
goto cikl |
а потом подключиш вместо ВЫХОДА другой ВХОД
Код:
|
cikl
btfss input0
goto setout
bcf output0
goto endcikl
setout
bsf output0
endcikl
goto cikl |
|
Попробовал, теперь не "1", а "0". Волшебство какое то. Дело в том что с этим кодом у меня изделее работало пока не наступили морозы. Потом начались глюки, то работает то нет. Поменял PIC, результатов не дало. Стал разбирать в коде. Только не понятно, как оно до этого работало? 8O Завтра соберу тоже самое на другой плате, с другими деталями, может чё нибудь упустил.
Прикрепленный файл: 1279943.rar
|
|
|
|
28.03.2009, 00:46
|
#10
|
Почётный гражданин KAZUS.RU
Регистрация: 29.01.2005
Адрес: Воронеж
Сообщений: 1,384
Сказал спасибо: 24
Сказали Спасибо 243 раз(а) в 182 сообщении(ях)
|
Послушайте urry уберите подтяжку. Он плохого не посоветует.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:41.
|
|