Перейти к содержанию

Edsim51: Ошибка При Переводе Аналоговой Информации В Цифровую


Flashton

Рекомендуемые сообщения

Здравствуйте. Пишу программу для микроконтроллера EdSim51. Программа нажатием кнопки переводит аналоговую информацию в цифровую, но перевод происходит не верно. Подскажите, пожалуйста, где ошибка и как её исправить.

Код программы:

Start:

MOV A, P2

ANL A, #00000100B

JNZ Start

E1:

MOV A, P2

ANL A, #00000100B

JZ E1

CLR P3.6

SETB P3.6

CLR P3.7

MOV R1, P2

MOV P1, P2

JMP Start

Описание работы: при вводе аналоговой информации движком ADC, нажатии и отпускании кнопки «2», на панели светодиодов «Switch Bank» отображается введённая информация в цифровом виде.

Также, интересует, как сделать, чтобы аналоговая информация вводилась в программу из заранее созданного массива.

Изменено пользователем Flashton
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выложив схему подключения (во вложении). Там ADC по центру.

Также выложил результат работы программы (там ADC слева, внизу, задал 0,50V, а на светодиодах какое-то несоответствие :( )

post-141675-0-03731200-1352095034_thumb.gif

post-141675-0-05680400-1352095241_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Что то я не понимаю, почему компаратор так включен, это какая то фишка? (не понимаю как сигнал со входа компаратора должен попасть в АДЦ) :)

"Неверно" - это значит то, что выходной код с входным не совпадает? Или то, что отображаемая информация не циферкой выводится? :)

Еще как ряд вариантов:

- в программе проверяется клавиатура, которая параллельно с АДЦ подключена, защиты от дребезга нет, а в считанном коде как раз не хватает того бита, который на проверяемой кнопке висит. (наверно). Не исключено, что забивается дребезгом.

- длительность подачи сигнала WR на АДЦ равна по времени выполнению одной инструкции контроллера... вдруг слишком быстро? :) (хотя в это слабо верится)

- измеряется шум на входе АДЦ... и больше ничего.

Не уверен конечно, что эмулятор эти пунктики эмулировать умеет, но с кнопкой, которая на одном проводе с выходом АДЦ, в реале точно проблема будет, почему бы не использовать отдельный кейпад, подключенный на P0 :)

Ссылка на комментарий
Поделиться на другие сайты

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А где, процедура работы с динамической индикацией?Где подготовка данных к отображению? Просто так перекинуть данные не получится.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

Да я так понял, что он на данном этапе использует один из четырех индикаторов в качестве сборки из 8 светодидов, чтобы наглядно видеть линию на 8-бит без десятичного представления. А сигнал должен сниматься с ЦАПа и передаваться в АЦП. И на выходе у него три светика горит, а на входе два - типа неправильно. Но пояснений то нет.... что не тема, то гадания :)

Дополнение:

Хотя нет, светятся три - там точка подсвечена (незаметненько так), значит светятся три сегмента, как и на выходе.... Но я всё равно не понимаю, как сигнал через компаратор в АЦП попал. Значит вопрос про то, как цифры отобразить.... ничё не понимаю)

Изменено пользователем tcoder
Ссылка на комментарий
Поделиться на другие сайты

С десятичной индикацией не работаю, это для меня пока очень сложно. Информацию вывожу на линейку светодиодов. Но, вход и выход не совпадают, не понимаю что поправить, чтобы было верно.

Добавлю ещё раз код программы с комментариями.

Start:

MOV A, P2

ANL A, #00000100B

JNZ Start ///////////// Ввожу данные и проверяю - нажата ли кнопка 2? Если нет, то в начало, если да, то дальше.

E1:

MOV A, P2

ANL A, #00000100B

JZ E1 ///////////// Проверяю, отжата ли кнопка 2? Если нет, то перехожу по метке E1, если да, то дальше.

CLR P3.6

SETB P3.6

CLR P3.7

MOV R1, P2

MOV P1, P2 /////////// Пытаюсь вывести результат на панель светодиодов.

JMP Start

Ссылка на комментарий
Поделиться на другие сайты

Код программы тут мало о чем говорит, т.к. у Вас на одну шину кучу всего навешано. Если Вы не объясните откуда и куда должны двигаться данные, вряд ли кто то сможет помочь, разве что погадать. Уберите со схемы всё, что не касается проблемы, тогда может понятнее будет, раз уж объяснить не хотите.

- Не могу выехать через город на трассу. Помогите.

- А как и где Вы ехали?

- Где как ехал, не скажу, но въезд с выездом не совпадает.

Дополнение:

И в чём собственно заключается неверность "перевода"?

Изменено пользователем tcoder
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Здравствуйте. Извиняюсь за задержку, был сломан компьютер.

Препод в институте подсказал как переделать программу, чтобы работала правильно.

Получается так:

Start:

MOV A, P2

ANL A, #00000100B

JNZ Start

E1:

MOV A, P2

ANL A, #00000100B

JZ E1

MOV P1,#00000000B

CLR P0.7

STT:

INC P1

MOV A,P3

ANL A,#10000000B

JNZ STT

MOV P3,A

JMP Start

Схему подключения выкладывал в начале темы.

В этой программе задаётся какой-нибудь уровень напряжения, по нажатию и отпусканию кнопки "2" введённое напряжение преобрзуется в цифру (так понял я). На осцилографе видно, как всё работает. Во вложении скрин работы программы.

Теперь нужно сделать так, чтобы при вводе 10 уровней напряжения результаты их преобразования заносились в массив. Подскажите, пожалуйста, как проще и оптимальнее решить эту задачу.

Скрин работы программы:

post-141675-0-83361400-1352973842_thumb.jpg

Изменено пользователем Flashton
Ссылка на комментарий
Поделиться на другие сайты

Сделал массив так:

Start:

mov r3,#9

mov r0,#309ah

E0:

MOV A, P2

ANL A, #00000100B

JNZ E0

E1:

MOV A, P2

ANL A, #00000100B

JZ E1

E2:

MOV P1,#00000000B

CLR P0.7

STT:

INC P1

MOV A,P3

ANL A,#10000000B

JNZ STT

MOV @r0,P1

DJNZ r3,E2

MOV P3,A

JMP Start

Это правильно в моём случае? Посмотрите, пожалуйста.

Изменено пользователем Flashton
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • @DownHouse , насчёт номинала затворного резистора вам уже сказали. Он образует RC-цепочку с ёмкостью затвора транзистора. На высоких частотах ШИМ работать не будет. Кроме того, у транзисторных оптопар есть такой параметр: Как видите, ток коллектора может быть даже меньше входного тока в светодиод. Быстро управлять затвором мощного полевика, у которого ёмкость под 10 нФ, таким маленьким током не получится. Так что и тут ограничение на частоту ШИМ. По закону Ома он считается. Какой ток коллектора сможет выдать транзистор оптопары, такое напряжение на R2 и получится. Естественно с "упором" в напряжение питания. Выше него не прыгнешь. Транзистор оптопары войдёт в насыщение и ток будет ограничен значением сопротивления R2. Например, при коэффициенте передачи тока оптопары, равным единице, при напряжении питания 5 В, при токе в светодиод оптопары 10 мА и при сопротивлении резистора R2 500 Ом, напряжение на нём будет 10 мА * 0,5 кОм = 5 В. Но если оптрон посредственный, с коэффициентом передачи тока 0,5, то при тех же условиях, выходной ток коллектора транзистора оптрона будет не больше 5 мА, и напряжение выше 2,5 В на R2 не поднимется. Если пороговое напряжение открывания полевого транзистора выше, то он не откроется.  
    • Алексей, ну ты-то уже опытный в аудиотехнике волк и понимаешь, что все эти буквенные обозначения на латинице у производящих е-cap-ы контор по факту означают разные потребительские характеристики. А товарищ @Алексей Акулиничев в этом ещё новичок; натрёт в залобье мозолей, с опытом тоже начнёт разбираться в "who из где". 
    • Смотря для чего оптимальный. Если вы КПД блока под 99% вытягиваете, то нужен очень маленький. Но при этом будет сильное недоиспользование габаритной мощности "железа" сердечника. Если задача по-максимуму использовать возможности сердечника - то ограничивается только максимальной температурой сердечника, точкой Кюри...
    • Примерно так. НО! Если у этих динамиков НЧ реально от 40Гц, то кубики пенопласта будут тереться друг об друга , создавая заметные на слух "артефакты", поэтому надо бы запастись тонким поролоном, или плотной тканью прокладывая его/её между ними, или обворачивая их. ЗЫ. Чем дешевле динамик и чем проще кажется реализация на нём более-менее ровно играющей акустической системы,тем  больше возни с ним. Это уже не раз доказанный практикой факт.
    • Вот спасибо. Это прям для меня.  Я не про этот резистор. Про этот резистор я понял. Я не понимаю нужен ли резистор перед 4 выводом оптопары. Да я пока думаю нужен ли он будет (в смысле ШИМ). Точности большой по температуре не нужно будет. R1 будет от 150 - 200 Ом, а вот R2 не очень понимаю как считать (как я понимаю этот резистор будет затвор транзистора на землю сажать пока оптопара закрыта,  5-10 кОм думаю) Вот так сделал.
    • Тогда и ШИМ можно ещё медленнее сделать. Все что вам осталось - рассчитать параметры работы оптопары (R1, R2). 
×
×
  • Создать...