Группа: Cоучастник
Сообщений: 1144
Пользователь №: 17903
Регистрация: 16-February 07
Место жительства: Москва
Так, судя по ветке, компилить его надо с конкретным кодом ключа. А не просто так. Я скомпилю тебе с тем кодом что там есть, а он у тебя работать не будет 100%. :D
--------------------
"Очередной шаг вперед, как правило, результат хорошего пинка в зад!"(С)
ну чтож. запрогал я наконецто этот 12F629,мучал его 5 дней собирал RCD progr,JDM,COM84 ничего не хотело с ПИКом работать.... потом лазил по нету и наткнулся на программер для 16Ф84 (легче не придумаеш-3 резистора и 5 вольт из USB)собрал,подобрал контакты под 12Ф629 и с первого раза всё запрограммировалось,до сих пор не могу понять как даже пресловутый JDM не захотел программировать это ПИК) Ну ладно запрогал я этот пик, но эмулятор работать не хочет! Взял контроллер ключей от Метакома(там ДС1990 поддерживаются)запрогал туда Таблетку(DS1990a) от сиги квартирной,и запрогал ПИК (кодом,CRC этого ключа). Тестировал-на реальную таблетку контроллер реагирует , а на эмулятор ноль эмоций .... Что может быть?
Собрал я его так как в схеме -->
Это сообщение отредактировал ADroo - Apr 13 2008, 11:42 AM
Присоединённое изображение (Нажмите для увеличения)
C 629 могут быть проблемы . Судя по схеме и исходнику , используеться внутренний генератор .Смотри не затер ли ты часом калибровочную константу . Если да то пик будет просто висеть. Находиться в ячейке 3fff типа 34 хх( retlw xx)....
Запиши туда 0x34 0xB0 то есть RETLW 0xB0 . Насколько я помню 0xB0 это середина диапазона подстройки осцилятора , то есть если частота уйдет придеться соответственно и константу править... Если пишешь IC PROG он обычно спрашивает затирать константу или нет , видно твой программатор( прога) этого не делает . В IC PROG можешь и отредактировать прошивку . HI TECH коим вы компили, по умолчанию вставляет команду считывания константы (call 0x3fff) и если в этой ячейке 0x3ff ( не помнюю какая команда) то счетчик программ , исполнив эту команду) перейдет опять на вектор сброса снова повториться вызов и так до бесконечности.... в результате переполнение стека и зависание...
Калибровочная константа заноситься на заводе изготовителе , и что бы восстановить ее надо делать генератор на этом пике .Затем подбирать константу , контролируя частоту.
Мне кажется здесь 3 варианта , либо проект не рабочий .... Хотя это врядли . Либо где то у тебя сопли ( непропай и т.д.) или же конфигурация пика неправильная .
В принципе все это можно проверить осциллографом.
Не помешало бы в проекте использовать светодиод , хотя бы показывать что пик запустился....
dosikus,огромное вам спасибо за помощь! пробовал подбирать калибровучную константу, получилось после часа мудёжки с IC-PROG кричал ураааа на всю квартиру!!! сначала ставил по порядку,надоело,поставил наугад 34D0 и запустился эмулятор !!!!Работает отлично!!! Потом подумал попробую найти максимальное и минимальное значение константы при котором запускается контроллер,подобрал --> MIN 34CC MAX 34FF , теперь нужно вычислить среднее значение константы(как мне кажется это будет почти то значение, которое выставили на заводе)но в 16-тричной системе я еле-еле разбираюсь.Поэтому если можете то посчитайте пожалуйста среднее значение из MIN и MAX.
Среднее будет E6. Но недумаю что RC генератор не запускаеться , скорей тайминги начинают круто отличаться от нужных. На заводе выставляют частоту 4 мгц при 25 градусах. И константу по идее можно менять от 0 до ff , хотя надо будет проэксперементировать. Завтра посмотрю какие на моих пиках ( у меня их штук 30).
Для калибровки генератора в конфигурации установи RC CLKOUT. На 3 ногу (порт GP4) будет выдаваться тактовая генератора деленная на 4 (т.е. при фабричной калибровке - 1МГц). Константа меняется в диапазоне 0х00-0хFC с шагом 4 т.к. младшие 2 бита не используются. Поэтому средняя частота - 0х80. После калибровки CLKOUT можно выключить - может потребление поменьше будет...