|
1: Nombre del experimento Lámpara de marcha de cuatro dígitos
2: Contenido experimentalTen en cuenta el ciclo de parpadear la lámpara de funcionamiento de cuatro posiciones
3. Propósito del experimento1: Dominar el hardware LEDcircuito 2: Dominar el método de configuración de registros de la salida del módulo GPIO KL25 3: Dominar el método de programación del parpadeo de ciclo de luz de cuatro dígitos
4. Métodos experimentales 1: Consulta el diagrama de circuito de esa sección Se descubrió que los pines PTB8, PTB9, PTB10 y PTB11 de KL25 controlan los cuatro diodos emisores de luz LED D6, D7, D8 y D9 respectivamente. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Configurar los registros correspondientes del módulo GPIO (1) Consulte la página 122 del Manual de Referencia KL25 y descubra que el GPIO está proporcionado por el reloj de la plataforma.
(2) Conectar el reloj del reloj de plataforma y el módulo POTRB, y programarlo de la siguiente manera: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 se pueden consultar los registros
(3) Establecer los atributos del pin multiplexador, configurar PTB8, PTB9, PTB10 y PTB11 como funciones GPIO, y programarlos de la siguiente manera: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Consulte el registro PORTx_PCRn y la página 46 de la Hoja Técnica de KL25 para más información
(4) Establecer la dirección de entrada y salida de los pines, poner PTB8, PTB9, PTB10 y PTB11 en salida, y programarlos de la siguiente manera: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR se pueden consultar los registros
(5) Establecer el nivel lógico de salida del pin, establecer el nivel alto de salida de PTB8, PTB9, PTB10, PTB11, y programarlo de la siguiente manera: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Consulta GPIOx_PDOR registros
3: Realizar el parpadeo cíclico de la lámpara de funcionamiento de cuatro posiciones [mw_shl_code=c,true]Consulta el programa correspondiente en la función principal de la rutina/* *********************************************************** * nombre de archivo: main.c * función : función para la principal * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main (vacío)
{ asm ("CPSID i"); La interrupción general del paso
crg_default_init(); Reloj predeterminado del sistema crg_configuration_init(); Reloj tras la configuración MCGIRCLK_outenable(); Activa la salida MCGIRCL 2M clock_test(4); Pruebas de los relojes correspondientes
gpio_init(); Inicialización de GPIO
asm ("CPSIE i"); Abre la interrupción total
para(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); Salida PTB8 de alto nivel, luz D6LED encendida retrasos (15000); Retraso GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); Salida de alto nivel PTB9, luz LED D7 encendida retrasos (15000); Retraso GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); Salida de alto nivel PTB10, luz D8LED encendida retrasos (15000); Retraso GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); Salida de alto nivel PTB11, luz D9LED encendida retrasos (15000); Retraso }
}[/mw_shl_code]
|