Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB5_W95.DOC
Скачиваний:
19
Добавлен:
16.04.2013
Размер:
102.4 Кб
Скачать

5.4. Задания.

1. Написать программу, которая мигает двумя левыми светодиодами, а по прерыванию TOI выводит информацию с шести правых переключателей на остальные светодиоды.

2. Написать программу, которая при каждом пятом прерывании TOI сдвигает содержимое светодиодов влево, а освободившийся светодиод должен зажигаться или гаситься в зависимости от состояния кнопки IC.

3. Используя функцию OC, организовать прерывания OCI с периодом в 20 мс (10000 тактов таймера) и на их основе написать программу, которая мигает светодиодами с частотой 2 Гц. С помощью секундомера убедитесь в точности отсчета времени в программе.

4. Измените программу, демонстрирующую работу таймера COP следующим образом: в основной части программа должна мигать четырьмя средними светодиодами, при срабатывании таймера COP необходимо инвертировать состояние правого светодиода, а при нажатии кнопки User Reset - левого, после чего управление снова должно передаваться в основную программу.

5. Напишите программу, которая последовательно считывает значения младшего байта регистра счетчика таймера и заполняет ими 20 ячеек ОЗУ, начиная с $50. Зная время выполнения команд HC05, по содержимому ячеек вычислите частоту тактирования таймера и сравните ее с теоретическим значением.

6. Написать программу, которая при каждом четвертом прерывании TOI инвертирует состояние светодиодов. С помощью секундомера измерьте частоту мигания светодиодов и сравните полученное значение с теоретическим.

7. Написать программу, которая отображает состояние кнопки IC на светодиодах.

8. На основе программы регулирования яркости светодиода, написать программу, которая на выходе TCMP генерирует сигнал с плавно меняющейся скважностью (ее целесообразно хранить в ячейке ОЗУ, а содержимое ячейки можно изменять по прерыванию TOI).

9. Пользуясь тем, что восемь переполнений таймера происходят примерно за секунду, напишите программу, которая подсчитывает время (в секундах), прошедшее с начала ее работы. Оцените погрешность таких часов и предложите способ ее уменьшения.

10. Написать программу, которая подсчитывает количество нажатий на кнопку IC за 5 секунд и отображает результат на светодиодах.

11. Написать программу генерирования на выходе TCMP сигнала с заданной частотой. Частота (старший байт приращения регистра OCR) должна задаваться на переключателях.

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

13. Написать программу, которая ведет протокол нажатий на кнопку IC (фиксирует время нажатия и отпускания кнопки в ячейках ОЗУ). Время должно быть выражено в переполнениях таймера. После 20 отметок программа должна закончить работу.

14. Используя функцию выходного сравнения, написать программу, которая точно 1 раз в секунду увеличивает содержимое светодиодов. С помощью секундомера убедитесь в точности отсчета времени в программе. Указание:1 сек=500000 тактов таймера=7х65536+41248.

15. Написать программу для точного определения времени нажатия на кнопку IC, считая, что оно меньше времени переполнения таймера (0.131 с).

16. Измените программу по прерыванию TOI таким образом, чтобы при первом нажатии на кнопку IC состояние светодиодов фиксировалось, а при втором нажатии счет возобновлялся.

Однокристальная микроЭВМ МС68НС705С8. Лабораторный практикум.

Соседние файлы в предмете Отладка микроконтроллеров ЭВМ