roboforum.ru

Технический форум по робототехнике.

Помогите! Перенос проги под PIC12C671 на PIC12F629

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение DiverRS » 24 май 2010, 23:14

Добрый день! Есть схема с исходником под PIC12C671. Компилирую в MPLAB, прошиваю в icprog, сравниваю с буфером - ошибка, записывает периодически повторяющийся код до полного заполнения памяти. Устройство не работает, 2 проца испорчены. Решил ту-же прогу зашить в PIC12F629, вроде такой-же, только с флеш памятью. Устройство по прежнему не работает.
В Proteus та-же картина. При замене в исходнике строки list P=12C671 #include "P12C671.inc" на list P=12F629 #include "P12F629.inc" не компилируется, выдаёт ошибку:

Building ROV_TX_2.ASM...
Command line: "E:\PROGRAMS\MPLAB\MPASMWIN.EXE /e+ /l+ /x- /w0 /c+ /m+ /rhex /p12F629 /q ROV_TX_2.ASM"
Warning[224] E:\CODES\ROV_TX_2.ASM 116 : Use of this instruction is not recommended.
Warning[224] E:\CODES\ROV_TX_2.ASM 118 : Use of this instruction is not recommended.
Error[113] E:\CODES\ROV_TX_2.ASM 184 : Symbol not previously defined (ADCON)
Error[113] E:\CODES\ROV_TX_2.ASM 187 : Symbol not previously defined (ADCON1)
Error[113] E:\CODES\ROV_TX_2.ASM 197 : Symbol not previously defined (ADCON0)
Error[113] E:\CODES\ROV_TX_2.ASM 197 : Symbol not previously defined (GO)
Error[113] E:\CODES\ROV_TX_2.ASM 200 : Symbol not previously defined (ADRES)
MPLAB is unable to find output file "ROV_TX_2.hex". This may be due to a compile, assemble, or link process failure.
Build failed.

Что делать, тока ногами не бейте !
p.s. Исходник прилагаю.
Вложения
rov_tx.zip
Исходник
(3.12 КиБ) Скачиваний: 0
Аватара пользователя
DiverRS
 
Сообщения: 5
Зарегистрирован: 24 май 2010, 23:02

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение Anubis » 24 май 2010, 23:57

По старинке с наскока не получится... Даташит смотрел на оба этих пика? Если нет то гляди -
"PIC12C671 - 8-Pin, 8-Bit CMOS Microcontroller with A/D Converter and EEPROM Data Memory" тобишь у него сколько-то битный АЦП на борту. В программе как раз идет обращение к регистрам отвечающим за этот модуль (ADCON, ADCON1, ADCON0, ADRES и тд и тп...). А у второго PIC12F629 в даташите написано - "ANALOG-TO-DIGITAL CONVERTER (A/D) MODULE (PIC12F675 ONLY)" тобишь нету его там :wink: Вот MPLAB и ругается на него. С кодом не стал разбираться, я с асемблером плохо и не на ночь глядя. Утром гляну. А PIC12C прошивать непонятно чем не самая хорошая идея, он шьется только один раз. Схема то есть чтобы проверить работу в протеусе?
DiverRS то что у них у обоих 8 ног еще ничего не значит. :)
Блин, никак не могу придумать подпись!
Аватара пользователя
Anubis
 
Сообщения: 268
Зарегистрирован: 03 дек 2008, 23:24
Откуда: Тамбов
Skype: anubis_kesh
прог. языки: Delphi, С++, PHP, HTML
ФИО: Гребенников Роман

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение DiverRS » 25 май 2010, 02:08

Спасибо за быстрый ответ, видимо не дочитал даташит. Надо учить матчасть. Буду искать коректную замену. Решил сваять подводного робота с управлением по кабелю, видимо прийдется привлекать шарящего электронщика. Вообще с электроникой проблемы, ну там повторить готовую схему, развести в Eagle, спаять прошить могу, но если бока какие, то начинаются танцы с бубном.
Вложения
Схема, исходники.zip
(147.66 КиБ) Скачиваний: 0
Аватара пользователя
DiverRS
 
Сообщения: 5
Зарегистрирован: 24 май 2010, 23:02

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение Anubis » 25 май 2010, 02:56

Надо с простого начинать, а не повторять сразу то что нашел. Раз 20 находил в журналах радио такую ахинею что диву давался как ее туда пропустили.
Корректной заменой может быть и PIC12F675 он как раз с АЦП. Но мне кажется надо как следует посидеть с программой чтобы понять как она работает. А когда поймешь, не парится с этим 8-ми ногим камнем, а брать нормальный, ног эдак 28-40 (PIC16F, PIC18F). С ними и работать интереснее в разы и встроеных модулей больше. Если паять собирать можешь, значит и с остальным разберешься, было бы желание. Если что поможем. Схему утром гляну :wink: Сейчас спать, спать, спать.... :on_off:
Блин, никак не могу придумать подпись!
Аватара пользователя
Anubis
 
Сообщения: 268
Зарегистрирован: 03 дек 2008, 23:24
Откуда: Тамбов
Skype: anubis_kesh
прог. языки: Delphi, С++, PHP, HTML
ФИО: Гребенников Роман

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение Anubis » 25 май 2010, 09:47

А зачем ты в протезе сразу весь аппарат собрал? Сложнее же разобраться что работает, а что нет. По поводу пульта как я и говорил если сильно хочется бери PIC12F675. Я бы взял PIC16F873 (28-pin), был бы задел на расширение, больше кнопок можно было бы поставить, больше функций реализовать. А вот на самого робота я бы поставил PIC18F4520, он пошустрее и не сильно дороже. Кстати с распиновкой совпадает с PIC16F877.
По поводу АЦП чтобы более менее понять как это работает почитай вот здесь - http://www.pcports.ru/articles/pic7.php
Блин, никак не могу придумать подпись!
Аватара пользователя
Anubis
 
Сообщения: 268
Зарегистрирован: 03 дек 2008, 23:24
Откуда: Тамбов
Skype: anubis_kesh
прог. языки: Delphi, С++, PHP, HTML
ФИО: Гребенников Роман

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение DiverRS » 25 май 2010, 14:26

Заменить на более продвинутые процы хорошо, но платы уже спаяны, и такие красивые лежат. В Proteus собран только один канал, пульт с 12С671 работает, а вот приёмник на PIC16F84 что-то пока нет. Буду по кусочкам собирать.
Аватара пользователя
DiverRS
 
Сообщения: 5
Зарегистрирован: 24 май 2010, 23:02

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение Anubis » 25 май 2010, 14:56

Что конкретно в приёмнике на PIC16F84 не работает?
Блин, никак не могу придумать подпись!
Аватара пользователя
Anubis
 
Сообщения: 268
Зарегистрирован: 03 дек 2008, 23:24
Откуда: Тамбов
Skype: anubis_kesh
прог. языки: Delphi, С++, PHP, HTML
ФИО: Гребенников Роман

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение DiverRS » 26 май 2010, 02:07

А ничего не работает, должен хотя бы диодиком мигнуть при запуске программы. А при ворочании переменного резюка на передатчике, ШИМ сигнал выдавать на драйвер мотора. Вообще в Proteus 7.4 могут глючить некоторые микрухи.
Аватара пользователя
DiverRS
 
Сообщения: 5
Зарегистрирован: 24 май 2010, 23:02

Re: Помогите! Перенос проги под PIC12C671 на PIC12F629

Сообщение Anubis » 26 май 2010, 09:08

Ну так глубоко я еще не копал, чтобы у меня протез глючил. Если в течение дня будет время гляну поподробнее что там с ним не так.
Блин, никак не могу придумать подпись!
Аватара пользователя
Anubis
 
Сообщения: 268
Зарегистрирован: 03 дек 2008, 23:24
Откуда: Тамбов
Skype: anubis_kesh
прог. языки: Delphi, С++, PHP, HTML
ФИО: Гребенников Роман


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4