требования к дизайну
1) Автоответчик может использоваться для одновременного участия 8 игроков или 2 команд-представителей, что представлено 8 кнопками S0-S7 соответственно;
2) Установите переключатель управления очисткой системы и ответом S, который контролируется хостом;
3) Автоответчик имеет функции фиксации и отображения. То есть игрок нажимает кнопку, чтобы зафиксировать соответствующий номер, и номер игрока, отвечающего в приоритетном порядке, будет сохраняться до тех пор, пока хост не очистит систему;
4) Автоответчик имеет функцию ответа по времени, время одного ответа устанавливается хостом (например, 30 секунд и т. д.). Когда ведущий нажимает кнопку «Старт», таймер отсчитывает обратный отсчет и динамик издает короткий звук, который длится около 0,5 с;
5) Участники отвечают в течение установленного времени. Если ответ верный, таймер перестает работать. Номер игрока и время ответа отображаются на дисплее и остаются до тех пор, пока ведущий не очистит систему.
6) Если никто не ответит по истечении времени таймера, ответ будет недействительным, система подаст сигнал тревоги и запретит отвечать, а на дисплее времени отобразится 00;
7) Разрабатывать методы программирования программного обеспечения и писать исходный код;
8) Используйте Proteus для моделирования и Altium Designer для рисования принципиальной схемы и печатной платы;
Обзор
В этой статье описывается состав, конструкция и функции схемы восьмиканального автоответчика с цифровым дисплеем. Помимо основной функции автоответчика, автоответчик также имеет функции синхронизации и будильника. Ведущий устанавливает время для ответов на вопросы с помощью переключателя предварительной настройки времени, и система завершает автоматический обратный отсчет.
Если кто-то ответит в течение указанного времени, отсчет времени автоматически остановится. Если никто не ответит в течение указанного времени, в системе прозвучит звуковой сигнал, сообщающий хосту, что ответ в этом раунде недействителен, и сработает функция сигнализации. будет реализовано. Если время ответа будет превышено, ответ будет недействительным.
Эта система использует 51 микроконтроллер в качестве всего ядра управления. Система управления в основном состоит из: модуля дисплея, модуля управления, модуля сигнализации и модуля ответа.
При работе система вводит ответный сигнал через матричную клавиатуру. После обработки микроконтроллером она выводит управляющий сигнал. Для завершения функции дисплея используется 4-значная цифровая трубка, а для разрешения используются кнопки. игроки должны отвечать на вопросы. На цифровой трубке показано, какая группа первой отвечает на вопрос, таким образом реализуя весь процесс ответа.
Схема моделирования Proteus
Принципиальная схема и печатная плата
Анализ результатов моделирования
Загрузите файл «Eight-way Responder.hex» в микроконтроллер 51 и нажмите, чтобы запустить. После инициализации программы восьмистороннего автоответчика на цифровой трубке отображается: ----. Дождитесь ввода ключа модератора.
Нажмите кнопку «Хост», на цифровой трубке отобразится: 00-0. В это время вы можете установить время отсчета времени с помощью клавиш «Тайминг +» и «Тайминг -». В этом примере мы установили время синхронизации на 30 секунд.
Нажмите кнопку «Модератор» еще раз, раздастся звуковой сигнал, начнется обратный отсчет, и 8 участников смогут начать отвечать на вопросы. Предположим, что участник № 3 успевает ответить в отведенное время. В это время подсчет прекращается, на цифровой трубке отображается оставшийся счет и текущий номер игрока, при этом загорается соответствующий светодиод №3.
Когда до окончания обратного отсчета останется 5 секунд, и если участник все еще не ответит, раздастся непрерывный звуковой сигнал. Если таймер закончится и никто не ответит, на цифровой трубке отобразится: 00-0; нажмите кнопку «Модератор», на цифровой трубке отобразится: ----; снова нажмите кнопку «Модератор», на дисплее отобразится 30-. 0; если без изменения времени отсчета, нажмите кнопку «Модератор» еще раз, и начнется новый раунд отсчета.
Если до того, как ведущий начнет отсчитывать время, то есть до того, как начнется ответ, кто-то торопится ответить. Предположим, что участник №2 спешит ответить. В это время на цифровой трубке отображается: FF-2, раздается звуковой сигнал и загорается красный светодиод №2. После того, как игрок совершил фол и ответил, он нажимает кнопку «хост», зуммер выключается, на цифровой трубке отображается: 00-0, ведущий устанавливает время и начинается снова.
Часть кода C
void scan(void)
{
uchar qiangda_num=0;
//Ключ модератора
if(key_zhu==0) //Кнопка нажата
{
delayms(7); //отображение дребезга
if(key_zhu==0&&zhu_f!=2&&qiang_f==0&&wan_f==0)//Определяем, есть ли фол или началась спешка с ответом или спешка с ответом завершилась
{
zhu_f++; //Оценка этапа соревнования +1
if(zhu_f==2) //Игра официально начинается
{
TR0=1; //Игра начинается, запускаем таймер
wan_f=0; //Снимаем флаг завершения игры
bajing(); //Запрос на начало игры
}
}
else
if(key_zhu==0&&qiang_f==1) //Определяем, есть ли фол
{
buzz=1; //сбросить тревогу
qiang_f=0; //Снимаем флаг ответа
number=0; //Очистить номер игрока
time=EEPROM_read(0x2000);//Перечитываем сохраненное общее время ответа
led_kongzhi(0,0,0);
}
else
if(key_zhu==0&&wan_f==1) //Определяем, завершил ли кто-то это
{
buzz=1; //сбросить тревогу
wan_f=0; //Снимаем флаг завершения
number=0; //Очистить номер игрока
time=EEPROM_read(0x2000);//Перечитываем сохраненное общее время ответа
led_kongzhi(0,0,0);
}
else
if(key_zhu==0&&zhu_f==2) //Приостановить игру
{
TR0=0; //Закрытие тайминга
zhu_f=1; //Возвращаемся к этапу настройки игрового времени
bajing(); //Предложение поставить игру на паузу
}
while(!key_zhu);//Обнаруживаем отпускание клавиши
}
Содержание ресурса
(1) Полная версия дипломной работы по проектированию системы восьмистороннего автоответчика на базе 51 микроконтроллера;
(2) файл моделирования Proteus;
(3) файлы программы Keil C;
(4) Список компонентов;
(5) Блок-схема Visio;
(6)Принципиальная схема и печатная платадокумент;
Скриншот ресурса