|
1: Name des Experiments Vierstellige Lauflampe
2: Experimenteller InhaltErkenne den Zyklus des Blinkens der Vier-Positions-Lauflampe
3. Zweck des Experiments1: Die LED-Hardware beherrschenZirkel 2: Die Registerkonfigurationsmethode des KL25 GPIO-Modulausgangs meistern 3: Beherrsche die Programmiermethode des vierstelligen Lauflicht-Zyklen-Blinkens
4. Experimentelle Methoden 1: Konsultieren Sie den Schaltplan dieses Abschnitts Es wurde festgestellt, dass die PTB8-, PTB9-, PTB10- und PTB11-Pins von KL25 die vier LED-Leuchtdioden D6, D7, D8 und D9 steuern. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Konfigurieren der entsprechenden Register des GPIO-Moduls (1) Siehe Seite 122 des KL25 Reference Manual und stelle fest, dass der GPIO durch die Plattformuhr bereitgestellt wird.
(2) Die Plattform-Uhrenuhr mit dem POTRB-Modul verbinden und wie folgt programmieren: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 Register können konsultiert werden
(3) Setzen Sie die Multiplex-Pin-Attribute, konfigurieren Sie PTB8, PTB9, PTB10 und PTB11 als GPIO-Funktionen und programmieren Sie sie wie folgt: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Weitere Informationen finden Sie im PORTx_PCRn-Register und auf Seite 46 des KL25-Datenblatts.
(4) Stellen Sie die Ein- und Ausgangsrichtung der Pins ein, setzen Sie PTB8, PTB9, PTB10 und PTB11 als Ausgangssignal und programmieren Sie sie wie folgt: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR Register können konsultiert werden
(5) Stellen Sie den Ausgangslogikpegel des Pins ein, stellen Sie den Ausgangshochpegel auf PTB8, PTB9, PTB10, PTB11 ein und programmieren Sie es wie folgt: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Konsultieren Sie GPIOx_PDOR Register
3: Erkennen Sie das Zyklenblinken der Vierpositionen-Lauflampe [mw_shl_code=c,true] Konsultiere das entsprechende Programm in der Hauptfunktion der Routine/* *********************************************************** * Dateiname: main.c * Funktion : Funktion für Main * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(void)
{ asm("CPSID i"); Die allgemeine Unterbrechung des Passes
crg_default_init(); System-Standardtakt crg_configuration_init(); Takt nach der Konfiguration MCGIRCLK_outenable(); Ermöglicht MCGIRCL-Ausgang 2M clock_test(4); Tests der entsprechenden Uhren
gpio_init(); GPIO-Initialisierung
asm("CPSIE i"); Öffne die totale Unterbrechung
für(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); PTB8-Ausgangshochpegel, D6LED-Leuchte an delayms(15.000); Verzögerung GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); PTB9-Ausgang Hochpegel, D7LED-Leuchte an delayms(15.000); Verzögerung GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); PTB10 gibt hohe Pegel aus, D8LED-Leuchte an delayms(15.000); Verzögerung GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); PTB11 gibt Hochpegel aus, D9LED-Leuchte an delayms(15.000); Verzögerung }
}[/mw_shl_code]
|