[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Здравствуйте!
movlw 07h
movwf fsr
cl1 clrf indf
incf fsr,f
movf fsr,w
xorlw b'11100000'
btfss status,z
goto cl1
PIC12C508A: Поосторожнее с битами 6 и 5 FSR... Они читаются как '1's вне зависимости от того, что вы туда писали...
Кстати, у PIC12C509A - '1' читается только бит 6, а бит 5 переключает банки (вот наворотили, руки бы оторвать)... Поэтому, часто бывает невозможность работы программы, компилированной для PIC12C508A на кристаллах PIC12C509A.
Оптимальное решение - вообще не читать FSR. А для операций использовать image-регистр, и после каждой операции уже из него копировать в FSR.
Косвенная догадка на основании "длинного" опыта работы с PIC...
Попробуйте последовательно с pin's, конфигурированными на вход включить резисторы по 1кОм, особенно, если к этим "ногам" подключаются кнопки, или контактные датчики, замыкающиеся на "корпус". С первого взгляда это может показаться бессмыслицей, однако, смысл в этом имеется, уж поверьте, проверено неоднократно.
movlw b'00111011'
tris GPIO
bsf GPIO,2
Только что проверил на макете, на JW-кристалле, у меня в режиме InternalRC всё проходит, GPIO,2 конфигурится на вывод и "стоит" в бесконечном цикле в '1'. (Все ноги никуда не подключены "висят в воздухе").
Желаю решить траблу.
E-mail: info@telesys.ru