Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
jakim91

Программа для жизни

17.04.2011, 19:10. Показов 817. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Умоляю, помогите товарищи программисты!
Для курсача надо сделать прогу на ассемблере, и есть алгоритм работы в тексте, но как этот алгоритм работы перевести хотябы в текст программы не имею ни малейшего понятия, т.к. на ассемблере (по нашей специальности) проходили просто как запихнуть в N-ый регистр чтото...помогите пожалуйста...вот текст алгоритма:
Инициализация:
• RESET: 10 – вход сброса;
• Y1 – Y7: – выходы на индикаторы ;
• Y15: – выход на обогреватель;
• Y14: – выход на вентилятор;
• Y12: вход с датчика температуры;
• Y13: – вход с датчика влажности;
• Y8-Y11: входы с кнопок;
• Тактовая частота АЦП 400 кГц (коэффициент деления = 4);
• Частота внутреннего тактового генератора = 1,6 МГц;
• Разрешить прерывание по нажатию кнопок (ввод данных с пульта);
• Разрешить прерывание по нажатию кнопки вкл/выкл на вентиляторе;
• Разрешить прерывание по нажатию кнопки вкл/выкл на нагревателе;
• Разрешить прерывание от часов реального времени;
• Разрешить прерывание по переполнению счетчиков;
• Текущее_влажность = влажность измеренная датчиком влажности;
• Текущее_ температура = температура измеренная датчиком температуры
• Кнопка_ нагреватель = = 0;
• Кнопка_ вентилятор = = 0;
• Текущее_время = = текущее время;
• Счетчик_день = = 0;
• Счетчик_ночь = = 0;
• Период_День = = 8.01 – 20.00
• Период_Ночь = = 20.01 – 8.00
Тело основного цикла:
• Переходим на метку TEST;
• Вечный цикл
{
МК уходит в режим пониженного энергопотребления, пока не придет какое – нибудь прерывание.
}
Описание прерываний:
INT_NIGHTTEMP (прерывание от кнопки_ температура ночью)
• i = 1;
• переходим на метку BUTTON;
• регистр_ночь = счетчик_i*5.
INT_DAYTEMP (прерывание от кнопки_ температура днём)
• i = 2;
• переходим на метку BUTTON;
• регистр_утро = счетчик_i*5.
INT_NIGHTHUM (прерывание от кнопки_ влажность ночью)
• i = 3;
• переходим на метку BUTTON;
• регистр_день = счетчик_i*5
INT_ DAYHUM (прерывание от кнопки_ влажность днём)
• i = 4;
• переходим на метку BUTTON;
• регистр_вечер = счетчик_i*5.
INT_CURTIME (прерывание от блока сравнения текущего времени с одним из заданных периодов (ночь, утро, день, вечер))
• регистр = введенное значение в данный период;
• переход на метку COMPARE.
INT_WIND (прерывание от кнопки вентилятора)
• Переход на метку WIND.
INT_WARM (прерывание от кнопки нагревателя)
• Переход на метку WARM.
Процедуры:
TEST:
• подается сигнал на устройство контроля подключения вентилятора/нагревателя и на устройство подачи питания вентилятора/нагревателя. Последнее последовательно подает питание на вентилятор и на нагреватель, а первое следит, течет ли в этот момент через него ток. Если какое-либо из внешних устройств не подключено в момент подачи питания, то через устройство контроля не потечет ток, соответственно последнее выдаст сигнал ошибки на табло: Е0 – не подключен вентилятор, Н0 – не подключен нагреватель. Код ошибки вентилятора – 0, код ошибки нагревателя – 11.
BUTTON:
• Счетчик_i = = Счетчик_i +1;
• Если Счетчик_i = 1, то Y2 = Y3 = =1;
• Если Счетчик_i = 2, то Y1 = Y2 = Y7 = Y5 = Y4 = =1;
• Если Счетчик_i = 3, то Y1 = Y2 = Y3 = Y4 = Y7 = =1;
• Если Счетчик_i = 4, то Y6 = Y7 = Y2 = Y3 = =1;
• Если Счетчик_i = 5, то Y1 = Y6 = Y7 = Y3 = Y4 = =1;
• Если Счетчик_i = 6, то Y1 = Y6 = Y5 = Y4 = Y3 = Y7 = =1;
• Если Счетчик_i = 7, то Y1 = Y2 = Y3 = =1;
• Если Счетчик_i = 8, то Y1 = Y2 = Y3 = Y4 = Y5 = Y6 = Y7 = =1;
• Если Счетчик_i = 9, то Y1 = Y2 = Y3 = Y4 = Y6 = Y7 = =1;
• Если Счетчик_i = 10, то
{
Y1 = Y2 = Y3 = Y4 = Y5 = Y6 = = 1, Y7 = =0;
SLEEP;
}
• Возврат назад.
COMPARE:
• если регистр < Текущее_влажность, то Y14 = 1 и Кнопка_ вентилятор = 1;
• если регистр > Текущее_ влажность, то Y15 = 1 и Кнопка_ нагреватель = 1;
• если регистр = = Текущее_ влажность, то (Y14 = 0 и Кнопка_ нагреватель = 0) и (Y15 = 0 и Кнопка_ вентилятор = 0);
• если регистр > Текущее_ температура, то Y15 = 1 и Кнопка_ вентилятор = 1
• если регистр < Текущее_температура, то Y14 = 1 и Кнопка_ нагреватель = 1
• если регистр = = Текущее_ температура, то (Y14 = 0 и Кнопка_ нагреватель = 0) и (Y15 = 0 и Кнопка_ вентилятор = 0);
• Возврат назад.
WIND:
• Если Кнопка_вентилятор = = 1, то Кнопка_вентилятор = 0 и Y15 = 0 и МК уходит в режим сохранения энергии;
• Если Кнопка_вентилятор = = 0, то Кнопка_вентилятор = 1 и Y15 = 1 и МК выходит из режима сохранения энергии;
• Возврат назад.
WARM:
• Если Кнопка_нагреватель = = 1, то Кнопка_нагреватель = 0 и Y14 = 0 и МК уходит в режим сохранения энергии;
• Если Кнопка_ нагреватель = = 0, то Кнопка_ нагреватель = 1 и Y14 = 1 и МК выходит из режима сохранения энергии;
• Возврат назад.
----------------------------------------------------
ПОМОГИТЕ ПОЖАЛУЙСТА
Отвечаю кто поможет бабло на тел кину
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2011, 19:10
Ответы с готовыми решениями:

OpenSource проект - программа симуляции жизни
Здравствуйте, уважаемые программисты! Приглашаю желающих присоединиться к проекту по разработке программы симуляции жизни. Суть проекта: ...

Программа, типа жизни колонии: нужно сделать меньше отступы (или убрать их)
Доброго времени суток. Есть программа, типа жизни колонии... Нужно как то сделать меньше отступы(или убрать их). Так же сменить 1 и 0 на...

Ноут для жизни
Добрый день. Помогите, пожалуйста, выбрать ноут. По приблизительным требованиям i5 (не, можно конечно i7, но по цене не уложится), от 6гб...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.04.2011, 19:10
Помогаю со студенческими работами здесь

Ноутбук для повседневной жизни
1). С гибридной видеокартой. (На выезде на встроенной, а дома на дискретной) 2). Не очень большой экран ~15. 3). Только SSD. 4)....

Время жизни для потока
Доброго! Как рациональнее всего задать время жизни потока. То есть запустил я с пяток пятоков и задал им жить по 15 сек и отрубаться. Я...

Framework для облегчения жизни!
Доброй ночи коллеги! Сегодня днем возник спор с коллегой по работе по поводу framework. Я ярый фанатик написания кода ручками без всяких...

Программа вычисления текущего дня вашей жизни, с дня рождения
3. Написать программу вычисления текущего дня вашей жизни, с дня вашего рождения. Дату рождения выбирать с помощью компонента...

Земля будет непригодной для жизни?
Как вы думаете Земля будит непригодной для жизни в будущем?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru