- •Часть 1. Изучение интегрированной системы mcStudio
- •Порядок работы с интегрированной системой mcStudio
- •Запуск интегрированной системы mcStudio
- •2. Написание программы на языке Ассемблер
- •Визуализация контролируемых ресурсов микроконтроллера
- •4. Выполнение симуляции программы
- •8. Некоторые дополнительные возможности mcStudio
- •5. Создание и отладка новой программы
- •6. Загрузка ранее созданной программы
- •7. Выход из интегрированной системы mcStudio
- •Часть 2. Изучение команд передачи данных
- •Задание
- •Оформление программы
- •Контрольные вопросы
- •Задание
- •Контрольные вопросы
- •Лабораторная работа № 3 Реализация функций времени. Часть 1 Введение
- •Задание
- •Контрольные вопросы
- •Лабораторная работа № 4 Реализация функций времени. Часть 2 Введение
- •Задание
- •Контрольные вопросы
- •Задание
- •Контрольные вопросы
- •Лабораторная работа № 6 Программирование последовательного порта микроконтроллера Введение
- •Задание
- •Контрольные вопросы
- •Варианты заданий
- •Контрольные вопросы
- •Особенности использования демонстрационной версии интегральной системы mcStudio
- •Библиографический список
Задание
Составить программу счета перепадов из 1 в 0 на входе Т1 (Р3.5). Когда число перепадов станет равным 6, счет прекратить и результат записать в регистр R7 текущего банка регистров.
Для моделирования перепадов из 1 в 0 на входе Т1 (P3.5) необходимо создать файл модели кнопки, нажатие которой будет создавать перепады из 1 в 0 и из 0 в 1 при щелчках по ней левой кнопки мыши. Для этого необходимо войти в редактор окружения, щёлкнув левой кнопкой мыши по опции Файл главного меню интегрированной системы MCStudio. В выпавшем окне щёлкнуть левой кнопкой мыши по опции Редактор окружения…. В появившемся окне Редактор окружения MCStudio щёлкнуть левой кнопкой мыши по опции Внешние устройства, а затем щёлкнуть левой кнопкой мыши по изображению одиночной кнопки 1/0, а затем щёлкнуть левой кнопкой мыши в поле окна Окружение. В результате появится изображение кнопки в рамке из чёрных квадратиков. В появившемся слева от окна окружения окне Кнопка щёлкните по опции Адрес. Затем следует щёлкнуть левой кнопкой мыши по появившейся справа от опции Адрес кнопке с изображением трёх точек … . В выпавшем окне Кнопка – редактиро… щёлкнуть левой кнопкой мыши по кнопке с галочкой в поле Бит0, при этом выпадет надпись (вывод контроллера). Щёлкните по этой надписи левой кнопкой мыши. При этом в поле Бит0 появится надпись (вывод контроллера), а рядом в расположенном справа маленьком окне появится имя P0.0. Щёлкните левой кнопкой мыши по кнопке с галочкой рядом с именем бита P0.0. В выпавшем окне прокруткой выберите требуемую линию порта, к которой будет подключена кнопка (для данного задания это линия Р3.5) и щёлкните по ней левой кнопкой мыши. Затем щёлкните левой кнопкой мыши по клавише OK. Для сохранения модели кнопки щёлкните левой кнопкой мыши по опции Файл в окне Редактор окружения MCStudio. В выпавшем окне щёлкните левой кнопкой мыши по строчке Сохранить как… При этом выпадет окно Сохранение проекта окружения. В выпавшем окне Сохранение проекта окружения наберите имя knopka и щёлкните левой кнопкой мыши по кнопке Сохранить. При этом в вашем проекте будет сохранён файл модели knopka.med.
Для возврата в рабочее окно MCStudio щёлкните левой кнопкой мыши по опции Файл в окне Редактор окружения MCStudio и в выпавшем окне щёлкните левой кнопкой мыши по опции Вернуться в MCStudio.
Перепады логических уровней задавайте следующим образом. Щёлкните левой кнопкой мыши по значку Показать окружение главного меню (крайний правый значок в главном меню). При этом в окне Окружение появится изображение кнопки, щёлкая по которой левой кнопкой мыши, можно задавать перепады логических уровней из 1 в 0 и из 0 в 1. При каждом нажатии будет инвертироваться сигнал на входе таймера/счётчика Т/С1 Т1 (вывод микроконтроллера Р3.5).
Для использования созданной модели кнопки в других проектах следует после создания нового проекта войти в редактор окружения, щёлкнув левой кнопкой мыши по опции Файл главного меню MCStudio. В выпавшем окне щёлкните левой кнопкой мыши по опции Редактор окружения…. В появившемся окне Редактор окружения MCStudio щёлкните левой кнопкой мыши по опции Файл. В выпавшем окне щёлкните левой кнопкой мыши по опции Открыть. В выпавшем окне Открыть проект окружения установите путь к папке, где находится файл knopka.med и выделите его щелчком левой кнопки мыши. Затем щёлкните левой кнопкой мыши по клавише Открыть. В выпавшем окне Confirm c запросом "Вы действительно хотите изменить привязку проекта к окружению?" щёлкните левой кнопкой мыши по клавише Yes. Произойдёт возврат в окно Редактор окружения MCStudio. Щёлкните левой кнопкой мыши по опции Файл и в выпавшем окне щёлкните левой кнопкой мыши по опции Вернуться в MCStudio.
Составить программу непрерывной инверсии бита Р3.4 через каждые 100 мкс (1 мкс) без использования прерываний. Отсчёт 100 мкс должен начинаться одновременно с пуском программы.
Рекомендуется использовать второй режим таймера. Для измерения длительностей временных интервалов используйте точку останова программы в команде конца формирования временного интервала и функцию тайминг (измеритель времени).
Для создания точки останова запустите симуляцию, щёлкая левой кнопкой мыши по опциям Выполнение\Запустить симуляцию. При этом слева от каждой команды программы появятся точки синего цвета. Выберите команду программы, на которой программа должна остановиться, и щёлкните левой кнопкой мыши по синей точке слева от начала команды. При этом строка команды подсветится красным цветом, а синяя точка станет красной со знаком галочки. Убирается точка останова щелчком по красной точке со знаком галочки левой кнопкой мыши.
Для установки тайминга щёлкните левой кнопкой мыши по опции Вид главного меню. В выпавшем окне щёлкните левой кнопкой мыши по опции Тайминг. При этом откроется окно Тайминг, а окно Вид закроется. В окне Тайминг отображаются число циклов и время в микросекундах после запуска тайминга. Если режим симуляции не запущен, кнопка Запуск тайминга не активна (серая). При запуске симуляции кнопка Запуск тайминга становится активной. Для того чтобы запустить тайминг, щёлкните левой кнопкой мыши по кнопке Запуск. При этом на кнопке появится надпись Останов и начнётся отсчёт числа машинных циклов и времени. При остановке программы, например на точке останова, отсчёт циклов и времени прекращается. Для обнуления тайминга щёлкните левой кнопкой мыши по клавише Сброс в окне Тайминг. При этом произойдёт обнуление тайминга, а на левой кнопке тайминга появится надпись Запуск. Теперь тайминг готов к следующему запуску.
Составить программу, измеряющую с помощью таймера/счетчика Т/С0 количество импульсов, которое поступает на вход T0 (р3.4) за каждый отрезок времени 100 мкс, задаваемый таймером/счетчиком Т/С1. Временных отрезков по 100 мкс каждый должно быть 10. Количество посчитанных импульсов следует занести в 10 ячеек резидентной памяти данных с последовательными адресами. Адрес начальной ячейки 20h.
Для моделирования внешнего генератора импульсов необходимо создать файл модели генератора импульсов, поступающих на вход Р3.4. Для этого необходимо войти в редактор окружения, щёлкнув левой кнопкой мыши по опции Файл главного меню MCStudio. В выпавшем окне необходимо щёлкнуть левой кнопкой мыши по опции Редактор окружения…. В появившемся окне Редактор окружения MCStudio следует щёлкнуть левой кнопкой мыши по опции Внешние устройства, а затем щёлкнуть левой кнопкой мыши по изображению генератора битового сигнала с переменной частотой и скважностью. Далее следует щёлкнуть левой кнопкой мыши в поле окна Окружение. В результате появится изображение генератора в рамке из чёрных квадратиков. В появившемся слева от окна окружения окне БитовыйГенератор щёлкните по опции Адрес. Затем следует щёлкнуть левой кнопкой мыши по появившейся справа от опции Адрес кнопке с изображением трёх точек …. В выпавшем окне Генератор1 – редактиро… щёлкните левой кнопкой мыши по кнопке с галочкой в поле Бит0, при этом ниже выпадет надпись (вывод контроллера). Щёлкните по этой надписи левой кнопкой мыши. При этом в поле Бит0 появится надпись (вывод контроллера), а рядом в расположенном справа маленьком окне появится имя P0.0. Щёлкните левой кнопкой мыши по кнопке с галочкой рядом с именем бита P0.0. В выпавшем окне прокруткой выберите требуемую линию порта, к которой будет подключен выход генератора (для данного задания это линия Р3.4) и щёлкните по ней левой кнопкой мыши. Затем щёлкните левой кнопкой мыши по клавише OK. В окне БитовыйГенератор в строке Макс. период установите 0.1, в строке Мин. период установите 0.002, в строке Период установите 0.002. При этом будут установлены максимальный период 0,1 мс, минимальный период 0,002 мс, период 0,002 мс. Для сохранения файла модели генератора щёлкните левой кнопкой мыши по опции Файл редактора окружения. В выпавшем окне щёлкните левой кнопкой мыши по строчке Сохранить как… При этом выпадет окно Сохранение проекта окружения. Наберите имя generator и щёлкните левой кнопкой мыши по кнопке Сохранить. При этом в вашем проекте будет сохранён файл модели generator.med.
Для возврата в рабочее окно MCStudio щёлкните левой кнопкой мыши по опции Файл в окне Редактор окружения MCStudio и в выпавшем окне щёлкните левой кнопкой мыши по опции Вернуться в MCStudio.
Чтобы использовать модель внешнего генератора в проекте, щёлкните левой кнопкой мыши по значку Показать окружение главного меню (крайний правый значок в главном меню). При этом в окне Окружение появится изображение генератора. На изображении генератора имеется кнопка включения/выключения, управляемая щелчком левой кнопки мыши. Зелёный цвет квадратика на кнопке означает, что генератор включен, красный – выключен. Кроме этого, имеется движок для изменения частоты. Для изменения частоты наведите курсор на движок, нажмите левую кнопку мыши и, не отпуская её, перемещайте движок, двигая мышь. При этом в окошках периода и частоты будут изменяться значения.
Перед запуском программы посчитайте, какое число импульсов будет подсчитано при заданной частоте генератора. Допускается погрешность в 1 импульс.
