Задание
Давайте превратим MB2 в сирену! Но не в какую-нибудь сирену, а в сирену, управляемую прерываниями. Тогда мы сможем включить сирену, а остальная программа будет продолжать работать, не обращая на неё внимания.
Заставьте сирену плавно менять высоту тона от 440 Гц до 660 Гц и обратно за период в одну секунду. Основная программа должна запустить сирену, затем вывести десятисекундный обратный отсчёт от 10 до 1, затем остановить сирену и вывести «launch!». Во время отсчёта основная программа не должна вмешиваться в работу сирены: она должна управляться только прерываниями.
Подсказка: мне было проще всего использовать глобальную блокируемую структуру Siren, которая владела состоянием сирены и периферией, нужной для её работы.
Это сложная программа, в которой используется много новых идей. Не удивляйтесь, если на её разбор уйдёт некоторое время.