Тестирование работы конструктора в Proteus:
На данный момент идей много, ищу заинтересованных людей для совместной работы.
Установочный пакет:
http://horizontautomatics.ru/Configurat ... ?id=setup1
В эти 600 байт входит ядро программы.СКАЗОЧНИК писал(а):Не много ли для ассемблера 600 Байт, чтобы помигать одним светодиодом????
Я в установочный паке не добавил библиотеку для работы с вещественными числами, в скором времени добавлю.xkp писал(а): Очевидно проблема в IntToSingl
Код: Выделить всё
#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
Убедили.Lihouzov писал(а):ядро программы.
Более того, если изменить код блока, то и измениться работа блока!СКАЗОЧНИК писал(а):И еще понравилось, что можно код любого блока посмотреть. )))
Что такое РТОС?СКАЗОЧНИК писал(а):А ядро - это не РТОС?
Правильнее сказать RTOSLihouzov писал(а):РТОС?
4 байта - да.xkp писал(а):4 байта? Я правда маленько не понимаю в выражениях "целые", "целочисленные" и тд. То есть каждый байт данных соответствует своему индикатору? Ну это облегчает задачу, можно еще и буквенные символы туда запихать, ну разумеется те, что можно написать на 7 сегментах.