11.02.2015, 20:29
|
|
Прохожий
Регистрация: 28.01.2010
Сообщений: 7
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
AT89C51: три порта работают, один - нет?!
Пришлось программировать Atmel AT89C51. Взял microC PRO for 8051 фирмы Microelectronika, программатор Master-02, откомпилировал программку мигания светодиодами из набора поставки компилятора и... три порта (P1, P2, P3) успешно мигают, а P0 - мертв совершенно. (Правда. светодиоды физически не включал, смотрел осциллографом.)
Схему включения проверил неоднократно, пробовал на трех экземплярах МК - все одно и то же. По листингу проверил ассемблерный текст, генерируемый компилятором - вроде все в порядке. Грешил на программатор. Сравнил то, что читается из памяти МК после записи в него программы с кодом, поступающим с компилятора - совпадает. Видно, зря грешил.
С горя снизил тактовую частоту с 12 до 10 МГц, ничего не меняется. За что еще "подергать" - не знаю!
Сроки прошли, отечественное станкостроение не развивается! Буду чрезвычайно благодарен за любые идеи. Спасибо.
|
|
|
Сказали "Спасибо" Eagle_A
|
|
|
11.02.2015, 20:50
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
Сообщение от Eagle_A
|
...три порта (P1, P2, P3) успешно мигают, а P0 - мертв совершенно. (Правда. светодиоды физически не включал, смотрел осциллографом.)
|
А если почитать даташит на микросхему?
Дело в том, что порт P0 в AT89C51 отличается от остальных тем, что у него выходы "с открытым стоком". Поэтому он может формировать только низкий логический уровень, а для формирования высокого уровня - нужны внешние "подтягивающие" резисторы (pullups). Из-за этого Вы и не видели ничего с помощью осциллографа...
|
|
|
Эти 2 пользователя(ей) сказали Спасибо tsb за это сообщение:
|
|
|
11.02.2015, 21:39
|
|
Прохожий
Регистрация: 28.01.2010
Сообщений: 7
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
Огромное спасибо tsb! Посыпаю голову пеплом ранее сожженных мной PIC-ов. После них подобный подвох мне и в голову не мог прийти. (Хотя некоторые сомнения о подтягивающих резисторах меня посещали. Но я их гнал..., а как оказалось, напрасно!)
Еще раз благодарю!
|
|
|
Сказали "Спасибо" Eagle_A
|
|
|
12.02.2015, 11:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
Давно пользуюсь такой штукой: взяться пальцем за вход осциллографа. Голую проволочку на его иголку - и под палец, который держит щуп. Дальше смотрим.
Ничего не подключено - кривая синусоида, наводка. Соединено с "землёй" - ноль (так прозваниваю провода). Лапка контроллера без питания - симметричное ограничение, за счёт диодов подтяжки. Подано питание, режим входа - ограничение в пределах питания.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо makakus за это сообщение:
|
|
|
12.02.2015, 11:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,731
Сказал спасибо: 2,454
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
Я подавал питание через высокоомный делитель из одинаковых резисторов на вход осциллографа. Были пульты на КМОП микросхемах.Стоит половина питания-значит вход в обрыве,а сигналу не мешает.
Последний раз редактировалось baiderin; 12.02.2015 в 11:34.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо baiderin за это сообщение:
|
|
|
12.02.2015, 12:22
|
|
Прохожий
Регистрация: 27.01.2015
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
А как Ваc получалось жечь PIC-и? И что означает : "После них подобный подвох мне и в голову не мог прийти."?
|
|
|
Сказали "Спасибо" shindbad
|
|
|
12.02.2015, 22:12
|
|
Прохожий
Регистрация: 28.01.2010
Сообщений: 7
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
Спасибо makakus и baiderin. Поистине безгранична мудрость народная.
Такие перлы надо было бы публиковать, например, в журнале типа "Наука и жизнь" (но для электронщиков) в разделе "Маленькие хитрости".
To: shindbad. Я так и думал, что кто-то поинтересуется, как сжечь PIC!
Действительно, полностью сжечь такой МК мне ни разу не удавалось, а вот отдельные выходы - вполне. Когда у вас на одной плате с МК плате бодро коммутируются большие реактивности при
напряжении 170 вольт, то, как говорил Жванецкий: "Одно неверное движение - и ты отец!"
А фразой, о том, что после PIC-ов мне не могло прийти в голову наличие
у МК AT89C51 целого порта с выходами с открытым коллектором, я хотел лишь сказать,
что среди аналогичных изделий Microchip мне ни разу такое не попадалось, хотя,
конечно, надо признать, что среди многих сотен я работал только с пятью типами, и на общность
мои слова претендовать никак не могут.
|
|
|
Сказали "Спасибо" Eagle_A
|
|
|
13.02.2015, 00:10
|
|
Заблокирован
Регистрация: 10.03.2008
Адрес: г. Пятигорск
Сообщений: 456
Сказал спасибо: 46
Сказали Спасибо 281 раз(а) в 149 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
У всей серии MCS-51 все выходы - "открытый сток".
И какой бы сигнал на выходе процессора не присутствовал, убить выход процессора замыканием его на массу нельзя. Так же прямо к выводу порта можно подключать базу транзистора, без резисторов, но всё же желательно подтягивающий резистор на питание поставить.
|
|
|
Сказали "Спасибо" Oleg_Bratkov
|
|
|
13.02.2015, 00:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: AT89C51: три порта работают, один - нет?!
Сообщение от Oleg_Bratkov
|
У всей серии MCS-51 все выходы - "открытый сток".
И какой бы сигнал на выходе процессора не присутствовал, убить выход процессора замыканием его на массу нельзя. Так же прямо к выводу порта можно подключать базу транзистора, без резисторов, но всё же желательно подтягивающий резистор на питание поставить.
|
Да разные там выходы портов - матчасть учить всегда надо. Базу транзистора подключить можно куда угодно - тока бы хватило
|
|
|
Сказали "Спасибо" Boba_spb
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:10.
|
|