|
1: Eksperimentets navn Firecifret kørelampe
2: Eksperimentelt indholdIndse cyklussen med at blinke fire-positioners kørelampen
3. Formålet med eksperimentet1: Mestre LED-hardwarenCircuit 2: Mestre registerkonfigurationsmetoden for KL25 GPIO-modulets output 3: Mestre programmeringsmetoden med firecifret løbende lyscyklusblink
4. Eksperimentelle metoder 1: Konsultér kredsløbsdiagrammet for den sektion Det blev fundet, at PTB8, PTB9, PTB10 og PTB11 benene i KL25 styrer de fire LED-lysdioder D6, D7, D8 og D9 henholdsvis. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Konfigurer de tilsvarende registre i GPIO-modulet (1) Se side 122 i KL25 Reference Manual og find, at GPIO leveres af platformens ur.
(2) Forbind platformuret og POTRB-modulet, og programmere det som følger: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 registre kan konsulteres
(3) Sæt multipleksepinattributtene, konfigurer PTB8, PTB9, PTB10 og PTB11 som GPIO-funktioner, og programmerer dem som følger: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Se PORTx_PCRn-registeret og side 46 i KL25 Data Sheet for mere information
(4) Indstil ind- og udgangsretningen for benene, sæt PTB8, PTB9, PTB10 og PTB11 til udgang, og programmere dem som følger: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR registre kan konsulteres
(5) Sæt outputlogikniveauet på pinden, sæt output-højniveauet på PTB8, PTB9, PTB10, PTB11, og programmere det som følger: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Konsultér GPIOx_PDOR registre
3: Indse cyklusblinkingen af den fire-positioners kørelampe [mw_shl_code=c,true]Konsultér det tilsvarende program i hovedfunktionen af rutinen/* *********************************************************** * filnavn : main.c * funktion : funktion for hoved * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(void)
{ asm("CPSID i"); Den generelle afbrydelse af passet
crg_default_init(); Systemets standardur crg_configuration_init(); Clock efter konfiguration MCGIRCLK_outenable(); Muliggør MCGIRCL-udgang 2M clock_test(4); Test af de tilsvarende ure
gpio_init(); GPIO-initialisering
asm(" CPSIE I"); Åbn den totale afbrydelse
for(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); PTB8 output højt niveau, D6LED-lys tændt delayms(15000); Forsinkelse GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); PTB9 output højniveau, D7LED lys tændt delayms(15000); Forsinkelse GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); PTB10 output højniveau, D8LED-lys tændt delayms(15000); Forsinkelse GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); PTB11 output højniveau, D9LED-lys tændt delayms(15000); Forsinkelse }
}[/mw_shl_code]
|