Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено sij7 24 января 2005 г. 20:47
В ответ на: Ответ: отправлено sij7 24 января 2005 г. 10:45

Ну в общем – после изучения основ ассемблера для атмелов программу я думаю смогу написать и сам. Хотя если есть уже написанная – только спасибо скажу.
Появилась новая проблема: У меги8 ацп 10разрядные. Алгоритм я прикинул такой:
Производится настройка на срабатывание 2 таймеров. Первый допустим – с периодом срабатывания 0,1с, второй – 1с.
Происходит считывание данных с ацп. Значение из ацп помещается в регистр например r1. Если это значение больше r2, то переслать его туда. При получении прерывания от первого таймера это значение выводится на дисплей в графу амплитуда.
Если r1 =0. То r3+1. При поступлении прерывания от второго таймера содержимое r3 выводиться на дисплей в графу частота.
Тогда амплитуда обновляется 10 раз в секунду, а частота – 1 раз. Что терпимо – потому как частота выставляется на компьютере, а амплитуда переменным резистором на панели.
Проблема собственно в чём: так как ацп 10 разрядное, то для его хранения нужен 16 разрядный регистр. В мк51 я мог использовать такой регистр. Тут я теряюсь – тут я видел только 3 16 разрядных регистра xyz. Но использовать их свободно avrstudio не даёт – жалуется на
Including 'F:\Program Files\Atmel\AVR Tools\AvrAssembler\AppNotes\m8def.inc'
C:\diplom\diplom.asm(2) : warning : Only one .device statement allowed (line ignored)
C:\diplom\diplom.asm(6) : error : Register R0-R31 expected
C:\diplom\diplom.asm(7) : error : Illegal argument type or count
C:\diplom\diplom.asm(10) : error : Garbage at end of line
Assembly complete with 2 errors
Кароче – низзя.
И в итоге – получаем амплитуду в 10 разрядном виде, в 2 регистрах. А как её перевести в десятичную форму??? Вот ведь задача.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru