Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
1

Переписать код с Ассемблера на Си

18.04.2016, 11:56. Просмотров 1447. Ответов 16
Метки нет (Все метки)

Низкочастотный синусоидальный генератор с шагом сетки 0,01 Гц
На сайте все написано и как работает и что надо реализовать программно в AVR
http://kazus.ru/shemes/showpage/0/883/1.html
Вот сама прога,но думаю для полного понимания нужно прочитать немного над*самим кодом и под* ним
Переписать код с Ассемблера на Си


Помогите пожалуйста переписать код в Си(для AVR)
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2016, 11:56
Ответы с готовыми решениями:

Переписать прогу с ассемблера на Си (чистый, без плюсов)
Очень нужна ваша помощь. Я днарь в ASM (программирую в основном на шарпе и змейке). Но универ...

Переписать код такой с ассемблера на C++
Как переписать код такой на ассемблере на C++: ;Реализация программы инвертирования строки с...

Переписать программу с ассемблера. VS 2010
Здравствуйте помогите с программой сделана а ассемблере выводит окно->диалог>-сообщение можно ли...

Подскажите дизассемблер, который переведет код ассемблера в машинный 8 битный код для КР580
Подскажите программу дизассемблер которая переведет код ассемблера в машинный 8 битный код для КР580

Преобразовать код на Java в код для ассемблера 3AA
переделать Java программу в программу 3AA все данные типа int for(int i = 0; i < 10; ++i) {...

16
Витальич
1275 / 1182 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
18.04.2016, 12:29 2
Цитата Сообщение от shaksUa Посмотреть сообщение
Вот сама прога
Это не прога, а её малая часть.
Цитата Сообщение от shaksUa Посмотреть сообщение
но думаю для полного понимания нужно прочитать
, а нам зачем?
Цитата Сообщение от shaksUa Посмотреть сообщение
Помогите пожалуйста переписать
Почитайте над и под и начинайте писать, только в таком случаи может кто то поможет, инфа 146%
1
Voland_
1674 / 1060 / 102
Регистрация: 04.01.2010
Сообщений: 3,597
18.04.2016, 14:20 3
Цитата Сообщение от Витальич Посмотреть сообщение
её малая часть.
ну, строго говоря, это ее основная часть .
Цитата Сообщение от shaksUa Посмотреть сообщение
Помогите пожалуйста переписать код в Си(для AVR)
Что мешает? Объявите каждому регистру переменную 8бит и перепишите код в соответствии с каждого командой ассемблера.
Например, add PhaseK, FreqK переведется как PhaseK += FreqK;
это для начала, в итоге вы получите код, который можно будет еще немножко соптимизировать (в написании).
1
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
20.04.2016, 12:53  [ТС] 4
Cама проблема в том,что я плохо знаю Assembler, а как оно еще в Си будет,без малейшего понятия...
Спасибо всем за помощь,наверное зря создал тему, буду искать какое-то решение в не форума, Всем спасибо.

Добавлено через 1 час 2 минуты
Почему создавал, снова взялся делать установку на кафедре с применением DDS AD9850.
Преподаватель Ассемблер не знает,но знает СИ.
Раньше я делал с другом,он и программировал (мне ближе по паять,скрутить и т.д.), теперь вот нет помощи в программировании и смотрю на задание примерно так .

Самих библиотек с DDS в Proteus,Labview нет к сожалению...нашел реализацию через регистр сдвига,но там код .hex и чет он и не работает так как надо.

Буду как-то пошагово делать: кнопки,АЦП,сам DDS...
если кто захочет помочь,буду очень рад
0
20.04.2016, 12:53
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
20.04.2016, 12:59  [ТС] 5
Вот то,что нашел
0
Вложения
Тип файла: rar DDS_LY3BBI.rar (59.3 Кб, 6 просмотров)
Витальич
1275 / 1182 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
20.04.2016, 13:01 6
Цитата Сообщение от shaksUa Посмотреть сообщение
Вот то,что нашел
это бинарник для заливки в МК, Вам не поможет
1
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
20.04.2016, 14:01  [ТС] 7
Спасибо за ответ,буду знать,что оно мне не подходит.
Нашел еще и вот такую схему,как по мне очень интерестная,но опять таки без кода...

Ну,а в идеале конечно, то все должно заработать как в той статье http://kazus.ru/shemes/showpage/0/883/1.html
То есть реализация DDS чисто в программном виде
0
Вложения
Тип файла: rar Ad9850_v1.rar (23.9 Кб, 2 просмотров)
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
20.04.2016, 14:30  [ТС] 8
Цитата Сообщение от Витальич Посмотреть сообщение
, а нам зачем?
Замечание,очень удачное, не подумал,что кому-то еще есть дело до статьи.
Я попробую хорошо и коротко написать что да к чему...вот только думаю текста много будет,а такой расклад опять таки никому не нужен..

Добавлено через 19 минут
Короче чем здесь не напишу( Вверху вкладочка DDS)
http://siliconcreatures.narod.ru/dds.html
0
Витальич
1275 / 1182 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
20.04.2016, 14:47 9
Лучший ответ Сообщение было отмечено shaksUa как решение

Решение

DDS, DDS, да знаем мы что такое DDS
Вот например человек сделал на СИ http://cxem.net/izmer/izmer76.php
1
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
20.04.2016, 19:28  [ТС] 10
Спасибо огромное!!!
Что то такое я и искал
0
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
22.04.2016, 16:19  [ТС] 11
Установка, для которой нужен DDS
0
Миниатюры
Переписать код с Ассемблера на Си  
Voland_
1674 / 1060 / 102
Регистрация: 04.01.2010
Сообщений: 3,597
22.04.2016, 16:48 12
shaksUa, пока вас тут не закидали шапками за "иностранный язык", скажу, что ничего непонятно для чего нужен ваш "электромеханический преобразователь". Потому что выходом DDS будет периодический сигнал, а что вы с ним будете делать - из данной схемы непонятно.

Добавлено через 1 минуту
...просто в зависимости от частоты вы могли бы сделать это силами одно микрушки... по имени attiny25/45/85, потому что у нее есть и компаратор (судя по схеме - его достаточно) и высокоскоростной ШИМ @64MHz, за что эту микросхему очень любят .
1
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
22.04.2016, 17:03  [ТС] 13
на
Цитата Сообщение от Voland_ Посмотреть сообщение
электромеханический преобразователь
прикреплен образец(из полимера),упругие свойства которого хотим узнать.
Подавая разную частоту на ЕМП он 'болтает' образец, а наша оптическая система реестра передает значения через усилитель на АЦП, где они сохраняются для дальнейшей обработки.При достижении резонансных частот в образце появляется стоячая волна,которая увеличивает засвет на фотоприемник.
График свойств будет похож на нормальное распределение, то есть нарастать до резонансной f и спадать после нее.
В зависимости от химического состава полимера резонансные частоты меняются,потому хотим DDS,чтоб крутить постоянно частоту на ЕМП для всех образцов.
0
Voland_
1674 / 1060 / 102
Регистрация: 04.01.2010
Сообщений: 3,597
22.04.2016, 17:40 14
А какая частота вращения предполагается?
Я все еще сомневаюсь в эффективности использования здесь DDS. Для того, чтобы он тут работал, надо ему еще прикрутить крутой усилитель с обратной связью по положению вашего "гальванометра", как я понял. Такое делают лазерщики, которые собирают системы отклонения лучей лазеров для лазерных шоу...

ЗЫ: мне больше здесь импонирует идея использовать какой-нить толковый BLDC с хорошим драйвером.
1
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
22.04.2016, 18:49  [ТС] 15
Ого не вращаеться,а делает движения вперед-назад на малое расстояние.
Частота от 0 до 40-50МГц

Добавлено через 28 минут
Цитата Сообщение от shaksUa Посмотреть сообщение
http://kazus.ru/shemes/showpage/0/883/1.html
Генератор выполнен на основе AVR - микроконтроллера и представляет собой DDS (Direct Digital Synthesizer), реализованный программно. Генератор имеет следующие параметры:

Диапазон генерируемых частот — 1 ... 50000 Гц
Шаг установки частоты — 0,01 Гц
Коэффициент гармоник на частоте 1 кГц, не более — 0,02 %
Среднеквадратическое выходное напряжение — 0 ... 5 В
Пределы аттенюатора — 0, -20, -40, -60 дБ
10 предустановок частоты
Режим выключения сигнала
Возможность цифровой калибровки частоты

Добавлено через 6 минут
И правда,ее малая часть, вот вся прога. Намного больше....

http://kazus.ru/nuke/files/dds.asm
0
Voland_
1674 / 1060 / 102
Регистрация: 04.01.2010
Сообщений: 3,597
22.04.2016, 20:05 16
...как-то по отдельности параметры еще можно рассмотреть. То есть да, можно сделать синусоиду с точностью 0,01Гц, но не на частоте 50кГц, например.

ЗЫ: я б взял в таком случае кортекс в TQFP100 и с параллельным доступом к памяти, чтобы подключить к нему ЦАП.
Но DDS все же будет прикольнее
1
shaksUa
2 / 2 / 0
Регистрация: 05.04.2015
Сообщений: 30
22.04.2016, 21:07  [ТС] 17
Цитата Сообщение от Voland_ Посмотреть сообщение
ЗЫ: я б взял в таком случае кортекс в TQFP100 и с параллельным доступом к памяти, чтобы подключить к нему ЦАП
я даже не знаю что оно такое и как оно работает.

Для макета,не думаю что прям так важно точность 0.01Гц на частоте 50кГц.
Я думаю мне и 20кГц с головою хватит, просто показать как работает...
0
22.04.2016, 21:07
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2016, 21:07

Код ассемблера
у меня такая просьба помогите разобраться в коде а точнее распишите что означает каждая команда и...

Преобразовать код из С++ в код Ассемблера
Прошу о помощи. В условии надо поменять местами первую четверть массива со второй, а третью с...

Код ассемблера + Delphi
Здравствуйте, люди добрые! Помогите пожалуйста кое-как изменить код. Суть такова - надо заменить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru