|
1: Naam van het experiment Viercijferig looplicht
2: Experimentele inhoudBesef de cyclus van het knippen van de vierstandige looplamp
3. Doel van het experiment1: Beheers de LED-hardwareCircuit 2: Beheers de registerconfiguratiemethode van de KL25 GPIO-moduleuitgang 3: Beheers de programmeermethode van viercijferig knipperen van de loopcyclus
4. Experimentele methoden 1: Raadpleeg het schakelschema van die sectie Er werd vastgesteld dat de PTB8, PTB9, PTB10 en PTB11 pinnen van KL25 respectievelijk de vier LED-lichtdiodes D6, D7, D8 en D9 aansturen. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Configureer de bijbehorende registers van de GPIO-module (1) Raadpleeg pagina 122 van de KL25 Reference Manual en zie dat de GPIO wordt geleverd door de platformklok.
(2) Verbind de Platformklok met de POTRB-module, en programmeer deze als volgt: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 registers kunnen worden geraadpleegd
(3) Stel de multiplexing-pinattributen in, configureer PTB8, PTB9, PTB10 en PTB11 als GPIO-functies, en programmeer ze als volgt: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Raadpleeg het PORTx_PCRn register en pagina 46 van het KL25 Data Sheet voor meer informatie
(4) Stel de in- en uitgangsrichting van de pinnen in, stel PTB8, PTB9, PTB10 en PTB11 in als uitgang, en programmeer ze als volgt: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR registers kunnen worden geraadpleegd
(5) Stel het uitgangslogicaniveau van de pin in, stel het uitgangshoog niveau in van PTB8, PTB9, PTB10, PTB11, en programmeer het als volgt: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Raadpleeg GPIOx_PDOR registers
3: Besef de cyclus van het knipperen van de vierstandige looplamp [mw_shl_code=c,true]Raadpleeg het bijbehorende programma in de hoofdfunctie van de routine/* *********************************************************** * bestandsnaam: main.c * functie : functie voor hoofd * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(void)
{ asm("CPSID I"); De algemene onderbreking van de pas
crg_default_init(); Systeemstandaardklok crg_configuration_init(); Klok na configuratie MCGIRCLK_outenable(); Maakt MCGIRCL-uitgang 2M mogelijk. clock_test(4); Tests van de bijbehorende klokken
gpio_init(); GPIO-initialisatie
asm ("CPSIE I"); Open de totale onderbreking
voor(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); PTB8 uitgang hoog niveau, D6LED-lampje aan delayms (15000); Vertraging GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); PTB9 uitgang hoog niveau, D7LED-lampje aan delayms (15000); Vertraging GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); PTB10 output hoog niveau, D8LED-lampje aan delayms (15000); Vertraging GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); PTB11 output hoog niveau, D9LED-lampje aan delayms (15000); Vertraging }
}[/mw_shl_code]
|