ОЧЕНЬ НУЖНА ПОМОЩЬ ЖИВЫХ МИКРОКОНТРОЛЛЕРЩИКОВ!!!

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 16
Зарегистрирован: Чт янв 08, 2009 10:05:23

Сообщение levon66 »

За вчера понял почему нужно будет переводить в 2-10 системму. )))))Однако когда это делать? Т.е. когда вычислил уже все значения и перед самым выводом на индикаторы? или с самого начала-снял с ацп и сразу переводим, а потом все операции с числом в 2-10 системе. И еще можно спросить: Точку десятичную на индикаторе просто засветил. Подал опорное на ацп 5.12 вольта. Тогда при выходе с ацп 1111111 это должно отображаться как 5.0 на индикаторе. Я эти 11111111 (256) делю на 5 и получаю как 50. А если десятичная точка горит всегда-будет 5.0. Значит нужно выводить число 50...но как? в 2-10 системе это будет 1 байт: старшие 4 бита-число 5, младшие 4-число 0. И дальше как? занулять младшие, выводить отдельно старшие на первый разряд индикатора, потом наоборот. Или как поступить?
чайнику нужна помощь!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

levon66 писал(а):За вчера понял почему нужно будет переводить в 2-10 системму. )))))Однако когда это делать? Т.е. когда вычислил уже все значения и перед самым выводом на индикаторы?
Да.
levon66 писал(а):Подал опорное на ацп 5.12 вольта. Тогда при выходе с ацп 1111111 это должно отображаться как 5.0 на индикаторе.
Должно отображаться как 5.1
levon66 писал(а):в 2-10 системе это будет 1 байт: старшие 4 бита-число 5, младшие 4-число 0. И дальше как? занулять младшие, выводить отдельно старшие на первый разряд индикатора, потом наоборот. Или как поступить?
Отдельно выводятся старшие биты, отдельно - младшие. Стоит сделать динамическую индикацию кстати (выдается 4 бита старших на порт и подается напряжение на общий вывод диодов старшего разряда, после - обмен байтов внутри регистра, и вывод на порт + включение младшего разряда, интервал - скажем в 10 мсек между переключениями)
Контактная информация:
Реклама
Родился
Сообщения: 16
Зарегистрирован: Чт янв 08, 2009 10:05:23

Сообщение levon66 »

а отдельно, то есть побитовую адресацию делать??? то есть класть нужно будет эти результаты туда, откуда возможна побитовая адресация?
чайнику нужна помощь!
Родился
Сообщения: 16
Зарегистрирован: Чт янв 08, 2009 10:05:23

Сообщение levon66 »

на счет страших и младших понял...читаются видимо только старшие.

а как можно сделать этот перевод из двоичной системы в двоично-десятичную? команд таких нет. а поиски написанных программ с такими оперциями не помогают. мысль о том, что каждой комбинации bin сопоставить 2-10 число это как-то пугает.
и еще вопрос. как реализовать можно вычисление среднего из 10 последних показаний. Есть мысль, что есть 10 разрядов. Вычислил среднее, потом получил новое измерение-записал вместо 1-го из тех десяти, вычислил среднее. ПОотом получил измерение записал вместо второго, вычислил и т.д. Но как это в асме сделать. Это ведь не паскаль с циклами обычными. Как-то может связываться с SP???
чайнику нужна помощь!
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 16
Зарегистрирован: Чт янв 08, 2009 10:05:23

Сообщение levon66 »

На счет перевода из 2 в 2-10 систему понял. но как программно реализовать можно вычисление среднего из 10 последних показаний. Есть мысль, что есть 10 разрядов. Вычислил среднее, потом получил новое измерение-записал вместо 1-го из тех десяти, вычислил среднее. ПОотом получил измерение записал вместо второго, вычислил и т.д. Но как это в асме сделать. Это ведь не паскаль с циклами обычными. Как-то может связываться с SP???
________________
а задача вот какая:с ацп с интервалом в 1с выводить-текущее, мин, макс, и среднее из 10 последних. Индикаторы 4 по 2 разряда. а еще кнопки пуск и сброс предусмотреть.
чайнику нужна помощь!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

levon66 писал(а): но как программно реализовать можно вычисление среднего из 10 последних показаний.
Циклический буффер в памяти, допустим с адресами с 33 по 42 байт... Который заполняется по циклу, и при каждом выводе показаний - все значения из него суммируются.
Хотя рациональнее бы было делать усреднение 8 или 16 измерений.
P.S. суммирование нужно делать 16бит, подготовку к выводу на экран (деление на 5 и т.д.) - уже непосредственно перед выводом, меньше погрешность из-за рассчетов будет.
Контактная информация:
Реклама
Родился
Сообщения: 16
Зарегистрирован: Чт янв 08, 2009 10:05:23

Сообщение levon66 »

можно немного подробней и о суммировании и о цикле...пожалуйста
чайнику нужна помощь!
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

Проблема просуммировать N ячеек из диапазона памяти, а потом результат поделить на N?
Или проблема работы с указателем на ячейку памяти данных (mov a, @r0) - каждый отсчет увеличивать указатель, а при достижении 43 - менять на 33?
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»