Перейти к содержанию
    

Проблема с первым проектом

У меня следующая проблема, буду признателен за любую помощь.

_________________________________________________________________

Сначала об аппаратной части.

 

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

.....

_______________________________________________________________________

 

 

Включаю и... глухо, как в танке.

Помогите, уже и не знаю с какой стороны подойти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ток потребляет?

 

вместо RC-цепи попробуйте повесить кварц

 

Да, ток потребляет.

Кварц будет возможен только со следующей недели.

А какая проблема может возникнуть при использовании RC-цепи ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 usawal

Первое, что бросается в глаза- это включенный WDT, причем он никак не конфигурируется, а самое главное, нигде не обнуляется, это скорее всего приводит к тому что у вас через короткие промежутки времени осуществляется сброс от переполнения WDT. Попробуйте отключить WDT ( он отключается путем прошивки 0 в бит WDTE в слове конфигурации), может поможет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 usawal

Первое, что бросается в глаза- это включенный WDT, причем он никак не конфигурируется, а самое главное, нигде не обнуляется, это скорее всего приводит к тому что у вас через короткие промежутки времени осуществляется сброс от переполнения WDT. Попробуйте отключить WDT ( он отключается путем прошивки 0 в бит WDTE в слове конфигурации), может поможет...

 

Я попробовал отключить WDT, но это не дало никаких результатов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по дампу памяти, проблема в программаторе. Например, в HEX по адресу 0x000E и 0x000F прописано 8312, а в дампе 0312. С другими байтами аналогично. Сброшены старшие 2 бита четных байтов. В PIC16 память организована словами по 14 бит, возможно программатор каким-то образом путает при программировании/чтении старший и младший байты слова.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на -MCLR - RC-цепь ( 10 kOm и 1 mkF) напрямую без кнопок сброса

 

А конденсатор для увеличения времени нарастания напряжения? Где вы такую схему включения взяли?

 

А взять и выдать меандр на порт религия не позволяет? Код нужен? Посмотрите на меандр- много чего прояснится. А Собаку выключите - зря гавакает только и вводит в заблуждение

 

И сходите на сайт microchip.ru в раздел конференция. И вбейте в поиск тему "проблема с программаторами". И поймете - что если уж собрались применять контроллер - купите для начала НОРМАЛЬНЫЙ программатор. Самодельное г. только создает лишние проблемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В программе, когда считал из файла в буфер, сделал SWAP буфера,

запрограммировал... и о чудо, просто аллилуя и чувство эфории. Всё работает.

 

Всем спасибо, а особенно AST, за верный ход мыслей!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

erty:

купите для начала НОРМАЛЬНЫЙ программатор. Самодельное г. только создает лишние проблемы.

 

"Нормальный программатор" (имхо) стоит совершенно ненормальных денег. Для серийных/промышленных целей - не спорю. Но _для_начала_, в радиолюбительских целях - вряд ли это можно считать разумным. Приходится делать г. и решать проблемы. А х. делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

erty:

купите для начала НОРМАЛЬНЫЙ программатор. Самодельное г. только создает лишние проблемы.

 

"Нормальный программатор" (имхо) стоит совершенно ненормальных денег. Для серийных/промышленных целей - не спорю. Но _для_начала_, в радиолюбительских целях - вряд ли это можно считать разумным. Приходится делать г. и решать проблемы. А х. делать?

$100 - это ненормальные цены за программатор? Тогда умываю руки. Извиняйте, если кого обидел. Колупайтесь дальше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так речь вроде шла о программаторе "Мастер-32", он вроде и в Ч&D продается и поддерживается производителем. На мой вгляд немного кривоват, но в целом это НОРМАЛЬНЫЙ программатор. Иногда продаются действительно чудишные поделки по очень удивительным ценам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так речь вроде шла о программаторе "Мастер-32", он вроде и в Ч&D продается и поддерживается производителем. На мой вгляд немного кривоват, но в целом это НОРМАЛЬНЫЙ программатор. Иногда продаются действительно чудишные поделки по очень удивительным ценам.

Не - здесь я извиниться должен. Не знал, что он поддерживается производителем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, сделать SWAP буфера мне посоветовали именно разработчики программатора,

и обещали, что в следующей версии эта проблема будет исправлена.

 

К их чести будет сказано, что с советами и помощью они не задерживаются и

отвечают моментально.

Изменено пользователем usawal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО конечно, но я считаю, что раз уж ты разрабатываешь и продаёшь контроллеры или нечто подобное, то будь добр, сделай программаторы и эмуляторы подешевле. Дешевле себестоимости деталей, а не с накруткой.

Мечты мечты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...и эмуляторы подешевле. Дешевле себестоимости деталей, а не с накруткой.

Мечты мечты.

 

эх кто б знал как я это поддерживаю...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...