реклама на сайте
подробности

 
 
> Алгоритм для программы
Jead
сообщение Oct 30 2011, 21:06
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 30-10-11
Пользователь №: 68 056



Доброе время суток!
Очень нужна помощь, подсказка.. Хотя бы направление.

В общем у нас имеется модуль ввода вывода, который содержит в своем составе четыре кнопки и четыре светодиода. Свечениe светодиода обеспечивается в том случае, если в соответствующем разряде модуля (D7...D4) имеет место логическая единица. Нажатие любой кнопки приводит к формированию логической единицы на линии, связанной с кнопкой (D3...D0).

Структурная схема модуля.


И требуется обеспечить при отпущенных кнопках S1, S2 и S3 свечение светодиода VD1. При нажатии любой (одной) из кнопок свечение светодиода VD2. При нажатии любой пары кнопок свечение светодиода VD3. В случае одновременного нажатия трех кнопок должен гореть светодиод VD4.

О программировании говорить еще пока рано.
В общем я составил структурную схему подсистемы, которая выглядит так.


Дальше требуется составить алгоритм решения задачи, а вот тут-то и наступает ступор. До этого писал алгоритмы всего пару раз, и то абсолютно несерьезные.

Можете помочь с этим делом? Насколько я понял для реализации надо использовать сумматор.

Составил первые два пункта, а дальше проблемы

Включение - Запись логической единицы в порт Р1.3 - Дело доходит до сумматора и я теряюсь.
Очень надеюсь на понимание и помощь..
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mempfis_
сообщение Nov 1 2011, 08:04
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Jead @ Oct 31 2011, 01:06) *
В общем у нас имеется модуль ввода вывода, который содержит в своем составе четыре кнопки и четыре светодиода. Свечениe светодиода обеспечивается в том случае, если в соответствующем разряде модуля (D7...D4) имеет место логическая единица. Нажатие любой кнопки приводит к формированию логической единицы на линии, связанной с кнопкой (D3...D0).

И требуется обеспечить при отпущенных кнопках S1, S2 и S3 свечение светодиода VD1. При нажатии любой (одной) из кнопок свечение светодиода VD2. При нажатии любой пары кнопок свечение светодиода VD3. В случае одновременного нажатия трех кнопок должен гореть светодиод VD4.


Сделайте на основе таблицы.
Скажем комбинации нажатия кнопок (всего 16) - индекс таблицы: нет нажатий - 0, нажата S1 - 1, S2 - 2, S1 и S2 - 3 и т.д. (это автоматически получится при считывании состояний линий кнопок).

В таблице храните состояния светодиодов: ячейка 0 - не горят (0), ячейка 1 - горит VD2, ячейка 3 - горит VD3 и т.д.
Т.о. любым комбинациям нажатых кнопок можно сопоставить любую комбинацию зажжённых светодиодов.
Останется задача - считать состояния кнопок, выбрать из таблицы состояния светодиодов и отправить их в порт светодиодов.

Вообще можно расписать одну их форм (КНФ или ДНФ) упростить её и получить логическую формулу, но с института этим не занимался уже забыл как это делать.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01412 секунд с 7
ELECTRONIX ©2004-2016