Страница 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
Вообще то так делать не есть хорошо.
Ну сначала поучитесь, конечно и так, но это ужас как нерационально.
Там не зря таймеры есть между прочим ! :wink:
Следующим этапом обучения - настраивайте таймер и прерывания !

Всегда радует, когда молодёжь что то пытается именно изучить, а не "пройти"(мимо).
Удачи в освоении ! :beer:

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 писал(а):Удачи в освоении ! :beer:
Спасибо, конечно, но вот начать как-то не получается
Gudd-Head писал(а):Порт на вывод настроили?
Я так понял, что порт на вывод работает по умолчанию. Ну или clr pX.Y до основной программы.
0001.PNG
(8.27 КБ) 657 скачиваний
С осцилографом напряг, поэтому могу судить только по внешним признакам мигания светодиода. И мигание это крайне нестабильное. Семпаи сказали, что МК из-за наводок может блокироваться :cry:

Да, забыл сказать, что это 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
НЯ плата переделана по указаниям старших котов, вот файл, с котрого утюжил платку
at89s8252_v2.pdf
(27.34 КБ) 421 скачивание
(хотя там мало что понятно)
Vov123 писал(а):питание 5В +-20%. Не стыдно?
Однако же, прошивается при 3-4 вольтах. А при 5 В работа такая же нестабильная.

реакция на заведомо работающие программы все та же, непериодическое мерцание светодиодов.
Может контроллер уже битый? Как проверить? :roll: И хорошо бы откликнулся тот, кот реально работал с этим МК

Re: AT89S8252: странное поведение

Добавлено: Вт апр 16, 2013 23:03:30
petrenko
Ну уже несколько человек откликнулись.
И чем мы поможем, если Вы игнорируете всё, что написано в документации по данному мк ( судя по той плате в .pdf светодиоды "вешаете" неправильно - как и угадал коллега и ещё много чего не соответствует... ) :facepalm:
Ещё разок - внимательно, без верхушечного "перескока-прочтения по диагонали" прочтите всё в документации по данному мк пожалуйста.
И подключайте в соответствии с рекомендациями.
Тогда уже можно будет понять что к чему и помочь Вам.

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! :music:

Глупость неимоверная, но это Атмель, и есть фьюзы, вернее 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 запрещает чтение из памяти программ, я так понял

На таймерах тоже работает. На всякий случай выложу программу на асме.
blinking_led_v2_msc51.asm
(567 байт) 240 скачиваний
:facepalm: :facepalm: :facepalm: Хватило первой странички даташита. Извините, всем спасибо ещё раз

Re: AT89S8252: странное поведение

Добавлено: Чт апр 18, 2013 15:55:16
ibiza11
No internal memory lock features - переводится как "Нет блокировки внутренней памяти"

Re: AT89S8252: странное поведение

Добавлено: Чт апр 18, 2013 18:27:12
petrenko
const92 писал(а):Мать моя Кошка! It works! :music: ..
...На таймерах тоже работает. На всякий случай выложу программу на асме....
:facepalm: :facepalm: :facepalm: Хватило первой странички даташита. Извините, всем спасибо ещё раз
Ну вот, уже лучше, Вы делаете успехи !

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