Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Игра-путешествие по Эрмитажу

END.

Begin

Begin

Begin

Mov cx,word ptr Del+2

Asm

Var

a:mas;

i,alarm,ch_al,s:integer;

e:byte;

Fr,temp:real;

rdm,x,d:integer;

PROCEDURE DelayMks(Del:longint); {Процедура-таймер}

assembler;

mov ah,86h {ф-я микросекундной паузы BIOS}

mov dx,word ptr Del {Del - величина паузы}

int 15h

end;

BEGIN {начало}

clrscr;

writeln('Охранная система включена!');

writeln;

{инициализация ф-й и переменных}

Randomize;

x:=0; temp:=0; Fr:=0; alarm:=0; ch_al:=0;

port[b+4]:=0;

{вычисление предела значения, возвр. ф-й Randomize}

rdm:=round(exp(n*ln(2))-2);

repeat {начало цикла}

x:=random(rdm); {получение сл. числа}

temp:=x;

{цикл преобр. х в n разрядный код}

for i:=1 to n do

Fr:=Frac(temp/2);

temp:=Int(temp/2);

if Fr=0

then a[i]:=0

else a[i]:=1; {код записан в массив}

end;

{передача/приём/дешифрация кода}

d:=0;

for i:=1 to n do

if a[i]=1 then port[b+4]:=2

else port[b+4]:=0;

DelayMks(10000); {задержка между битами}

e:=port[b+6] and 16;

if e=16 then

d:=round(d+exp(((n-1)-(n-i))*ln(2)));

end;

{d - принятое десятичное значение}

port[b+4]:=0;

if d<>x then alarm:=alarm+1 {фильтр помех}

else alarm:=0;

if alarm>=m then {если пропусков >= m}

port[b+4]:=3; {Зажигаем RTS и DTR}

DelayMks(t);

port[b+4]:=0;

ch_al:=ch_al+1;

alarm:=0;

end;

until KeyPressed; {конец цикла}

{подготовка к закрытию и формирование отчёта}

port[b+4]:=0;

if ch_al=0 then writeln('За время работы срабатываний небыло.')

else writeln('Система срабатывала ',ch_al,' раз!');

readln;

 

После запуска программа выдаёт сообщение «Охранная система включена!» и начинается контроль объекта. Число генерируется и передаётся через луч. В случае трёхкратного (подряд) принятия неверного кода, на время T выставляется высокий уровень на выходе DTR(4) и RTS(7). По истечении периода T работа программы возобновляется.

Следует обратить внимание на задержку между битами – она необходима для обеспечения необходимой паузы между сменой состояния на выходе RTS(7), дабы фотоприёмник успевал надёжно реагировать на изменения луча. Величина её зависит от многого: какова яркость лазера (устанавливается резистором R5), расстояние между лазером и фотодиодом, типа фотодиода и, конечно же, какая скорость передачи битов необходима для конкретного случая. Подбирают задержку экспериментально, уменьшая до предельного значения, когда система ещё работает стабильно (здесь следует также учитывать возможные изменения прозрачности воздуха в течение охранного периода). Если всёже скорости недостаточно для передачи 3 чисел в течение ½ – 1 сек. (а именно на такое время пересекает луч идущий человек), имеет смысл уменьшить число бит (понизить разрядность).

Остановить программу можно, нажав любую клавишу на клавиатуре (однако ничто не мешает установить пароль), после чего на экран будет выведен отчёт с информацией о числе срабатываний за охранный период. Нажатие Enter окончательно закроет программу.

В программе используется процедура DelayMks, написанная на ассемблере. Она необходима для более-менее точного замера временных интервалов, т.к. «родная» паскалевская Delay очень непредсказуемо работает на процессорах семейства Пентиум. Вникать в её суть не обязательно, достаточно просто вставлять её в текст своей программы.

Программа работает на один канал, однако не трудно переделать её на любое количество каналов. Ведь многие старые компьютеры имеют до 4 портов LPT. Легко посчитать, сколько линий контроля получится сделать. При этом на каждую линию можно вести протокол, записывая события и время в текстовый файл. Можно подключить к порту АЦП [4],[6] и следить за параметрами некоего процесса (например, температурой в оранжерее) и регулировать этот параметр программно, при этом отображая его на экране в виде графика или диаграммы, параллельно записывая эти данные в файл на жёстком диске. Можно сделать автоматический станок, например, для гравировки, и управлять им от компьютера. Возможности ограничены лишь Вашей фантазией!

 

Школьный центр Эрмитажа предлагает родителям и детям разного возраста увлекательные игровые маршруты, которые позволяют самостоятельно познакомиться с залами и коллекциями музея. Во время игры-путешествия дети находят ответы на вопросы квеста, отгадывают загадки и раскрывают секреты эрмитажных памятников. Некоторые темы квестов:

«Дворцовый зверинец: Собаки» (О верных друзьях и помощниках человека: о породах собак, традициях охоты и о том, какую еще роль собаки играли в жизни человека) Для учащихся 1-2 классов.

«Разыскивается герой» (Путешествие по Зимнему дворцу. В Зимнем дворце жило очень много людей: императоров, придворных и слуг. Угадай, о ком идет речь в квесте) Для учащихся 3-5 классов.

«Облик, образ, образец» (Об идеалах красоты, духовной и физической) Для учащихся 3-5 классов.

«В поисках книги» (По следам героев сказок) Для учащихся 4-6 классов

«Время» (О часовых механизмах, календарных системах, о философском понимании времени.)
Для учащихся 6-8 классов.

«Знаки Зодиака» (Загадки в стихотворной форме для любителей астрономии и искусства)
Для учащихся 9-11 классов

 

На выбор предлагаем посещение новогодних спектаклей:

17:30 «Рецепт волшебства» (Центр водных видов спорта «Невская волна»)

Звезды синхронного плавания, трюки прыгунов в воду, цирковые полеты, головокружительные выступления на флайборде и (или) аквабайке. Более 70 артистов и спортсменов, участников представления. Юные воспитанники спортивных школ по синхронному плаванию и прыжкам в воду.
На протяжении шести лет трёхкратная олимпийская чемпионка Мария Киселева добавляет все новые и новые краски к своим представлениям для всей семьи. Каждый спектакль это оригинальная музыка, сценарий, декорации, костюмы. В этом году вас ждут новые впечатления и новые эмоции!

Стоимость билетов: от 600 до 1800р.

<== предыдущая лекция | следующая лекция ==>
Практическая реализация | 
Поделиться с друзьями:


Дата добавления: 2017-01-14; Просмотров: 195; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.