книги / Программирование микроконтроллеров с использованием IDE
..pdfНажимаем Finish (рис. 2.54).
Рис. 2.54. Завершение создания проекта в Proteus
Откроется созданный проект. РА, РВ, РС у микросхемы – это порты ввода-вывода. Вкладку Source Code можно закрыть, она нам не понадобится (рис. 2.55).
Рис. 2.55. Начало создания схемы в Proteus
61
Далее необходимо открыть окно выбора устройств (рис. 2.56).
Рис. 2.56. Начало выбора дополнительных элементов схемы в Proteus
По ключевым словам добавляем устройства:
LED-GREEN (рис. 2.57);
резистор RT0805DRE071KL или аналогичный (рис. 2.58);
ключ SW-SPST (рис. 2.59).
Добавление осуществляется двойным кликом по устройству в списке.
Рис. 2.57. Выбор светодиода в Proteus
62
Рис. 2.58. Выбор резистора в Proteus
Рис. 2.59. Выбор ключа в Proteus
Управление рабочей областью. Перемещение рабочей области можно осуществлять средней кнопкой мыши. Масштаб – колесо мыши.
В режиме «Component Mode» слева отображаются добавленные устройства. Выбрав левой кнопкой мыши, устройство можно разместить левой кнопкой на рабочей области. Размещаем компоненты примерно, как на скриншоте (рис. 2.60 и 2.61).
63
Рис. 2.60. Перемещение рабочей области схемы в Proteus
Рис. 2.61. Размещение дополнительных элементов в Proteus
Дважды щёлкнув на резистор, нужно изменить его сопротивле-
ние на 10KOm (рис. 2.62).
64
Рис. 2.62. Настройка резистора в Proteus
Далее в режиме Terminals Mode размещаем на рабочей области вход питания (POWER) и шину «Ноль вольт» (GROUND) (рис. 2.63).
Рис. 2.63. Настройка шин питания в Proteus
65
В данный момент мышь имеет вид карандаша (если нет, попробуйте переключаться между разными режимами). При наведении на контакты элементов появляется красный квадратик, обозначающий возможность соединения контакта («припаивания») (рис. 2.64).
Рис. 2.64. Подключение светодиода в Proteus
Соединяем схему, как показано на рис. 2.65.
Рис. 2.65. Подключение подтягивающего (Pull Up) резистора, ключа и светодиода в Proteus
Схема создана! Приступаем к загрузке программы и моделированию.
66
2.4. Тестирование программы ввода-вывода
Далее дважды щёлкаем по микроконтроллеру. Здесь нас интересует Program File. Нажимаем на кнопку в виде папки (рис. 2.66).
Рис. 2.66. Выбор файла программы в Proteus
Далее ищем сгенерированный uVision IDE, скомпилированный файл прошивки. Путь до файла, скорее всего, будет иметь вид
…\SwitchTest\MDK-ARM\SwitchTest\SwitchTest.hex,
где «SwitchTest» – имя проекта в CubeMX. Выбрали файл, нажима-
ем OK (рис. 2.67).
Рис. 2.67. Загрузка файла программы в Proteus
67
Готово! Остаётся протестировать работу программы. В нижней части Proteus есть кнопки управления симуляцией. Для начала си-
муляции нажмем Run the simulation (рис. 2.68).
Рис. 2.68. Начало моделирования в Proteus
Если всё сделали верно, как описывалось, то светодиод загорится (рис. 2.69).
Рис. 2.69. Свечение светодиода в Proteus
68
При переключении switch-а светодиод должен соответственно переключаться. Соответствующие кнопки на switch-е:
Рис. 2.70. Ввод и вывод единицы в альтернативной схеме
Рис. 2.71. Ввод и вывод нуля в альтернативной схеме
69
А вот альтернативная схема – с другим переключателем и кварцевым резонатором, ибо без него встроенный тактовый генератор микроконтроллера работать не будет, то есть предыдущая модель, не совсем корректная, как мы убедились, работала (рис. 2.70 и 2.71).
2.5. Программа ввода с двух ключей и вывода на два светодиода
Напишем по аналогии программу ввода с двух ключей и вывода на два светодиода:
HAL_GPIO_WritePin(MY_OUT0_GPIO_Port, MY_OUT0_Pin, HAL_GPIO_ReadPin(MY_IN0_GPIO_Port, MY_IN0_Pin)); HAL_GPIO_WritePin(MY_OUT1_GPIO_Port, MY_OUT1_Pin, HAL_GPIO_ReadPin(MY_IN1_GPIO_Port, MY_IN1_Pin));
HAL_Delay(25);
Здесь добавлены новый вход MY_IN1 и новый выход MY_OUT1 по сравнению с ранее рассмотренной программой. Открываем предыдущий проект и сохраняем его под новым именем. Добавляем входы-выходы (рис. 2.72).
Рис. 2.72. Добавление входов-выходов
70