|
1: Nome dell'esperimento Lampada di marcia a quattro cifre
2: Contenuti sperimentaliRealizza il ciclo di lampeggiare la lampada di funzionamento a quattro posizioni
3. Scopo dell'esperimento1: Padroneggiare l'hardware LEDCircuito 2: Padroneggiare il metodo di configurazione dei registri dell'uscita modulo GPIO KL25 3: Padroneggiare il metodo di programmazione del lampeggiamento a ciclo luminoso a quattro cifre
4. Metodi sperimentali 1: Consulta lo schema elettrico di quella sezione È stato scoperto che i pin PTB8, PTB9, PTB10 e PTB11 di KL25 controllano rispettivamente i quattro diodi LED a emissione luminosa D6, D7, D8 e D9. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Configurare i registri corrispondenti del modulo GPIO (1) Consulta la pagina 122 del Manuale di Riferimento KL25 e scopri che il GPIO è fornito dall'orologio della piattaforma.
(2) Collegare l'orologio della piattaforma e il modulo POTRB, e programmarlo come segue: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 registri possono essere consultati
(3) Impostare gli attributi dei pin multiplexing, configurare PTB8, PTB9, PTB10 e PTB11 come funzioni GPIO, e programmarle come segue: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Consulta il registro PORTx_PCRn e la pagina 46 della scheda tecnica KL25 per maggiori informazioni
(4) Imposta la direzione di ingresso e uscita dei pin, imposta PTB8, PTB9, PTB10 e PTB11 in uscita e programmali come segue: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR registri possono essere consultati
(5) Impostare il livello logico di uscita del pin, impostare il livello alto di uscita di PTB8, PTB9, PTB10, PTB11 e programmarlo come segue: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Consulta GPIOx_PDOR registri
3: Realizzare il lampeggiamento ciclico della lampada di marcia a quattro posizioni [mw_shl_code=c,true]Consulta il programma corrispondente nella funzione principale della routine/* *********************************************************** * nome file: main.c * funzione : funzione per main * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(void)
{ asm ("CPSID i"); L'interruzione generale del passo
crg_default_init(); Orologio predefinito del sistema crg_configuration_init(); Orologio dopo configurazione MCGIRCLK_outenable(); Abilita l'uscita MCGIRCL 2M clock_test(4); Test degli orologi corrispondenti
gpio_init(); Inizializzazione GPIO
asm ("CPSIE i"); Apri l'interruzione totale
per(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); Uscita PTB8 ad alto livello, luce D6LED accesa ritardi (15000); Ritardo GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); Uscita PTB9 ad alto livello, luce D7LED accesa ritardi (15000); Ritardo GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); Uscita PTB10 ad alto livello, luce D8LED accesa ritardi (15000); Ritardo GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); Uscita PTB11 ad alto livello, luce D9LED accesa ritardi (15000); Ritardo }
}[/mw_shl_code]
|