Страница 1 из 1

организация действия при работе ацп в мега 16

Добавлено: Сб янв 23, 2010 17:12:38
culibin 100
доброго времени суток уважаемые усатые полосатые !
у меня имеется проект управления организовую ацп вход PA0 ,опора напруга питания 5 вольт ,имеется 12 констант с которыми надо сравнивать результат преобразования (при этом мк не усыплять он сканит матрицу кнопок 3*3 и )выполняет обработку нажатий кнопок и результат сравнения выводит в непрерывном режиме на дисплей wh16*2 контролер HD44780 .
меряю напругу в диапазоне 0-4.5 вольта сравниваю результат только 8 бит такого разрешения мне достаточно. теперь вопрос как организовать алгоритм и прогу таким образом чтобы не зациклить мк на отображении инфы (кубики ) на дисплее когда результат преобразования совпал с константой и мк начал вывод символа на дисплей и тут привет пока сигнал не изменится .
скорость изменения сигнала всегда разная и уровень сигнала может быть некоторое время неизменен ,но при этом отображение на дисплей должно произойти и мк должен продолжать основной цикл преобразования сравнения и основное тело проги
просьба ответ писать на асме использую vmlab312

Добавлено: Сб янв 23, 2010 17:20:44
ibiza11
честно говоря плохо понял, что именно требуется. :oops:

Re: организация действия при работе ацп в мега 16

Добавлено: Сб янв 23, 2010 18:12:44
Neekeetos
culibin 100 писал(а):просьба ответ писать на асме использую vmlab312
А ты скажи кто тебе остальную часть программы написал, мы с ним свяжемся все обговорим, потом тебе допишем ага?

Добавлено: Сб янв 23, 2010 18:23:31
IfoR
Ну я так полагаю, что функцию вывода на дисплей нужно вывести в подпрограмму и вызывать её только тогда, когда контроллер обнаружит изменение значения напряжения на входе от старого достаточное для смены константы.
Либо засунуть эту функцию в условие.

Добавлено: Сб янв 23, 2010 20:52:14
culibin 100
все именно так при совпадении идет вызов подпрограммы пишу сам недавно начал освоение такого дела и начал сразу с меги дабы не мелочиться .алгоритм таков :при совпадении результата преобр. с константой происходит переход к программе вывода символа закрепленного за констаннтой записанной в EEPROM
суть такова что если уровень сигнала стоит на одном месте то происходит сравнение и при равенстве образца с константой идет круговой переход :измерение -сравнение -отображение-измерение.....и т. д.по кругу а перехода в основной цикл нет т.к. не происходит изменение сигнала на входе ацп .(некоторое время уровень стабилен )
а мне нужно чтобы раз сравнило отобразило и вернулось к основному циклу программы и преобразованию а отображение началось если уровень изменился, никак не могу сообразить как это реализовать стал в тупик

Добавлено: Сб янв 23, 2010 21:28:32
Mrgnstrn
Честно говоря яснее не стало))) Не пойму где вы в тупик встали, назначаете прерываение на изменение АЦП, в теле прерывания сравниваете результат с чем угодно, если совпал - записываете куда угодно и отображаете. Прерываение не сработает пока сигнал не изменится, т.е. будет крутиться основной цикл программы.
А вообще загляните к ДиХальту на страничку, там как раз появилась очень здравая статья на тему организации программы в МК.

Добавлено: Сб янв 23, 2010 21:44:49
culibin 100
страница HTTP 502
если можно на примере

Добавлено: Сб янв 23, 2010 22:10:33
Mrgnstrn
В асме я полный дуб)) а вы представляете что такое прерывание?
страница HTTP 502
http://radiokot.ru/forum/viewtopic.php?t=24792

Добавлено: Сб янв 23, 2010 22:21:15
culibin 100
представление имею и что надо сделать тоже понимаю но как реализовать пока не соображу , как правильно команд насовать. асм не си надо точно писать иначе пипец ниче работать не будет

Re: организация действия при работе ацп в мега 16

Добавлено: Ср мар 24, 2010 18:57:06
culibin 100
все зарулило как надо прогу закончил работает путем всем спасибо за помощь