Страница 1 из 2
AT89S8252: странное поведение
Добавлено: Вс апр 14, 2013 19:25:47
const92
Доброго времени суток, уважаемые коты.
Так как в институте изучаем мк-51, решил взять для начала сабж. Программатор avr910-совместимый, подхватилось и шьется программой AvrProg. Проверка зашитого кода тоже проходит нормально. Но сама программа выполняться не хочет.
Для начала (слышу возмущенное мурчание в сторону кода) запилил мигание светодиодом
Из примера, компилил через мультисим
Код: Выделить всё
$MOD51
ORG 0h
start:
CLR p0.0
CALL delay
SETB p0.0
CALL delay
SJMP start
delay: MOV r1,#255
del1: MOV r2,#255
del2: DJNZ r2,del2
DJNZ r1,del1
RET
END
Проверял на портах P1, P2, P0. Во время манипуляций с программой - невнятное непериодическое мерцание светодиода. Спустя 5-10 секунд замирает либо в 0, либо в 1. Напряжение на микросхеме 3,65 В (может мало?).
Перекопал некоторое колиество англоязычных ревурсов в Интернет, но внятного ничего не нашел. Чем можно объяснить подобное поведение мк?
_____
ня
Re: AT89S8252: странное поведение
Добавлено: Пн апр 15, 2013 09:53:55
Gudd-Head
const92 писал(а):start:
CLR p0.0
CALL delay
SETB p0.0
CALL delay
Порт на вывод настроили?
Re: AT89S8252: странное поведение
Добавлено: Пн апр 15, 2013 10:23:11
Vov123
это-ж 51,не надо.
Re: AT89S8252: странное поведение
Добавлено: Пн апр 15, 2013 10:30:51
petrenko
Вообще то так делать не есть хорошо.
Ну сначала поучитесь, конечно и так, но это ужас как нерационально.
Там не зря таймеры есть между прочим !
Следующим этапом обучения - настраивайте таймер и прерывания !
Всегда радует, когда молодёжь что то пытается именно изучить, а не "пройти"(мимо).
Удачи в освоении !
P.S. Да, и светодиод просто так "вешать" не рекомендуется - Вы в курсе, что можете пожечь мк ? На всякий случай - покажите, как подключили.
Re: AT89S8252: странное поведение
Добавлено: Пн апр 15, 2013 10:43:09
Vov123
не знаю как у ТС,я гонял 89S51(52),так там в системе сброса обязательна ёмкость,без неё не пашет.
Re: AT89S8252: странное поведение
Добавлено: Пн апр 15, 2013 18:59:09
const92
Vov123 писал(а):не знаю как у ТС,я гонял 89S51(52),так там в системе сброса обязательна ёмкость,без неё не пашет.
После Вашего сообщения поставил RC цепь на RST вывод - реакция МК та же.
petrenko писал(а):Удачи в освоении !

Спасибо, конечно, но вот начать как-то не получается
Gudd-Head писал(а):Порт на вывод настроили?
Я так понял, что порт на вывод работает по умолчанию. Ну или clr pX.Y до основной программы.
С осцилографом напряг, поэтому могу судить только по внешним признакам мигания светодиода. И мигание это крайне нестабильное. Семпаи сказали, что МК из-за наводок может блокироваться
Да, забыл сказать, что это AT89S8252-24PI - в DIP корпусе на 24 МГц, но сейчас стоит кварц на 4 МГц. Странно, другая программа с таймерами тоже отказывается работать. На этот раз компилировал в M-IDE-51
_____
ня
Re: AT89S8252: странное поведение
Добавлено: Пн апр 15, 2013 23:04:47
Vov123
У меня ёмкость стоит 0,47мкф
Re: AT89S8252: странное поведение
Добавлено: Вт апр 16, 2013 01:45:32
SergeBS
const92 писал(а):Напряжение на микросхеме 3,65 В (может мало?).
Перекопал некоторое колиество англоязычных ревурсов в Интернет, но внятного ничего не нашел. Чем можно объяснить подобное поведение мк?
Объясняется это тем, что кое-кто не читает доки. А в этой доке про этот МК НАПИСАНО: питание 5В +-20%. Не стыдно?
Re: AT89S8252: странное поведение
Добавлено: Вт апр 16, 2013 01:51:09
SergeBS
И светодиод небось таким же халявным методом напрямую к выводу подключил...
Re: AT89S8252: странное поведение
Добавлено: Вт апр 16, 2013 12:32:13
Vov123
const92,бросайте этот хлам,видео посмотрите,какие продвинутые девчонки,а вы 8051
http://bsvi.ru/stm32-nastraivaem-iar-i- ... #more-1041
Re: AT89S8252: странное поведение
Добавлено: Вт апр 16, 2013 16:18:57
petrenko
SergeBS писал(а):И светодиод небось таким же холявным методом напрямую к выводу подключил...
Вот вот, очень может быть.
А ведь я даже уже написал на всякий случай :
petrenko писал(а):.... Да, и светодиод просто так "вешать" не рекомендуется - Вы в курсе, что можете пожечь мк ? На всякий случай - покажите, как подключили.
Всё бывает от невнимательности и легкомысленного изучения "быстрым наскоком", не вникая.
Re: AT89S8252: странное поведение
Добавлено: Вт апр 16, 2013 16:44:44
const92
ладно, спасибо всем, моя плата дичайше реагирует на руки подносимые к ней. переделаю
_____
ня
Re: AT89S8252: странное поведение
Добавлено: Вт апр 16, 2013 22:31:28
const92
НЯ плата переделана по указаниям старших котов, вот файл, с котрого утюжил платку
(хотя там мало что понятно)
Vov123 писал(а):питание 5В +-20%. Не стыдно?
Однако же, прошивается при 3-4 вольтах. А при 5 В работа такая же нестабильная.
реакция на заведомо работающие программы все та же, непериодическое мерцание светодиодов.
Может контроллер уже битый? Как проверить?

И хорошо бы откликнулся тот, кот реально работал с этим МК
Re: AT89S8252: странное поведение
Добавлено: Вт апр 16, 2013 23:03:30
petrenko
Ну уже несколько человек откликнулись.
И чем мы поможем, если Вы игнорируете всё, что написано в документации по данному мк ( судя по той плате в .pdf светодиоды "вешаете" неправильно - как и угадал коллега и ещё много чего не соответствует... )
Ещё разок - внимательно, без верхушечного "перескока-прочтения по диагонали" прочтите
всё в документации по данному мк пожалуйста.
И подключайте в соответствии с рекомендациями.
Тогда уже можно будет понять что к чему и помочь Вам.
Re: AT89S8252: странное поведение
Добавлено: Ср апр 17, 2013 00:38:03
SergeBS
const92 писал(а):Однако же, прошивается при 3-4 вольтах.
Так "однако же, и диоды светятся...". Результат полностью соответствует подходу: халтурный подход - халтурный же и результат. А там глядишь, волшебный дым, на котором МС работает, из нее выйдет

. Она работать перестанет и все вопросы пропадут. Какие проблемы?

Re: AT89S8252: странное поведение
Добавлено: Ср апр 17, 2013 08:41:01
const92
Черт, не надо было плату выкладывать, у вас сложилось неправильное мнение о подключении светодиодов, которые вообще на другой плате через шлейф.
Можно закрывать тему, я не знаю как :3
Re: AT89S8252: странное поведение
Добавлено: Ср апр 17, 2013 13:09:17
petrenko
Чтоб сложилось правильное - выложите фото Вашего "device" а также принципиальную схему включения конкретно данного экземпляра и компонентов.
Как у Вас подключён светодиод ?
Какой кварцевый резонатор и как подключаете к мк ?
Откуда берёте и какова стабильность питания ?
Почему "всё ещё кипятите", ой, пардон, всё ещё тренируетесь делать интервалы циклами, а не переходите к изпользованию таймера в мк - ведь это же рациональнее ?
Осваиваете ли прерывания ?
Желаете ли Вы реально изучить какой либо мк ( необязательно 8051 - можно любой -это не меняет сути подхода к изучению ) серьёзным образом ?
Или повелись на призыв "бросайте этот хлам" и займётесь другой игрушкой ? (но скорее всего с тем же "успехом" если не вникая то... )
Re: AT89S8252: странное поведение
Добавлено: Чт апр 18, 2013 14:54:18
const92
Мать моя Кошка! It works!
Глупость неимоверная, но это Атмель, и есть фьюзы, вернее Lock Bits.
Mode 1 - No internal memory lock features
Mode 2 - No external MOVC, flash prog disabled
Mode 3 - Same as mode 2 and verify disabled
Mode 4 - Same as mode 3 and external exec. disabled
(в AvrProg 1.4 по крайней мере - так)
Режим 1 запрещает чтение из памяти программ, я так понял
На таймерах тоже работает. На всякий случай выложу программу на асме.

Хватило первой странички даташита. Извините, всем спасибо ещё раз
Re: AT89S8252: странное поведение
Добавлено: Чт апр 18, 2013 15:55:16
ibiza11
No internal memory lock features - переводится как "Нет блокировки внутренней памяти"
Re: AT89S8252: странное поведение
Добавлено: Чт апр 18, 2013 18:27:12
petrenko
const92 писал(а):Мать моя Кошка! It works!

..
...На таймерах тоже работает. На всякий случай выложу программу на асме....

Хватило первой странички даташита. Извините, всем спасибо ещё раз
Ну вот, уже лучше, Вы делаете успехи !
Очень рады за Вас, немножко отдохните и давайте дальше - например попробуйте поуправлять восьмью светодиодами ( входящими в состав семисегментного индикатора например ).
Не унывайте, возможно Вы будете одним из немногих, кто учится программировать на ассемблере - а такие специалисты иногда нужны - а взять неоткуда - так что это может стать одним из Ваших преимуществ.
