Реализация Графического Языка Программирования
Реализация Графического Языка Программирования
Добрый всем день! Создаю на ассемблере "кирпичики" будущего конструктора.
Тестирование работы конструктора в Proteus:
На данный момент идей много, ищу заинтересованных людей для совместной работы.
Установочный пакет:
http://horizontautomatics.ru/Configurat ... ?id=setup1
Тестирование работы конструктора в Proteus:
На данный момент идей много, ищу заинтересованных людей для совместной работы.
Установочный пакет:
http://horizontautomatics.ru/Configurat ... ?id=setup1
Последний раз редактировалось Lihouzov Вс ноя 30, 2014 16:39:10, всего редактировалось 1 раз.
- Реклама
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Хорошая игрушка для тех, кто не хочет париться с программированием и нужно создать быстро и разово что-то простенькое.
Кстати, а почему модуль, подключенный к АЦП перед множителем, назвается IntToString ? Это же - перевод в строку, а не в вещественное число. И каким образом потом эта строка умножилась на коэффициент ?
Кстати, а почему модуль, подключенный к АЦП перед множителем, назвается IntToString ? Это же - перевод в строку, а не в вещественное число. И каким образом потом эта строка умножилась на коэффициент ?
- xkp
- Опытный кот
- Сообщения: 781
- Зарегистрирован: Ср ноя 18, 2009 12:50:31
- Откуда: ковров
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Что то не как не разберусь как этот конфигуратор зарегистрировать
R5VCH
Хотелки:
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Хотелки:
Спойлер
Аналоговый осциллограф С1-112, С1-118, другиене/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Re: Ассемблер (ASM) для AVR в вопросах и ответах
IntToSingl - преобразование целого числа в вещественное. Single - вещественное число одинарной точности (4 байта) Можно и не регистрироваться, просто обнови Configurator и HR_AVR.
Исходный ассемблерный код любого блока доступен через меню вызванным над блоком.
Исходный ассемблерный код любого блока доступен через меню вызванным над блоком.
Последний раз редактировалось Lihouzov Вс ноя 30, 2014 16:25:18, всего редактировалось 1 раз.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
А, там Single. Прошу прощения, ошибся 
- Реклама
- xkp
- Опытный кот
- Сообщения: 781
- Зарегистрирован: Ср ноя 18, 2009 12:50:31
- Откуда: ковров
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
вроде разобрался с программой маленько. В принципе меня заинтересовала эта идея.
Сделал все по вашему проекту но не хочет компилировать фаил прошивки
ну и при открытии проекта выдает
если использовать вывод на индикатор через LCD_word то все работает. Очевидно проблема в IntToSingl
Сделал все по вашему проекту но не хочет компилировать фаил прошивки
Спойлер
Спойлер
Последний раз редактировалось xkp Вс ноя 30, 2014 20:47:43, всего редактировалось 1 раз.
R5VCH
Хотелки:
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Хотелки:
Спойлер
Аналоговый осциллограф С1-112, С1-118, другиене/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Реализация Графического Языка Программирования
Прикольно. Просто, удобно... Критиковать не буду, т.к. сам такое не смогу сделать. ) Однозначно плюс.
Но! Не много ли для ассемблера 600 Байт, чтобы помигать одним светодиодом???? С учетом того, что у меня АТтини13 с 1 кБайтом флеша... А я хочу туда еще много чего напихать.... У меня в нее программка перехвата ИК пульта с NЕC-протоколом (урезанным) и управление Н-мостом мотора заняла в районе 300-400 Байт на ассемблере.
Но! Не много ли для ассемблера 600 Байт, чтобы помигать одним светодиодом???? С учетом того, что у меня АТтини13 с 1 кБайтом флеша... А я хочу туда еще много чего напихать.... У меня в нее программка перехвата ИК пульта с NЕC-протоколом (урезанным) и управление Н-мостом мотора заняла в районе 300-400 Байт на ассемблере.
Станислав
Re: Реализация Графического Языка Программирования
В эти 600 байт входит ядро программы.СКАЗОЧНИК писал(а):Не много ли для ассемблера 600 Байт, чтобы помигать одним светодиодом????
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Я в установочный паке не добавил библиотеку для работы с вещественными числами, в скором времени добавлю.xkp писал(а): Очевидно проблема в IntToSingl
Re: Реализация Графического Языка Программирования
Хочу добавить блоки:
1. для работы с 7-ми сегментными индикаторами.
2. таймеры реального времени.
Писать код надо на ассемблере.
У кого есть желание присоединиться к работе?
1. для работы с 7-ми сегментными индикаторами.
2. таймеры реального времени.
Писать код надо на ассемблере.
У кого есть желание присоединиться к работе?
Последний раз редактировалось Lihouzov Пн дек 01, 2014 14:47:24, всего редактировалось 1 раз.
Re: Реализация Графического Языка Программирования
Для примера привожу исходный код RS триггера:
Код: Выделить всё
#ifndef _FBD15_
#define _FBD15_ FBD15
#message define FBD15 (RS trigger)__FILE__
//Размер описания FDB блока 4 байта
//1 байт- вход S
//1 байт- вход R
//1 байт- выход
//1 байт- начальное состояние
//Оперативная память 1 байт
//1 байт состояние триггера
FBD15_init:
ADIW YL, 3 //пропускаем первые три байта конфигурации
rcall Read_cfg //Читаем начальное состояние
st X+, Addr_Data //Сохраняем начальное состояние
ret //Окончание инициализации блока
FBD15_run:
//======== Читаем данные блока =========
rcall Read_cfg_Load_Uz1 //вход S
rcall Read_cfg_Load_Uz2 //вход R
ld A, X //текущее состояние триггера
//============= Логика работы FBD блока ==================
and Uz1L, One //and
sbrc UZ1L, 0 //Проверка 1 на S
mov A, One //Устанавливаем тригер
and Uz2L, One //and
sbrc UZ2L, 0 //Проверка 1 на R
mov A, Zero //Сбрасываем тригер
mov Uz1L, A //Копируем текущее состояние
//============= Сохраняем результат ==================
st X+, A
rcall Read_cfg_Save_Uz1 //Сохраняем результат
ADIW YL, 1 //пропускаем байт конфигурации
ret;
FBD15:
.db 4, 1 //Размер FBD блока, необходимая оперативная память
.dw FBD15_run, FBD15_init
#else
#error redeclared FBD15 __FILE__
#endif
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18563
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Реализация Графического Языка Программирования
у меня был припадок, во время которого я пытался разработать микро-ПЛК на AVR с простейшим вводом блок-схем. есть теоретические проработки псевдоязыка, которым описывается блок-схема. интерпретацией этого языка по моей задумке должен был заниматься AVR, что в итоге давало достаточно низкое быстродействие (порядка 1000 прогонов главного цикла в секунду) - ваш подход с компиляцией на ББ позволит существенно увеличить быстродействие. не знаю, будут ли полезны мои наработки, но если есть желание с ними ознакомиться - милости прошу в личку.
идею использовать ассемблер поддерживаю процентов на 40 - на остальные 60 я сторонник применения в подобной системе Си.
идею использовать ассемблер поддерживаю процентов на 40 - на остальные 60 я сторонник применения в подобной системе Си.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Реализация Графического Языка Программирования
Убедили.Lihouzov писал(а):ядро программы.
А ядро - это не РТОС?
И еще понравилось, что можно код любого блока посмотреть. )))
Станислав
Re: Реализация Графического Языка Программирования
Более того, если изменить код блока, то и измениться работа блока!СКАЗОЧНИК писал(а):И еще понравилось, что можно код любого блока посмотреть. )))
Что такое РТОС?СКАЗОЧНИК писал(а):А ядро - это не РТОС?
Последний раз редактировалось Lihouzov Пн дек 01, 2014 16:38:55, всего редактировалось 1 раз.
- xkp
- Опытный кот
- Сообщения: 781
- Зарегистрирован: Ср ноя 18, 2009 12:50:31
- Откуда: ковров
- Контактная информация:
Re: Реализация Графического Языка Программирования
Могу взяться за код написания подпрограммы для 7-ми сегментников.
1. Сколько сегментов?
2. Выходы: общий/сегменты GND/Vcc, GND/GND, Vcc/GND Vcc/Vcc делать с переключением в ПП или разные ПП писать под них?
3. Какой вид ввода информации? Отдельные для каждого сегмента числа или сразу несколько знаков?
1. Сколько сегментов?
2. Выходы: общий/сегменты GND/Vcc, GND/GND, Vcc/GND Vcc/Vcc делать с переключением в ПП или разные ПП писать под них?
3. Какой вид ввода информации? Отдельные для каждого сегмента числа или сразу несколько знаков?
R5VCH
Хотелки:
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Хотелки:
Спойлер
Аналоговый осциллограф С1-112, С1-118, другиене/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Реализация Графического Языка Программирования
Правильнее сказать RTOSLihouzov писал(а):РТОС?
Операционная система реального времени. Вот Википедия.
https://ru.wikipedia.org/wiki/%CE%EF%E5 ... C%E5%ED%E8
Станислав
Re: Реализация Графического Языка Программирования
Отлично.
1. давай попробуем для 4 сегментов.
2. блок разные, количество блоков никто не ограничивает.
3. Сразу на несколько знаков. По принципу с LCD. Есть блок который выводит участок памяти на индикаторы
в нашем случае 4 байта, а есть блоки которые в этот участок пишут данные.
То есть будет блок который отображает данные и множество блоков которые пишут данные.
1. давай попробуем для 4 сегментов.
2. блок разные, количество блоков никто не ограничивает.
3. Сразу на несколько знаков. По принципу с LCD. Есть блок который выводит участок памяти на индикаторы
в нашем случае 4 байта, а есть блоки которые в этот участок пишут данные.
То есть будет блок который отображает данные и множество блоков которые пишут данные.
- xkp
- Опытный кот
- Сообщения: 781
- Зарегистрирован: Ср ноя 18, 2009 12:50:31
- Откуда: ковров
- Контактная информация:
Re: Реализация Графического Языка Программирования
4 байта? Я правда маленько не понимаю в выражениях "целые", "целочисленные" и тд. То есть каждый байт данных соответствует своему индикатору? Ну это облегчает задачу, можно еще и буквенные символы туда запихать, ну разумеется те, что можно написать на 7 сегментах.
Будет выглядеть примерно так? 4 разряда * 7 сегментов + 1 точка

И еще вопрос в блок что верхний на моем рисунке данные в каком виде поступают? В регистрах, в памяти? В каких регистрах? В какой ячейке или под каким именем памяти?
Будет выглядеть примерно так? 4 разряда * 7 сегментов + 1 точка
И еще вопрос в блок что верхний на моем рисунке данные в каком виде поступают? В регистрах, в памяти? В каких регистрах? В какой ячейке или под каким именем памяти?
R5VCH
Хотелки:
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Хотелки:
Спойлер
Аналоговый осциллограф С1-112, С1-118, другиене/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Re: Реализация Графического Языка Программирования
Сделал заготовку блока. Обнови "Параметры->Обновления->Блоки в разработке"
Re: Реализация Графического Языка Программирования
4 байта - да.xkp писал(а):4 байта? Я правда маленько не понимаю в выражениях "целые", "целочисленные" и тд. То есть каждый байт данных соответствует своему индикатору? Ну это облегчает задачу, можно еще и буквенные символы туда запихать, ну разумеется те, что можно написать на 7 сегментах.
выражениях "целые", "целочисленные" и тд - тип соединительных выводов блока.
То есть каждый байт данных соответствует своему индикатору -да


