В сети встречается много схем простых программаторов, работающих от COM порта и не требующих дополнительного источника питания. Попробовав несколько вариантов, ни один из них назвать рабочим на сто процентов я не могу. Причин неудовлетворительной работы таких программатора несколько. Во-первых сигналы интерфейса RS232 плохо совместимы с TTL уровнями. Логическая "1" - это +12 вольт относительно GND интерфейса, а логический "0" это -12 вольт. Таким образом, TTL уровень нуля - сигнал меньше +2 вольт может интерпретироваться интерфейсом RS232 все равно как единица. Во-вторых мощности COM порта может быть не достаточно для питания микроконтроллера. Например, программатор работает от COM порта мультикарты, а порт материнской платы его уже не тянет. В-третьих во время программирования нет требуемой синхронизации ( видимо это связано с наличием у COM порта буферного регистра ). В результате после программирования исполняемый код может разместится в памяти программ микроконтроллера начиная не с нулевого адреса, а с любого другого. В итоге команды GOTO и CALL не работают. Для некоторых программаторов (например для PIX) чтобы избежать этой ситуации предлагается замедлить работу компьютера, программно отключив на время кеш второго уровня. Но и это не всегда помогает. Программаторы, использующие параллельный порт компьютера перечисленных недостатков лишены (хотя имеют некоторые свои). Конечно, хотелось бы иметь программатор, который умеет делать все. Т.е. не только записывать данные в память программ, но и читать, редактировать и записывать память данных, дизассемблировать ... В тот момент, когда я начинал заниматься PICами найти такой программатор в сети не удалось ( наверное плохо искал ;-) ). Попробовал написать сам, вот, что из этого получилось. PIC программатор имеет удобный, настраиваемый интерфейс; работает под Windows 95, 98, ME, NT, 2000 и XP; может программировать PIC16C84, PIC16F84, PIC16F84A, PIC16F627, PIC16F627A, PIC16F628, PIC16F628A, PIC12F629, PIC12F675, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877 и PIC16F877A. Предлагаемая программа позволяет делать следующее: - читать и записывать данные в память программ микроконтроллера; - читать, редактировать и записывать данные в память данных микроконтроллера; - читать, редактировать и записывать данные в идентификатор микроконтроллера; - читать, редактировать и записывать данные в слово конфигурации микроконтроллера; - снимать защиту с микроконтроллера ( но не взламывать ). - переводить в ассемблер данные, прочитанные из микроконтроллера или ‘.hex’ файла. По вопросам приобретения полной версии программы вместе с готовым программатором обращайтесь сюда: Бесплатную ограниченную версию программы можно скачать нажав на эту ссылку. Это версия 4.10a от 1 июня 2005 года ( программа + схема + файл помощи = zip файл =350k ). Ограниченная врсия отличается от полной тем, что в ней часть микроконтроллеров можно только читать, но нельзя записывать и стирать. Ограничения касаются следующих микроконтроллеров: PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877 и PIC16F877A. Схему программатора можно посмотреть здесь (20,2K). Здесь Вы можете посмотреть варианты схем печатной платы программатора, которые прислали пользователи программатора. Ответы на вопросы, связанные с работой программатора смотрите здесь. А здесь можно ознакомится с предложениями пользователей программатора по улучшению его схемы. На странице 'Программатор. История вносимых изменений.' можно узнать когда выходила очередная версия программы и чем она отличалась от предыдущей версии. Ваши замечания о работе программы Вы можете прислать на адрес pic16f84@yandex.ru. Прошу указывать на каком ПК Вы работаете и с какой операционной системой. Другие программы, работающие с этой схемой: - |
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |