logo
HCS12 с применением языка С - royallib

Исследовательские

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

2. Напишите программу на Си для реализации задачи предыдущего вопроса. Программа должна включать все операции по инициализации модуля таймера. Считайте, что таймер тактируется частотой 2 МГц, исследуемый импульсный сигнал подается на вход канала 2 модуля таймера.

3. При изучении подсистемы выходного сравнения мы рассмотрели пример генерации на одном из выходов МК единичного импульса с низким логическим уровнем. По условию задачи длительность этого импульса не превышала периода переполнения счетчика временной базы таймера. Разработайте блок-схему алгоритма для этого примера.

4. Напишите программу на Си для реализации задачи вопроса № 3. Программа должна включать все операции по инициализации модуля таймера. Считайте, что таймер тактируется частотой 2 МГц, импульсный сигнал генерируется на на выходе канала 2 модуля таймера.

5. Напишите программу на Си, которая изменяет код на выходе порта A в порядке инкрементирующего двоичного счетчика. Временной интервал между двумя соседними изменениями кодов должен составлять 30 мс.

6. Напишите программу на Си, которая изменяет код на выходе порта A сначала в порядке инкрементирующего двоичного счетчика от 0x00 до 0xFF, а затем в обратном порядке 0xFF…0x00. Временной интервал между двумя соседними изменениями кодов должен составлять 30 мс.

7. В рассмотренном при изучении подсистемы таймера примере измерения периода некоторого импульсного сигнала мы предположили, что этот период будет меньше, чем период переполнения счетчика временной базы. Измените предложенный ранее алгоритм таким образом, чтобы измерения проводились для сигналов с периодом, превышающим период переполнения счетчика временной базы.

8. Укажите ограничения по минимальному и максимальному значению периода сигнала для предложенного Вами алгоритма в задании № 7.

9. В параграфе 4.14.5, посвященном счетчику внешних событий в составе модуля таймера, мы обсудили способ измерения скорости движения велосипеда с использованием датчика Холла. Разработайте блок схему алгоритма, напишите текст программы на Си для реализации такого измерителя скорости.

10. В примере использования модуля меток реального времени (раздел 4.15) мы программно отсчитывали 122 периода модуля RTI по 8,196 мс для формирования интервала в 1 с. Сколько отсчетов необходимо было бы сделать для отсчета 24 часов? Сколько 8-разрядных ячеек памяти понадобилось бы задействовать для этой задачи?

11. В разделе 4.18 мы рассмотрели программный фрагмент для инициализации контроллера SCI и передачи с его помощью ASCII кодов некоторых символов. Предположите, что Вам требуется организовать связь по последовательному асинхронному интерфейсу двух МК семейства 68HC12. Нарисуйте функциональную схему соединения микроконтроллеров. Разработайте две блок-схемы алгоритмов для передающего и принимающего контроллеров. Напишите программы для обоих МК на Си.

12. В параграфе 4.24 мы обсудили способ управления исполнительным двигателем рулевого управления радиоуправляемой модели автомобиля с использованием ШИМ. Частота импульсного напряжения, прикладываемого к двигателю, составляет 50 Гц. Диапазон изменения коэффициента заполнения при полном ходе механизма рулевого управления составляет 4,5…10,0%. Разработайте блок-схему алгоритма, напишите текст программы на Си для управления рулевым механизмом. Для решения задачи предположите, что код задания угла поворота рулевого механизма в 8-разрядном формате поступает на входы порта A.

Рис. 4.120. Электрический двигатель с оптическим датчиком скорости

13. Разработайте блок схему алгоритма и напишите текст программы на Си для расчета скорости вращения двигателя (об/мин) по сигналам оптического датчика скорости. Принцип действия датчика поясняет рис. 4.120. Прозрачный пластмассовый диск закреплен на валу двигателя. Диск поделен светонепроницаемой краской на секторы. Диск помещен между излучающим светодиодом и фотоприемником. Если напротив светодиода находится черная полоса диска, то на выходе электронной схемы фотоприемника формируется логический 0. Если напротив светодиода располагается прозрачная полоса диска, то выход электронной схемы фотоприемника устанавливается в 1. В результате, когда двигатель вращается, на выходе электронной схемы формируется импульсная последовательность, частота которой прямопропорциональна скорости вращения двигателя. Для решения задачи предположите, что оптический датчик скорости формирует 200 импульсов на один оборот двигателя.