Наиболее часто задаваемые вопросы, связанные с работой программатора.


Вопрос1: При открытии '.hex' файла появляется сообщение: "Не возможно использовать открываемый файл. Неверная адресация. В строке 12x указан адрес, превышающий допустимый." В чем дело?

Вопрос2: Программатор подключен к ПК, шлейф повреждений не имеет, напряжение питания подано. Несмотря на это при попытке что либо записать или прочитать появляется сообщение: "Программатор не обнаружен"... В чем причина?

Вопрос3: Порграмматор не работает, не открыватся транзистор VT2, напряжение питания 5В не подается на микроконтроллер. В чем причина?

Вопрос4: Работа с параллельным портом сопряжена с определенным риском, необходимо правильно включать и выключать устройство в порт, иначе, при включенным копьютере это грозит тем что порт просто сгорит. От сюда вопрос - как правильно работать с вашим программатором?

Вопрос5: При работе программатора неизвестно что конкретно происходит. В других программаторах стоят светодиоды они индицируют фазы работы программатора. Почему бы не сделать так и здесь, тоесть в вашем программаторе.

Вопрос6: Какая должна быть длина кабеля соединяющего порт компьютера и программатор, или Вы в программе приняли соответствующие меры?

Вопрос7: Схема довольна проста, тем не менее как на счет печатки?

Вопрос8: Можно ли при работающем компьютере вставлять и вынимать микросхему PIC после и до записи программы в нее?

Вопрос9: Укажите "нормальные" напряжения, которые должны присутствовать на панельке во время программирования.

Вопрос10: Программатор нормально работает на компьютерах с частотой до 550МГц, а на более быстрых ( 700 .. 1333 МГц ) появляется сообщение о том, что программатор не обнаружен. Замыкаю контакты 2 и 10 Lpt порта, все равно выходит то же сообщение. В чем дело ?

Вопрос11: Если тестером мерить напряжение на коллекторах транзисторов VT2 и VT1. То они открываются лишь в тот момент когода шмякняшь по менюшке "прочитать->память программ" Открываются приблизительно на секунду, в то время как заполнение полоски (от 0 до 100%) в нижней части экрана занимает порядка 5 секунд. Что же делает программа в тот момент когда напряжения уже нет на микроконтролере. Обрабатывает данные? Какие? Сколько времени занимает считывание/запись дампа памяти программ(1K)?

Вопрос12: Дизассемблер работает не правильно. Например путаются EECON2 и EEDATA.

Вопрос13: После прочтения программы из чипа записать её в другой нельзя - недоступна опция записи.

Вопрос14: Программа при первом запуске не отключает напряжение 12В на панельке микроконтроллера, как описано в вопросах/ответах (вопрос 8). Напяжение 12В с микроконтроллера снимается только после выполнения любой операции чтения из контроллера.

Вопрос15: Работаю под Windows 2000. При запуске программы появляется сообщение "Privileged Instruction" с кнопкой ОК. При попытке поработать с программатором все теже "Privileged Instruction" с кнопкой ОК.При попытке чтения файлов прошивок пишет "Invalid class typecast", дальше программа виснет наглухо. В чем причина?

Вопрос16: Можно ли с помощью этого программатора запрограммировать другие PICи (не указанные в списке устройств), например F877, C738, F73 и т. п. ?

Вопрос17: Я собрал Ваш программатор, чтобы прошить pic16f628 и у меня к Вам вопрос, я прочитал FAQ, в котором поднимался вопрос по поводу, того, что при открытии программмы-прошивки (.hex) появляется сообщение: что в строке "***" указан адрес, превышающий допустимый, я прочитал Вашу рекомендацию, но до конца так и не понял что нужно сделать. Вот у меня есть hex-файл, который необходимо зашить в PIC16F628:
:100000006E282034443465346A3461346E342034CC
:100010008A0182000134023413348934B1347334D8
..........................................
..........................................
:100EF000292F7208F0009221851405187D2F06080D
:060F00000F398510F528F1
:02400E00213F50
:0C42F000A5005A005A00A50000000000C4
:00000001FF
Не поможите ли Вы мне?


Вопрос18: Что значит снимать защиту, а не взламывать?

Вопрос19: При дизассемблировании прочитанного из микроконтроллера кода или открытого *.hex файла программа не указывает регистры ОЗУ Pic - контроллера. Где их можно посмотреть?

Вопрос20: PIC-и в основном программируются одинаково и отличаются лишь геометрией - размерами памяти программ, данных, и т. п. Нельзя ли сделать возможность вручную задавать геометрию прямо в программе или в каком-то файле? Это заметно расширит применяемость программатора.


CDA.ru: Караоке, MD-аудио, CD-аудио, DVD-видео, VideoCD. Более 25 тыс. наименований.

1) Вопрос:
При открытии '.hex' файла появляется сообщение:
"Не возможно использовать открываемый файл. Неверная адресация. В строке 12x указан адрес, превышающий допустимый." В чем дело?
Ответ:
Возможны три причины появления этого сообщения.
1) Ошибки в '.hex' файле.
2) Вы ипользуете старую версию программы (ниже 3.2).
3) Вы пытаетесь открыть файл, который написан не для того микроконтроллера, с которым Вы сейчас работаете.
Ниже приведена некоторая информация о структуре '.hex' файла:

:10000000602B82071C34363463346B3463343634EB
:100010001C34003418341C34183418341834183490
:100020007E3400343E346334603438340C34663407
………………………………….
………………………………….
:1007E000930BB62B00000510F52B02309900990BE6
:1007F000F72B0000051438309900990BFD2B0800E9
:00000001FF

В строке записана следующая информация:




PIC16F84 имеет память программ 1К ( 0000 … 03FFh ) слов. Каждое слово - два байта. Таким образом адрес, указанный в строке должен быть не более 07FF. В некоторых '.hex' файлах ( как наверное и у Вас ) указываются адреса, превышающие 4000. Например файл заканчивается таким фрагментом:
…………………………………….
:1007E000930BB62B00000510F52B02309900990BE6
:1007F000F72B0000051438309900990BFD2B0800E9
:08400000FF3FFF3FFF3FFF3FC0
:02400E00E93F88
:104200005000580060000800A800680070007800A6
:104210005000580060001000A8006800700078008E
:10422000A800A8005000700078008000A800A80036
:10423000500058000800A800A800500058001000C6
:10424000A800B000A800A800A800A800B000A8001E
:10425000A800B000A800A800A800A800B800A80006
:10426000A800B800A800A800A800A800B800A800EE
:10427000880090006000800098007800A000A000F6
:00000001FF

Здесь в строке 084000 записаны четыре слова идентификатора микроконтроллера. Строка 02400E - это слово конфигурации. Строки 104200 … 104270 - это информация, предназначенная для записи в память данных.
^Вернуться к списку вопросов^

Ежедневные новости из мира портативной техники.

2) Вопрос:
Программатор подключен к ПК, шлейф повреждений не имеет, напряжение питания подано. Несмотря на это при попытке что либо записать или прочитать появляется сообщение: "Программатор не обнаружен"... В чем причина?
Ответ:
Программа определяет наличие программатора следующим образом: Перед переводом микроконтроллера в режим программирования на вход программатора ( DATA_IN , 9 нога КР155ЛН3 ) подается коибинация нулей и единиц. Одновременно производится чтение выхода программатора (DATA_OUT , 10 нога КР155ЛН3 ). Если переданные и прочитанные данные совпадают, программа определяет программатор как рабочий, если нет появляется сообщение об ошибке. Как видно из схемы проверка выполняется без участия микроконтроллера. При отладке Вы можете обмануть программу замкнув на короткое время DATA_IN и DATA_OUT и запустив чтение памяти программ. Сообщений об ошибках в этом случае не будит и у Вас появится возможность проконтролировать изменение напряжений 5В и 12В и работу ключей. Микроконтроллер, конечно, во время отладки из панели лучше вынуть.
^Вернуться к списку вопросов^

Портативная техника от A до Z. Доставка в любой город России и Белоруссии.

3) Вопрос:
Порграмматор не работает, не открыватся транзистор VT2, напряжение питания 5В не подается на микроконтроллер. В чем причина?
Ответ:
Возможно Вы используете старую схему с опечаткой. В правильном варианте номинал резистора R8 1К2, а резистора R6 - 4K3. Ошибка исправлена 25.12.01 . В настоящее время все ссылки сайта на схему и на архив программы открывают исправленный рабочий вариант. Если Вы перекачивали архив программы до 25.12.01 тогда в нем в схеме так-же есть ошибка.
^Вернуться к списку вопросов^

PORTA.Ru: Цифровые видеокамеры. Огромный выбор Hi-End видеотехники.

4) Вопрос:
Работа с параллельным портом сопряжена с определенным риском, необходимо правильно включать и выключать устройство в порт, иначе, при включенным копьютере это грозит тем что порт просто сгорит. От сюда вопрос - как правильно работать с вашим программатором?
Ответ:
Схема программатора очень проста ( хотя есть и проще ). А дешево и очень надежно, как Вы понимаете, бывает очень редко.
Согласен с Вами, подключать любые устройства к параллельному порту лучше при выключенном ПК, иначе есть риск сжечь порт. Вставлять микросхему в панель программатора лучше тоже когда он не подключен к компьютеру. Выключать каждый раз перед подключением программатора ПК тоже не лучший вариант - слишком утомительно. Да и как меняется состояние регистров Lpt порта при загрузке Windows (если программатор с PICом уже подключен к порту, а прграмма еще не запущена), кто проверял? Вобщем ответ такой - хотите 100%-ю гарантию надежности - используйте дорогой промышленный прграмматор.
С этим программатором я работаю в такой последовательности:
- Закрываю все ненужные на данный момент работающие прграммы.
- Вставляяю микросхему в панель программатора.
- Запускаю программу программатора.
- Подключаю программатор к порту ПК.
- Подаю напряжение питания на программатор.
- Программирую, читаю .....
- Выключаю питающее напряжение.
- Отключаю программатор от ПК.
- Вынимаю PIC из панели программатора.
- Закрываю программу программатора.
P.S. Использую эту схему программатора около года. Со случаями, когда на ПК таким образом сжигают Lpt порт сам я не встречался и о них не слышал. Не раз видел, как люди подключают принтер к работающему компьютеру и ничего, без последствий.
^Вернуться к списку вопросов^

DIGITA.ru: Телевизоры, DVD-плееры, видеомагнитофоны, видео-плееры. Аппаратура Hi-End класса.

5) Вопрос:
При работе программатора неизвестно что конкретно происходит. В других программаторах стоят светодиоды они индицируют фазы работы программатора. Почему бы не сделать так и здесь, тоесть в вашем программаторе.
Ответ:
Сразу замечу, что схема не моя. Она взята вот здесь. Я ее лиш немного изменил по своему вкусу.
Светодиоды... Наверное не плохо было бы поставить один, который сигнализировал бы о том, что на программатор подано напряжение питания, чтобы случайно не полезть вынимать из панели PIC в этот момент. По поводу отображения фаз работы программатора... Все действия программатора подробно отображаются внизу окна, в панели состояния. Кроме того, после выполнения каждой операции, там отображено, какое последнее действие выполнил программатор, и как это действие закончилось - успешно или нет. Думаю, с помощью светодиодов Вы столько информации не получите.
^Вернуться к списку вопросов^

DIGITA.ru: ЖК-мониторы всех размеров.

6) Вопрос:
Какая должна быть длина кабеля соединяющего порт компьютера и программатор, или Вы в программе приняли соответствующие меры?
Ответ:
На счет максимальной длинны кабеля ни чего сказать не могу. Исследований по этому поводу не проводил. У программатора, который лежит у меня на столе длина кабеля 65 см.
Под "мерами, принятыми в программе" видимо подразумевается контроль за правильностью переданной и принятой информацией. Перед каждой операцией прграмма отслеживает присутствие программатора. Все дейсствия, связанные с записью в память микроконтроллера (память программ, память данных, слово конфигурации, идентификатор) проверяются дважды: после записи каждого байта и по окончании записи всего фрагмента данных.
^Вернуться к списку вопросов^

DIGITA.ru: DVD-плееры, видео-магнитофоны, видео-плееры. Большой выбор. Лучший сервис.

7) Вопрос:
Схема довольна проста, тем не менее как на счет печатки?
Ответ:
Здесь Вы можете посмотреть варианты печатеной платы программатора, которые разработали и прислали пользователи программы.
^Вернуться к списку вопросов^

DIGITA.ru: Телевизоры, DVD-плееры, видеомагнитофоны, видео-плееры. Аппаратура Hi-End класса.

8) Вопрос:
Можно ли при работающем компьютере вставлять и вынимать микросхему PIC после и до записи программы в нее?
Ответ:
При загрузке программы программатора, она переводит регистры Lpt порта в такое состояние, когда ключи VT1 и VT2 закрыты, а на 13-й вывод панели подается низкий уровень. В такое же состояние программатор приходит после завершения каждой операции. При этом на выводах панели программатора может присутствовать некоторый потенциал ( десятые Вольта ). Я советую вставлять и вынимать PIC, при програматоре, отключенном от ПК и при выключенном напряжении питания программатора.
^Вернуться к списку вопросов^

CDA.ru: Караоке, MD-аудио, CD-аудио, DVD-видео, VideoCD. Более 25 тыс. наименований.

9) Вопрос:
Укажите "нормальные" напряжения, которые должны присутствовать на панельке во время программирования.
Ответ:
Микроконтроллер переходит в режим программирования/проверки удержанием низкого уровня ( 0В ) на выходах RB6 ( 12 нога ) и RB7 ( 13 нога ) во время перехода сигнала на выводе -MCLR ( 4 нога ) от низкого ( 0В ) к высокому ( +12В ) уровню. После этого RB6 становится тактовым сигналом ( прямоугольные импульсы амплитудой +5В ), а RB7 данными программирования ( тоже прямоугольные импульсы амплитудой +5В ). В этом режиме оба входа RB6 и RB7 имеют триггеры Шмитта на входе. Напряжение питания +5В подается на PIC (14 нога) до перевода его в режим программирования/проверки ( т. е. раньше +12В на 4 ноге ). Таким образом напряжения на 14 ноге ( +5В ) и 4 ноге ( +12В ) в течении записи/чтения остаются неизменными. Проверяя тестером напряжение на 12 и 13 ногах, Вы измеряете действующее значение импульсного сигнала. Оно, как Вы понимаете, будет меньше +5В и будет колебаться в зависимости от передаваемой команды.
Подробное описание режима прграммирования с временными диограммами и описанием команд можно посмотреть в докумнте 30189d.pdf ( 196 кБ ), который можно скачать здесь.
^Вернуться к списку вопросов^

CDA.ru: 25000 наименований музыкальных композиций. У нас есть очень редкие экземпляры!

10) Вопрос:
Программатор нормально работает на компьютерах с частотой до 550МГц, а на более быстрых ( 700 .. 1333 МГц ) появляется сообщение о том, что программатор не обнаружен. Замыкаю контакты 2 и 10 Lpt порта, все равно выходит то же сообщение. В чем дело ?
Ответ:
Видимо Вы используете старую версию программатора. Обновленный вариант программы ( начиная с версии 1.2 ) работает со всеми ПК. Причина неработы старой версии, как оказалось, связана не с частотой процессора, а с тем, что в более новых ПК изменилось состояние первых трех битов порта состояния принтера ( для LPT1 его адрес 379h ).
^Вернуться к списку вопросов^

DIGITA.ru: Телевизоры, DVD-плееры, видеомагнитофоны, видео-плееры. Аппаратура Hi-End класса.

11) Вопрос:
Если тестером мерить напряжение на коллекторах транзисторов VT2 и VT1. То они открываются лишь в тот момент когода шмякняшь по менюшке "прочитать->память программ" Открываются приблизительно на секунду, в то время как заполнение полоски ( от 0 до 100% ) в нижней части экрана занимает порядка 5 секунд. Что же делает программа в тот момент когда напряжения уже нет на микроконтролере. Обрабатывает данные? Какие? Сколько времени занимает считывание/запись дампа памяти программ(1K)?
Ответ:
Действительно транзисторы VT1 и VT2 открыты только в то время, когда ПК обменивается данными с PICом ( в Вашем случае около 1с ). Как только транзисторы закрылись - обмен закончен, можно даже снять напряжение с программатора. В остальное время ( у Вас еще 4с ) программа выводит прочитанные данные в своем окне. Вот так не быстро перерисовывается графика в программах, написанных и откомпилированных в Delphi для Windows.
Непосредственно само чтение/запись - несколько секунд, время вывода прочитанных данных напрямую зависит от производительности ПК. Сколько времени заняла вся операция Вы можете видеть в строке состояния в нижнем правом углу окна программы.
PS
Неудобства, связанные с ожиданием при чтении и дизассемблировании устранены начиная с версии 2.0 . Скорость вывода данных повысилась на несколько порядков.
^Вернуться к списку вопросов^

Ежедневные новости из мира портативной техники.

12) Вопрос:
Дизассемблер работает не правильно. Например путаются EECON2 и EEDATA.
Ответ:
Всетаки 'путаются' наверное не EECON2 с EEDATA, а EECON1 и EEDATA. Дело вот в чем: регистр EEDATA находится в банке 0 и имеет адрес 08h. А регистр EECON1 находится в банке 1 и имеет адрес 88h. Но при ассемблировании под адрес регистра отводится только 7 бит. На примере это выглядит так : напишите простую программу :
; упpавляющие pегистpы
status		equ	0x03
eedata		equ	0x08
eecon1		equ	0x88

; биты pегистpа STATUS
rp0		equ	5

;***** исполняемый код *********

   bsf    status,rp0    ;Выбор банка 1
   bs     eecon1,0   
   bcf    status,rp0    ;Выбор банка 0
   bsf    eedata,0   
 END
откомпилируйте ее с помощью ассемблера;
откройте полученный файл в программаторе;
И Вы увидите, что в памяти программ командам ' bsf eecon1,0' и ' bsf eedata,0 'соответствует одинаковый код 1408.
Т. е. запись обращения к этим регистрам выглядит одинаково. А то, к какому регистру в действительности обратится PIC в ходе выполнения программы обределяется тем, какой банк памяти в этот момент выбран. При дизассемблировании, естественно, программа видит две одинаковые цифры 1408 и выдает ' bsf eedata,0 '. Можно, конечно, отслеживать состояние пятого бита в регистре 'status', чтобы знать к какому банку памяти идет обращение и исходя из этого точно определять регистр. Но для этого потребуеся создать очень мощьную программу, которая должна будит проанализировать всю последовательность выполнения кода ( с циклами, переходами, вызовом подпрограмм ).
Вывод такой: Если Вы дизассемблировали какой-то код и разбираетесь в логике работы программы, не забывайте отслеживать к какому банку памяти идет обращение.
^Вернуться к списку вопросов^

Портативная техника от A до Z. Доставка в любой город России и Белоруссии.

13) Вопрос:
После прочтения программы из чипа записать её в другой нельзя - недоступна опция записи.
Ответ:
Начиная с версии 1.3 команда 'Записать Память программ' разделена на две - 'Записать Память программ из файла' и 'Запись Память программ из PICа'. Работает все это таким образом: При открытии программы и после стирания PICа обе команды недоступны. Если Вы открыли 'hex' файл, становится доступной команда 'Записать Память программ из файла'( в поле 'Память программ' в это время отображаются данные, прочитанные из файла ). После прочтения памяти программ из PICа, команда 'Записать Память программ из файла' становится недоступной, но разрешается команда 'Запись Память программ из PICа' ( в поле 'Память программ' в это время отображаются данные, прочитанные из PICа ). Таким образом если требуется скопировать данные из одного микроконтроллера в другой, - прочитайте первый PIC, замените в программаторе его на второй и выполните команду 'Запись Память программ из PICа'.
^Вернуться к списку вопросов^

PORTA.Ru: Цифровые видеокамеры. Огромный выбор Hi-End видеотехники.

14) Вопрос:
Программа при первом запуске не отключает напряжение 12В на панельке микроконтроллера, как описано в вопросах/ответах (вопрос 8). Напяжение 12В с микроконтроллера снимается только после выполнения любой операции чтения из контроллера.
Ответ:
Ошибка устранена начиная с версии 1.3.
^Вернуться к списку вопросов^

DIGITA.ru: Телевизоры, DVD-плееры, видеомагнитофоны, видео-плееры. Аппаратура Hi-End класса.

15) Вопрос:
Работаю под Windows 2000. При запуске программы появляется сообщение "Privileged Instruction" с кнопкой ОК. При попытке поработать с программатором все теже "Privileged Instruction" с кнопкой ОК.При попытке чтения файлов прошивок пишет "Invalid class typecast", дальше программа виснет наглухо. В чем причина?
Ответ:
Версии 1.0 - 2.1 программы работали только под Windows95, 98 и ME. Сообщение 'Privileged Instruction' появлялось всякий раз, когда программа обращалась к Lpt порту. Начиная с версии 2.2 от 18 июня 2002 года программа работает и под Windows NT и 2000. При этом ей необходим драйвер Smport.sys, который должен находится в одном каталоге с программой программатора. ( Драйвер Smport.sys прилогается к программе. )
^Вернуться к списку вопросов^

DIGITA.ru: ЖК-мониторы всех размеров.

16) Вопрос:
Можно ли с помощью этого программатора запрограммировать другие PICи (не указанные в списке устройств), например F877, C738, F73 и т. п. ?
Ответ:
О том какие микроконтроллеры поддерживает используемая Вами версия программатора можно посмотреть в информации о программе (команда 'Помощь -> О программе').
В работе программатор проверялся только с PIC16F84А и PIC16F628 (на 25.4.2 с версией 2.0). В отношении других PICов есть такое мнение:
1) Не берем во внимание различие в корпусах и числе ног - здесь можно вывернуться - изменить схему;
2) Разрядность слова у разных пиков разная - 12, 14 и 16. Программатор работает с 14-и разрядными словами;
3) У разных PICов разный размер памяти программ и памяти данных. На сегодня (25.4.2) Программатор работает с 2048 'байтами' памяти программ и 128 'байтами' памяти данных. Таким образом например у F877 Вам будут доступны только эти объемы;
4) У разных PICов разные слова конфигурации. Поэтому устанавливая переключатели в поле 'Конфигурация' убедитесь, что полученное в итоге слово, действительно то, что Вам нужно. ВНИМАНИЕ - можно случайно установить биты защиты;
5) У разных PICов разные адреса регистров. Поэтому возможно некоректное дизассемблирование;
ИТОГ: Предпологаю, что возможно работать с 14-и разрядными PICми с учетом ограничений по памяти и внимательным отношением к слову конфигурации. Пробуйте. Сообщайте о результатах. Пока есть сведения относительно F877 - результат положительный.
^Вернуться к списку вопросов^

DIGITA.ru: DVD-плееры, видео-магнитофоны, видео-плееры. Большой выбор. Лучший сервис.

17) Вопрос:
Я собрал Ваш программатор, чтобы прошить pic16f628 и у меня к Вам вопрос, я прочитал FAQ, в котором поднимался вопрос по поводу, того, что при открытии программмы-прошивки (.hex) появляется сообщение: что в строке "***" указан адрес, превышающий допустимый, я прочитал Вашу рекомендацию, но до конца так и не понял что нужно сделать. Вот у меня есть hex-файл, который необходимо зашить в PIC16F628:
:100000006E282034443465346A3461346E342034CC
:100010008A0182000134023413348934B1347334D8
..........................................
..........................................
:100EF000292F7208F0009221851405187D2F06080D
:060F00000F398510F528F1
:02400E00213F50
:0C42F000A5005A005A00A50000000000C4
:00000001FF
Не поможите ли Вы мне?

Ответ:
Предлогаю сделать следующее:

1) удалить из '.hex' файла следующие строки:
:02400E00213F50 это слово конфигурации
:0C42F000A5005A005A00A50000000000C4 это информация, которую надо записать в память данных
Таким образом у Вас должен получиться такой файл:
:100000006E282034443465346A3461346E342034CC
:100010008A0182000134023413348934B1347334D8
..........................................
..........................................
:100EF000292F7208F0009221851405187D2F06080D
:060F00000F398510F528F1
:00000001FF
Этот файл запишите в память программ.

2) Из строки
:02400E00213F50
определяем слово конфигурации, оно равно 3F21h (о том, как это получается написано в вопросе1). Этому слову соответствует:
- тип генератора = XT
- WDTE = выключен
- PWRTE = включен
- MCLRE = включен
- BODEN = выключен
- LVP = выключен

3) из строки
:0C42F000A5005A005A00A50000000000C4
следует, что надо записать 12 байт (0Сh=12) или 6 слов начиная с адреса 42F0h. Определяем где находится это 42F0h. Началу памяти данных соответствует адрес 4200h. Поэтому 42F0h-4200h=F0h. Но это выражение соответствует адресации байтов, для удобства перейдем к адресации по словам ( в программе программатора отображается именно такая адресация ) : F0h/2=78h. Таким образом мы определили, что в поле 'Память данных' в строку, которая начинается адресом 78h надо записать 6 слов. А слова такие A500h 5A00h 5A00h A500h 0000h 0000h. Но так как слово памяти данных имеет всего 8 разрядов в отличии от 14-и разрядного слова памяти программ, то вторую половину слова отбрасываем. (Она не несет информации (в '.hex' файле это всегда 00). Это сделано для того, что бы команды записи и чтения памяти программ и памяти данных имели одинаковый формат).
В итоге поле 'Память данных' должно выглядеть так:
00: FF FF FF FF FF FF FF FF
08: FF FF FF FF FF FF FF FF
10: FF FF FF FF FF FF FF FF
18: FF FF FF FF FF FF FF FF
20: FF FF FF FF FF FF FF FF
28: FF FF FF FF FF FF FF FF
30: FF FF FF FF FF FF FF FF
38: FF FF FF FF FF FF FF FF
40: FF FF FF FF FF FF FF FF
48: FF FF FF FF FF FF FF FF
50: FF FF FF FF FF FF FF FF
58: FF FF FF FF FF FF FF FF
60: FF FF FF FF FF FF FF FF
68: FF FF FF FF FF FF FF FF
70: FF FF FF FF FF FF FF FF
78: A5 5A 5A A5 00 00 FF FF

PS
Неудобства, связанные с открытием '*.hex' файла, содержащего информацию о слове конфигурации и памяти программ устранены начиная с версии 3.2.
^Вернуться к списку вопросов^

DIGITA.ru: Телевизоры, DVD-плееры, видеомагнитофоны, видео-плееры. Аппаратура Hi-End класса.

18) Вопрос:
Что значит снимать защиту, а не взламывать?
Ответ:
Допустим Вы пытаетесь запрограммировать PIC, а он не пишится, читаете слово конфигурации и видите, что установлен бит защиты. Это могло быть сделано случайно или специально. Но результат такой - PIC переписать не удается. Что делать? Выполнить команду 'Сервис \ Стереть все'. Теперь PIC снова можно писать, но предыдущие данные потеряны.
^Вернуться к списку вопросов^

DIGITA.ru: ЖК-мониторы всех размеров.

19) Вопрос:
При дизассемблировании прочитанного из микроконтроллера кода или открытого *.hex файла программа не указывает регистры ОЗУ Pic - контроллера. Где их можно посмотреть?
Ответ:
После дизассемблирования выполните команду 'Файл \ Сохранить'. В полученном *.asm файле Вы увидите весь список регистров.
^Вернуться к списку вопросов^

DIGITA.ru: DVD-плееры, видео-магнитофоны, видео-плееры. Большой выбор. Лучший сервис.

20) Вопрос:
PIC-и в основном программируются одинаково и отличаются лишь геометрией - размерами памяти программ, данных, и т. п. Нельзя ли сделать возможность вручную задавать геометрию прямо в программе или в каком-то файле? Это заметно расширит применяемость программатора.
Ответ:
Как показывает практика, для того, что бы написать хорошую, стабильно работающую программу, не достаточно просто выполнить требования спецификации на программирование какого либо конкретного микроконтроллера. Часто так бывает - все сделал по спецификации, но не работает или работает нестабильно. И тогда приходится пробовать различные варианты опираясь на логику, а иногда просто на интуицию. Как Вы понимаете, на это требуется время и некоторые финансовые затраты на PICи. Эти затраты никак не окупаются - программа бесплатная. Короче можно расширить список поддерживаемых микроконтроллеров, но программа будит "бумажная" - нетестированная. На сегодня я смысла в этом не вижу.
^Вернуться к списку вопросов^

DIGITA.ru: ЖК-мониторы всех размеров.


Вы можете задать вопрос, связанный с работой программатора. Пишите на адрес
pic16f84@yandex.ru

НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА