| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Atmel AT89C52 |
| Автор: falcon39 17.12.2005, 13:34 |
| У меня есть программатор PicProg+ работает только под MS DOS из за этого приходится ставить виртуальную машину что есть не очень удобно. Есть ли программы под Windows? |
| Автор: PILOT 17.12.2005, 20:43 |
| Есть утилиты, которые позволяют работать с портами напрямую DOS-программам. СУВ. |
| Автор: falcon39 17.12.2005, 21:37 |
| Воспользовался я одной такой. После запуска произошел эфект кнопки RESET. Думал Винда коньки отбросит. Может ты знаешь ссалки на подобные проги. Спасибо за ответ. |
| Автор: scapig 17.12.2005, 21:42 |
| сам напиши... проще всего... |
| Автор: falcon39 17.12.2005, 21:49 | ||
Если ты знаешь как. Помоги. Я не против сам написать. |
| Автор: scapig 17.12.2005, 22:15 |
| Если знаешь С/С++ или Делфи... то проблем нету.... Еще надо знать сам "протокол " (алгоритм) прошивки МК (это все в доках к МК есть).... Могу кое-что посоветовать.... т.к. я имел такое удовольствие - написал прогу для WinNT/2k/xp , с пом-ю которой я прошиваю мк АТ89С 1051/2051/4051... На большее меня не хватило... точнее не было необходимости... Ну а программатор PICPROG - его логика реализована "аппаратно" на цифровых М/С или там МК стоит??? И еше... Он подкл. к ЛПТ или к СОМ ... ??? (я просто не помню .. давно уже не занимался этим... другие заботы... |
| Автор: PILOT 18.12.2005, 02:16 |
| Это раз. СУВ. |
| Автор: PILOT 18.12.2005, 02:17 |
| Это два |
| Автор: falcon39 18.12.2005, 18:31 |
| На программаторе стоит ПЛИС. Подключен к LPT. Прошивается специальной прогой. Она же выбирает тип микросхемы. Где бы найти этот алгоритм. Фирма разработчик этого программатора забила болт на него и софт не обновляет. |
| Автор: scapig 18.12.2005, 19:58 |
| Да... тут дело пахнет керосином... Еслиб не ПЛИС.... А чо за плис ??? (или там они затерли надпись) |
| Автор: PILOT 18.12.2005, 21:12 |
| ИМХО ты слишком далеко полез... нужно придумывать что-то более простое... СУВ. |
| Автор: falcon39 18.12.2005, 22:07 |
| ПЛИС XILINX XC3030 PC84BKJ9725 A1027415A 70C Еслиб ALTERA была то ее можно было бы прочитать. Я конечно нашел схему другого программатора. Но его собрать нужно к тому же там тоже контроллер. Есть ли какой нибудь другой простой способ прошить AT89C52. И какая у него минимальная тактовая частота. А то я 4метровый кварц ему воткнул. Мне сказали что будет работать. Да я и видел что работает. А у меня не получается даже бегущую строку. Такое чувство что он в определенный момент виснет. Моя аська 264-630-095 |
| Автор: falcon39 24.12.2005, 13:09 |
| Никто низнает? |
| Автор: scapig 24.12.2005, 15:27 |
| По ходу никто... А чем мс дос не устраивает??? Ставь тогда лихух и запускай свою прогу через эмулятор... Вот еслиб программатор был не на МК,ПЛИС , а просто на цифровых мс то ... да... можно б было быстро разобраться с ним... А так... не... парева много... А кварц вроде мин = 4 МГц... макс 24МГц Ты в доке глянь... А в принципе какая разница .. можно и меньше.... будет тормознеее... |
| Автор: falcon39 24.12.2005, 23:42 |
| А почему он тогда подвисает? Вроде прога простейшая. |
| Автор: Dreamer_0x01 25.12.2005, 13:36 |
| Уже три года прошиваю контроллеры At89c52, AT89S53 и AT89C55WD с помощью программатора ChipProg от Phyton. Проблем нет, он стоит тех денег. Софт к нему идет в комплекте с программатором, и что самое важное, постоянно обновляется. Что касается подвисания. Это проверяется просто - осциллографом. Посмотри, что у тебя делается на Ресете - это раз. Сигнал должен быть устойчивым. И попробуй для начала записать туда программу по проще - например, в цикле инвертируй один из выводов порта с небольшой задержкой. Тогда ты на осциллографе и увидишь, работает ли проц или нет. Кроме того, по хекс-коду программы ты тоже при некотором навыке увидишь ее содержание. Маленькую проргамму подобного рода вообще без компилятора можно написать, сразу в хекс-коде, но, правда, это уже для извращенцев =) Ну а уж если совсем туго...Попробуй зайти вот в эту тематическую конференцию по Атмелу, там много людей с ним работает. Кроме того, по проргамматорам там тоже много материала есть... http://fulcrum.ru/cgi-bin/bbs/start.pl Удачи. |
| Автор: PILOT 25.12.2005, 22:13 |
| В 51-ых есть сигнал ALE, который дергается с частотой Freq/12 примерно. Можно его контролировать, наверное... СУВ. |
| Автор: DonPager 27.12.2005, 11:45 |
| falcon39 поищи на фитоновском сайте - помоему чиппрог к пикпрогу подходит (сам не знаю у меня чип) |
| Автор: falcon39 1.1.2006, 18:44 |
| Есть вопрос. У меня пропадает тактовый сигнал. Что может быть? |
| Автор: PILOT 1.1.2006, 23:44 |
| Не тот кварц. Не те настройки под данный кварц. Конденсаторы на кварце не те висят. Сторожевой таймер настроен неправильно или неправильно будится. Линия ресета подключена неправильно (висит в единице). СУВ. |
| Автор: falcon39 1.1.2006, 23:56 |
| Линия RESET подключена правильно. Осцилом проверял = 0. Я пробовал разные кварцы (на 4 МГц и на 12МГц). Кондеры стоят - 47 пФ. Про сторожевой таймер по подробней. Что это такое и как настраивается. Пробовал с внешним генератором. Тоже самое. Сек 30 поработает и проподает. На выводе XTAL1 нормальные импульсы, на выводе XTAL2 сначало импульсы а потом еденица. В течении месяца мучаюсь, но понять в чем дело не могу. |
| Автор: PILOT 2.1.2006, 02:06 |
| 1) 47 пиков это оч. много, поставь 22-33. 2) другие кристаллы (экземпляры) пробовал? 3) Сторожевой таймер WDT, служит для того, чтобы восстановить работу системы если она подвисла (вечный цикл, стресс и т.п.), Этот таймер в принципе и не таймер а счетчик который нужно постоянно сбрасывать в ноль выполняя команду сброса WDT. Если команда не поступила (т.е. система подвисла, зациклилась), то WDT дергает ногу RST в единицу, после чего происходит перезапуск контроллера. Так вот возможно из-за такой офигительной емкости на XTAL после срабатывания WDT не запускается генерация. Хотя это пальцем в небо. Нужно проверять все. СУВ. |
| Автор: falcon39 2.1.2006, 12:23 |
| Попробую, а почему с внешним генератором таже ситуация. |
| Автор: PILOT 2.1.2006, 13:52 |
| ХЗ. исследовать нужно... СУВ. |
| Автор: falcon39 2.1.2006, 14:50 |
| PILOT - ты меня извени но ты наверно ошибся. В 52 нет сторожевого таймера. Он есть в 55. |
| Автор: PILOT 3.1.2006, 00:00 |
| Очень может быть... под руками документации нет СУВ. |
| Автор: falcon39 12.1.2006, 22:43 | ||
Привел текст программы. Где в ней ошибка, из за которой может проподать тактовый сигнал. Я перепробовал несколько номиналов конденцаторов (10,15,20 пФ). Но когда поставил чистый контроллер то тактовый сигнал не проподал. Я просто понять не могу, какое отношение имеет программа к тактовому сигналу. Прошу помощи. Потому как с ноября 2005 года пытаюсь хоть что нибудь сделать. |
| Автор: PILOT 12.1.2006, 22:55 | ||
Этот код работает? СУВ. |
| Автор: Гость_falcon39 13.1.2006, 11:24 |
| Таже самая проблема. Может быть причина в том что я на макетной плате собираю? |
| Автор: PILOT 15.1.2006, 00:47 |
| Кварц менял? Генератор ставил вместо кварца? СУВ. |
| Автор: falcon39 29.1.2006, 23:47 |
| С причиной остановки контроллера разобрался. Сигнал EA воткнул на прямую к питанию без резистора. Первые программы, а их было около 5 работали отлично, но дальнейшие модернизации программ затруднено тем что в С52 есть таймер2 который использует новые регистры, а компилятор asm51 про них незнает. Есть конечно способ правки бинарного файла. Но в моем случае это немного геморно. Так как контроллер программирую под виртуальной машиной, потому что программа к PICPROG+ работает под досом, а XP как известно не любит пускать к портам просто так. Есть ли простенький компилятор для 52, чтоб знал про его новые регистры. |
| Автор: falcon39 17.2.2006, 14:42 |
| Сделал я как ты говорил. Но нечего не получились. Как правилино настроить таймер 2. |
| Автор: Dreamer_0x01 20.2.2006, 19:52 |
| Смотря на что настраивать... |