|
1: Название эксперимента Четырёхзначная ходовая лампа
2: Экспериментальный контентОсознайте цикл мигания четырёхпозиционной ходовой лампы
3. Цель эксперимента1: Освойте оборудование светодиодовТрасса 2: Овладеть методом конфигурации регистров вывода модуля KL25 GPIO 3: Овладейте методом программирования четырёхзначного мигающего цикла бегущих фар
4. Экспериментальные методы 1: Обратитесь к схеме этого участка Было установлено, что выводы PTB8, PTB9, PTB10 и PTB11 KL25 управляют четырьмя светодиодными диодами D6, D7, D8 и D9 соответственно. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Настроить соответствующие регистры модуля GPIO (1) Обратитесь к странице 122 справочника KL25 и узнаете, что GPIO определяется тактовым сигналом платформы.
(2) Соединить тактовый сигнал платформы и модуль POTRB и запрограммировать его следующим образом: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 регистры можно проконсультироваться
(3) Задать атрибуты вывода мультиплексирования, настроить PTB8, PTB9, PTB10 и PTB11 как функции GPIO и запрограммировать их следующим образом: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Для получения дополнительной информации обратитесь к регистру PORTx_PCRn и странице 46 технического листа KL25
(4) Установите направление входа и выхода контактов, установите выводы PTB8, PTB9, PTB10 и PTB11 и запрограммируем их следующим образом: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR регистры доступны
(5) Установите логический уровень вывода вывода, установите высокий уровень выхода PTB8, PTB9, PTB10, PTB11 и запрограммируйте его следующим образом: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Обратитесь к GPIOx_PDOR регистрам
3: Реализовать циклическое мигание четырёхпозиционной ходовой лампы [mw_shl_code=c,true]Обратитесь к соответствующей программе в основной функции рутины/* *********************************************************** * имя файла: main.c * function : function for main * *********************************************************** */
#include «derivative.h» #include "config.h" #include «crg.h» #include "gpio.h"
/******************************主函数*************************************/ int main(void)
{ asm("CPSID i"); Общее прерывание перевала
crg_default_init(); Стандартная тактовая частота системы crg_configuration_init(); Тактовые сигналы после конфигурации MCGIRCLK_outenable(); Включает выход MCGIRCL 2M clock_test(4); Испытания соответствующих часов
gpio_init(); Инициализация GPIO
asm («CPSIE i»); Откройте полное прерывание
for(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); Выход PTB8 на высоком уровне, горит индикатор D6LED задержки (15000); Задержка GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); Вывод PTB9 на высоком уровне, горит индикатор D7LED задержки (15000); Задержка GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); PTB10 выходит на высоком уровне, горит индикатор D8LED задержки (15000); Задержка GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); Выход PTB11 на высоком уровне, горящий индикатор D9LED задержки (15000); Задержка }
}[/mw_shl_code]
|