Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прошивка PIC16F628A
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Archivarius
Всем привет! Вот решил собрать регулятор мощности на PIC16F628A (схема и прошивка в архиве). Ну проще, наверное, нет схемы :-). Проблема: в протеусе все работает, а в железе - нет. Программатор у меня - ChipProg-48. Подазреваю, что надо как-то включить работу от внутреннего генератора; не выходит. прошу совета и помощи. Спасибо.
A. Fig Lee
Цитата(Archivarius @ Jul 1 2014, 06:10) *
Всем привет! Вот решил собрать регулятор мощности на PIC16F628A (схема и прошивка в архиве). Ну проще, наверное, нет схемы :-). Проблема: в протеусе все работает, а в железе - нет. Программатор у меня - ChipProg-48. Подазреваю, что надо как-то включить работу от внутреннего генератора; не выходит. прошу совета и помощи. Спасибо.

A где код? Или надо hex декодировать?
Voldemari4
Не помню как там в ChipProg'е, а в WinPic800 можно управлять битами конфигурации. Попробуйте выставить CONFIG.FOSC = b100, то есть задействовать внутренний генератор
Archivarius
Цитата(A. Fig Lee @ Jul 1 2014, 15:14) *
A где код? Или надо hex декодировать?

Я не автор прошивки :-(. Взял готовую.
Archivarius
Цитата(A. Fig Lee @ Jul 1 2014, 15:14) *
A где код? Или надо hex декодировать?

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

Цитата(Voldemari4 @ Jul 1 2014, 16:30) *
Не помню как там в ChipProg'е, а в WinPic800 можно управлять битами конфигурации. Попробуйте выставить CONFIG.FOSC = b100, то есть задействовать внутренний генератор

Пробовал я различные варианты с битами (видимо плохо пробовал). Вот на картинке варианты для генератора, которые предлагает программатор. Как правильно?
Dmitry Dubrovenko
Цитата(Archivarius @ Jul 1 2014, 18:06) *
Почему эти буфера так различны?
Потому, что это - EEPROM.
По-видимому, Вы используете обычный режим программирования, а т.к. генератор внутренний и #MCLR отключен, то МК после программирования запускает программу, которая и пишет какие-то данные в EEPROM. Возможно поэтому и девайс не запускается. Установите режим программирования "First Vpp" (может называться как угодно, в общем смысл в том, что сперва надо подавать Vpp, а затем Vdd, а снимать в обратном порядке).
Кстати, "я не узнаю Вас в гриме". Что за программатор?

Цитата(Archivarius @ Jul 1 2014, 18:06) *
Вот на картинке варианты для генератора, которые предлагает программатор
Нифига подобного.
В хексе всё нормально: внутренний генератор с отключённым #MCLR, правда, зачем-то включён вывод тактовой частоты на CLKOUT.
А, понял! Это был вопрос. rolleyes.gif
Правильно: INTRC oscillator, I/O function on RA6/OSC2/CLKOUT pin (в хексе установлено: INTRC oscillator, CLKOUT function on RA6/OSC2/CLKOUT pin, что тоже должно работать).
Archivarius
Цитата(Dmitry Dubrovenko @ Jul 1 2014, 19:46) *
Кстати, "я не узнаю Вас в гриме". Что за программатор?

Так вроде в первом посте написано "ChipProg-48".
Archivarius
Цитата(A. Fig Lee @ Jul 1 2014, 15:14) *
A где код? Или надо hex декодировать?

Установил MPLAB IDE. Когда-то собрал программатор для PIC (Н.Хлюпин, Радио 2006, №6) и решил использовать его для прошивки. В прилагаемом файле результат дизассемблирования оригинального HEX (мне это ничего не говорит) программой. Может кто проверит это все и подскажет правильные конфигурационые биты для MPLAB IDE?
A. Fig Lee
Цитата(Archivarius @ Jul 2 2014, 10:05) *
Установил MPLAB IDE. Когда-то собрал программатор для PIC (Н.Хлюпин, Радио 2006, №6) и решил использовать его для прошивки. В прилагаемом файле результат дизассемблирования оригинального HEX (мне это ничего не говорит) программой. Может кто проверит это все и подскажет правильные конфигурационые биты для MPLAB IDE?

А какие сейчас биты стоят?
Archivarius
Цитата(A. Fig Lee @ Jul 2 2014, 18:22) *
А какие сейчас биты стоят?

Да я уже с разными битами и прошивал и стирал; а воз и ныне там. Сейсас вот так. При загрузке HEX в MPLAB биты конфигурации выглядят так:
A. Fig Lee
Вроде правильно.
Я немного глянул ассемблер.
Во первых, прерывания похоже не используются.
Во вторых TRISA младшие 6 разрядов на вход, 2 старших разряда на выход.
Может там дальше меняется чтото, но это схеме не соответствует.

Надо сидеть, декодировать что там делается.
Там какието действия, потом значение добавляется к указателю команд и он от значения этой суммы кудато прыгает.
Вам надо самому разобратся, вряд ли ктото будет тратить несколько часов чтобы понятъ код.
Archivarius
Цитата(A. Fig Lee @ Jul 2 2014, 21:41) *
Вроде правильно.
Я немного глянул ассемблер.
Во первых, прерывания похоже не используются.
Во вторых TRISA младшие 6 разрядов на вход, 2 старших разряда на выход.
Может там дальше меняется чтото, но это схеме не соответствует.

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

Спасибо за доходчивое пояснение. Пожалуй забью я на этот вариант. Поищу что-нибудь другое, т.к. в программировании полный НОЛЬ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.