|
1: Nome do experimento Lâmpada de funcionamento de quatro dígitos
2: Conteúdo experimentalPerceba o ciclo de piscar a lâmpada de funcionamento de quatro posições
3. Propósito do experimento1: Dominar o hardware do LEDCircuito 2: Dominar o método de configuração de registradores da saída do módulo GPIO KL25 3: Dominar o método de programação do ciclo de luz de quatro dígitos em funcionamento
4. Métodos experimentais 1: Consulte o diagrama de circuito dessa seção Foi constatado que os pinos PTB8, PTB9, PTB10 e PTB11 do KL25 controlam os quatro diodos emissores de luz LED: D6, D7, D8 e D9, respectivamente. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Configurar os registradores correspondentes do módulo GPIO (1) Consulte a página 122 do Manual de Referência KL25 e veja que o GPIO é fornecido pelo clock da plataforma.
(2) Conecte o relógio do Platform e o módulo POTRB, e programe-o da seguinte forma: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 registros podem ser consultados
(3) Defina os atributos do pino multiplexador, configure PTB8, PTB9, PTB10 e PTB11 como funções GPIO, e programe-as da seguinte forma: 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 o registro PORTx_PCRn e a página 46 da Ficha Técnica do KL25 para mais informações
(4) Defina a direção de entrada e saída dos pinos, coloque PTB8, PTB9, PTB10 e PTB11 para saída, e programe-os da seguinte forma: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR registros podem ser consultados
(5) Definir o nível lógico de saída do pino, definir o nível alto de saída de PTB8, PTB9, PTB10, PTB11 e programá-lo da seguinte forma: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Consulte GPIOx_PDOR registros
3: Perceba o piscar cíclico da lâmpada de funcionamento de quatro posições [mw_shl_code=c,true]Consulte o programa correspondente na função principal da rotina/* *********************************************************** * nome do arquivo: main.c * função : função para o principal * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main (void)
{ asm ("CPSID i"); A interrupção geral do passo
crg_default_init(); Clock padrão do sistema crg_configuration_init(); Relógio após configuração MCGIRCLK_outenable(); Ativa saída MCGIRCL 2M clock_test(4); Testes dos relógios correspondentes
gpio_init(); Inicialização GPIO
asm ("CPSIE i"); Abra a interrupção total
por(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); Saída de alto nível PTB8, luz D6LED acesa atrasos (15000); Atraso GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); Saída de nível alto do PTB9, luz D7LED ligada atrasos (15000); Atraso GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); Saída de nível alto do PTB10, luz D8LED ligada atrasos (15000); Atraso GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); Saída de nível alto do PTB11, luz D9LED ligada atrasos (15000); Atraso }
}[/mw_shl_code]
|