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

Прошивка PIC16F628A

Всем привет! Вот решил собрать регулятор мощности на PIC16F628A (схема и прошивка в архиве). Ну проще, наверное, нет схемы :-). Проблема: в протеусе все работает, а в железе - нет. Программатор у меня - ChipProg-48. Подазреваю, что надо как-то включить работу от внутреннего генератора; не выходит. прошу совета и помощи. Спасибо.

Regulajtor.rar

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


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

Всем привет! Вот решил собрать регулятор мощности на PIC16F628A (схема и прошивка в архиве). Ну проще, наверное, нет схемы :-). Проблема: в протеусе все работает, а в железе - нет. Программатор у меня - ChipProg-48. Подазреваю, что надо как-то включить работу от внутреннего генератора; не выходит. прошу совета и помощи. Спасибо.

A где код? Или надо hex декодировать?

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


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

Не помню как там в ChipProg'е, а в WinPic800 можно управлять битами конфигурации. Попробуйте выставить CONFIG.FOSC = b100, то есть задействовать внутренний генератор

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


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

A где код? Или надо hex декодировать?

Тут еще вопрос возник. На картинке два буфера: 0 -это оригинальная прошивка; 1- это считанный код после программирования PIC. Почему эти буфера так различны? Може проблема в программаторе?

 

Не помню как там в ChipProg'е, а в WinPic800 можно управлять битами конфигурации. Попробуйте выставить CONFIG.FOSC = b100, то есть задействовать внутренний генератор

Пробовал я различные варианты с битами (видимо плохо пробовал). Вот на картинке варианты для генератора, которые предлагает программатор. Как правильно?

post-10558-1404223061_thumb.jpg

post-10558-1404223552_thumb.jpg

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


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

Почему эти буфера так различны?
Потому, что это - EEPROM.

По-видимому, Вы используете обычный режим программирования, а т.к. генератор внутренний и #MCLR отключен, то МК после программирования запускает программу, которая и пишет какие-то данные в EEPROM. Возможно поэтому и девайс не запускается. Установите режим программирования "First Vpp" (может называться как угодно, в общем смысл в том, что сперва надо подавать Vpp, а затем Vdd, а снимать в обратном порядке).

Кстати, "я не узнаю Вас в гриме". Что за программатор?

 

Вот на картинке варианты для генератора, которые предлагает программатор
Нифига подобного.

В хексе всё нормально: внутренний генератор с отключённым #MCLR, правда, зачем-то включён вывод тактовой частоты на CLKOUT.

А, понял! Это был вопрос. :rolleyes:

Правильно: INTRC oscillator, I/O function on RA6/OSC2/CLKOUT pin (в хексе установлено: INTRC oscillator, CLKOUT function on RA6/OSC2/CLKOUT pin, что тоже должно работать).

 

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


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

Кстати, "я не узнаю Вас в гриме". Что за программатор?

Так вроде в первом посте написано "ChipProg-48".

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


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

A где код? Или надо hex декодировать?

Установил MPLAB IDE. Когда-то собрал программатор для PIC (Н.Хлюпин, Радио 2006, №6) и решил использовать его для прошивки. В прилагаемом файле результат дизассемблирования оригинального HEX (мне это ничего не говорит) программой. Может кто проверит это все и подскажет правильные конфигурационые биты для MPLAB IDE?

Program__Memory.pdf

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


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

Установил MPLAB IDE. Когда-то собрал программатор для PIC (Н.Хлюпин, Радио 2006, №6) и решил использовать его для прошивки. В прилагаемом файле результат дизассемблирования оригинального HEX (мне это ничего не говорит) программой. Может кто проверит это все и подскажет правильные конфигурационые биты для MPLAB IDE?

А какие сейчас биты стоят?

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


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

А какие сейчас биты стоят?

Да я уже с разными битами и прошивал и стирал; а воз и ныне там. Сейсас вот так. При загрузке HEX в MPLAB биты конфигурации выглядят так:

post-10558-1404314685_thumb.jpg

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


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

Вроде правильно.

Я немного глянул ассемблер.

Во первых, прерывания похоже не используются.

Во вторых TRISA младшие 6 разрядов на вход, 2 старших разряда на выход.

Может там дальше меняется чтото, но это схеме не соответствует.

 

Надо сидеть, декодировать что там делается.

Там какието действия, потом значение добавляется к указателю команд и он от значения этой суммы кудато прыгает.

Вам надо самому разобратся, вряд ли ктото будет тратить несколько часов чтобы понятъ код.

 

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


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

Вроде правильно.

Я немного глянул ассемблер.

Во первых, прерывания похоже не используются.

Во вторых TRISA младшие 6 разрядов на вход, 2 старших разряда на выход.

Может там дальше меняется чтото, но это схеме не соответствует.

 

Надо сидеть, декодировать что там делается.

Там какието действия, потом значение добавляется к указателю команд и он от значения этой суммы кудато прыгает.

Вам надо самому разобратся, вряд ли ктото будет тратить несколько часов чтобы понятъ код.

Спасибо за доходчивое пояснение. Пожалуй забью я на этот вариант. Поищу что-нибудь другое, т.к. в программировании полный НОЛЬ.

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


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

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

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

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

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

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

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

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

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

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