usawal 0 21 апреля, 2006 Опубликовано 21 апреля, 2006 · Жалоба У меня следующая проблема, буду признателен за любую помощь. _________________________________________________________________ Сначала об аппаратной части. PIC16F84A-04/P (аж два, но на обоих результата никакого) программатор - МАСТЕР-32 ( http://masterra.webzone.ru ) на OSC1 - RC-цепь ( 5.6 kOm и 27 pF ) на -MCLR - RC-цепь ( 10 kOm и 1 mkF) напрямую без кнопок сброса от PORTB - ограничивающие ток резимторы ( 510 Om) далее стандартные 6мм светодиоды блок питания ( 5V, 600 mA )... всё. Пока писал проверял распиновку, всё по соответствующим ножкам. __________________________________________________________________ Программная часть. Прогу написал в MPLAB 5.3 (прога проще некуда, там вроде как ошибки не должно быть) Вот она: list p=16F84A ; list directive to define processor #include <p16F84A.inc> ; processor specific variable definitions __CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC ; '__CONFIG' directive is used to embed configuration data within .asm file. ; The lables following the directive are located in the respective .inc file. ; See respective data sheet for additional information on configuration word. ;***** VARIABLE DEFINITIONS w_temp EQU 0x0C ; variable used for context saving status_temp EQU 0x0D ; variable used for context saving ;********************************************************************** ORG 0x000 ; processor reset vector goto main ; go to beginning of program ORG 0x004 ; interrupt vector location movwf w_temp ; save off current W register contents movf STATUS,w ; move status register into W register movwf status_temp ; save off contents of STATUS register ; isr code can go here or be located as a call subroutine elsewhere ;movf status_temp,w ; retrieve copy of STATUS register ;movwf STATUS ; restore pre-isr STATUS register contents ;swapf w_temp,f ;swapf w_temp,w ; restore pre-isr W register contents ;retfie ; return from interrupt main BCF STATUS,RP0 CLRF PORTA MOVLW 0x00 BSF STATUS,RP0 MOVWF TRISA BCF STATUS,RP0 CLRF PORTB MOVLW 0x00 BSF STATUS,RP0 MOVWF TRISB BCF STATUS,RP0 MOVLW 0xDB MOVWF PORTB GOTO $ ; remaining code goes here END ; directive 'end of program' _____________________________________________________________________ HEX файл: :020000000728CF :080008008C0003088D00831237 :100010008501003083168500831286010030831627 :0A00200086008312DB3086001428EE :02400E00F73F7A :00000001FF ______________________________________________________________________ Далее программирую прогой, которая прилагается с программатором. Всё программируется, ППЗУ следующее: Адресная таблица: __| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F --| ------------------------------------------------ 00| 07 28 3F FF 3F FF 3F FF 0C 00 03 08 0D 00 03 12 10| 05 01 00 30 03 16 05 00 03 12 06 01 00 30 03 16 20| 06 00 03 12 1B 30 06 00 14 28 3F FF 3F FF 3F FF ..... _______________________________________________________________________ Включаю и... глухо, как в танке. Помогите, уже и не знаю с какой стороны подойти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrV 0 21 апреля, 2006 Опубликовано 21 апреля, 2006 · Жалоба ток потребляет? вместо RC-цепи попробуйте повесить кварц Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
usawal 0 21 апреля, 2006 Опубликовано 21 апреля, 2006 · Жалоба ток потребляет? вместо RC-цепи попробуйте повесить кварц Да, ток потребляет. Кварц будет возможен только со следующей недели. А какая проблема может возникнуть при использовании RC-цепи ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 22 апреля, 2006 Опубликовано 22 апреля, 2006 · Жалоба 2 usawal Первое, что бросается в глаза- это включенный WDT, причем он никак не конфигурируется, а самое главное, нигде не обнуляется, это скорее всего приводит к тому что у вас через короткие промежутки времени осуществляется сброс от переполнения WDT. Попробуйте отключить WDT ( он отключается путем прошивки 0 в бит WDTE в слове конфигурации), может поможет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
usawal 0 23 апреля, 2006 Опубликовано 23 апреля, 2006 · Жалоба 2 usawal Первое, что бросается в глаза- это включенный WDT, причем он никак не конфигурируется, а самое главное, нигде не обнуляется, это скорее всего приводит к тому что у вас через короткие промежутки времени осуществляется сброс от переполнения WDT. Попробуйте отключить WDT ( он отключается путем прошивки 0 в бит WDTE в слове конфигурации), может поможет... Я попробовал отключить WDT, но это не дало никаких результатов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AST 0 23 апреля, 2006 Опубликовано 23 апреля, 2006 · Жалоба Судя по дампу памяти, проблема в программаторе. Например, в HEX по адресу 0x000E и 0x000F прописано 8312, а в дампе 0312. С другими байтами аналогично. Сброшены старшие 2 бита четных байтов. В PIC16 память организована словами по 14 бит, возможно программатор каким-то образом путает при программировании/чтении старший и младший байты слова. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alich 0 24 апреля, 2006 Опубликовано 24 апреля, 2006 · Жалоба на -MCLR - RC-цепь ( 10 kOm и 1 mkF) напрямую без кнопок сброса А конденсатор для увеличения времени нарастания напряжения? Где вы такую схему включения взяли? А взять и выдать меандр на порт религия не позволяет? Код нужен? Посмотрите на меандр- много чего прояснится. А Собаку выключите - зря гавакает только и вводит в заблуждение И сходите на сайт microchip.ru в раздел конференция. И вбейте в поиск тему "проблема с программаторами". И поймете - что если уж собрались применять контроллер - купите для начала НОРМАЛЬНЫЙ программатор. Самодельное г. только создает лишние проблемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
usawal 0 24 апреля, 2006 Опубликовано 24 апреля, 2006 · Жалоба В программе, когда считал из файла в буфер, сделал SWAP буфера, запрограммировал... и о чудо, просто аллилуя и чувство эфории. Всё работает. Всем спасибо, а особенно AST, за верный ход мыслей!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mishel 0 24 апреля, 2006 Опубликовано 24 апреля, 2006 · Жалоба erty: купите для начала НОРМАЛЬНЫЙ программатор. Самодельное г. только создает лишние проблемы. "Нормальный программатор" (имхо) стоит совершенно ненормальных денег. Для серийных/промышленных целей - не спорю. Но _для_начала_, в радиолюбительских целях - вряд ли это можно считать разумным. Приходится делать г. и решать проблемы. А х. делать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alich 0 25 апреля, 2006 Опубликовано 25 апреля, 2006 · Жалоба erty: купите для начала НОРМАЛЬНЫЙ программатор. Самодельное г. только создает лишние проблемы. "Нормальный программатор" (имхо) стоит совершенно ненормальных денег. Для серийных/промышленных целей - не спорю. Но _для_начала_, в радиолюбительских целях - вряд ли это можно считать разумным. Приходится делать г. и решать проблемы. А х. делать? $100 - это ненормальные цены за программатор? Тогда умываю руки. Извиняйте, если кого обидел. Колупайтесь дальше Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TomaT 0 25 апреля, 2006 Опубликовано 25 апреля, 2006 · Жалоба Так речь вроде шла о программаторе "Мастер-32", он вроде и в Ч&D продается и поддерживается производителем. На мой вгляд немного кривоват, но в целом это НОРМАЛЬНЫЙ программатор. Иногда продаются действительно чудишные поделки по очень удивительным ценам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alich 0 25 апреля, 2006 Опубликовано 25 апреля, 2006 · Жалоба Так речь вроде шла о программаторе "Мастер-32", он вроде и в Ч&D продается и поддерживается производителем. На мой вгляд немного кривоват, но в целом это НОРМАЛЬНЫЙ программатор. Иногда продаются действительно чудишные поделки по очень удивительным ценам. Не - здесь я извиниться должен. Не знал, что он поддерживается производителем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
usawal 0 25 апреля, 2006 Опубликовано 25 апреля, 2006 (изменено) · Жалоба Кстати, сделать SWAP буфера мне посоветовали именно разработчики программатора, и обещали, что в следующей версии эта проблема будет исправлена. К их чести будет сказано, что с советами и помощью они не задерживаются и отвечают моментально. Изменено 25 апреля, 2006 пользователем usawal Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
*Leks* 0 25 апреля, 2006 Опубликовано 25 апреля, 2006 · Жалоба ИМХО конечно, но я считаю, что раз уж ты разрабатываешь и продаёшь контроллеры или нечто подобное, то будь добр, сделай программаторы и эмуляторы подешевле. Дешевле себестоимости деталей, а не с накруткой. Мечты мечты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alich 0 26 апреля, 2006 Опубликовано 26 апреля, 2006 · Жалоба ...и эмуляторы подешевле. Дешевле себестоимости деталей, а не с накруткой. Мечты мечты. эх кто б знал как я это поддерживаю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться