Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 9602|Vastaus: 0

Neljän asennon virtauslampun syklivilkkumismenetelmä

[Kopioi linkki]
Julkaistu 15.11.2014 20.54.46 | | |
1: Kokeen nimi
      Nelinumeroinen ajovalo

2: Kokeellinen sisältö
Toteuta neliasennoisen ajovalon vilkkumisen sykli.

3. Kokeen tarkoitus
1: Hallitse LED-laitteistoPiiri
2: Hallitse KL25 GPIO -moduulin ulostulon rekisterikonfigurointimenetelmä
3: Hallitse nelinumeroisen juoksevan valon syklivilkkumisen ohjelmointimenetelmä

4. Kokeelliset menetelmät
      1: Katso kyseisen osion piirikaavio
           Havaittiin, että KL25:n PTB8, PTB9, PTB10 ja PTB11 -nasat ohjaavat neljää LED-valodiodia: D6, D7, D8 ja D9.
file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png
     2: Määritä GPIO-moduulin vastaavat rekisterit
(1) Katso KL25-viiteoppaan sivu 122 ja huomaa, että GPIO saadaan laiturikellosta.

(2) Yhdistä alustan kellokello ja POTRB-moduuli ja ohjelmoi se seuraavasti:  
            SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 rekistereihin voi tutustua

(3) Aseta multiplexausnastojen attribuutit, konfiguroi PTB8, PTB9, PTB10 ja PTB11 GPIO-funktioiksi ja ohjelmoi ne seuraavasti:
PORTB_PCR8=PORT_PCR_MUX(1);
PORTB_PCR9=PORT_PCR_MUX(1);
PORTB_PCR10=PORT_PCR_MUX(1);
PORTB_PCR11=PORT_PCR_MUX(1);
Lisätietoja löytyy PORTx_PCRn-rekisteristä ja KL25-tietolehden sivulta 46

      (4) Aseta nastojen tulo- ja lähtösuunta, aseta PTB8, PTB9, PTB10 ja PTB11 lähtöön ja ohjelmoi ne seuraavasti:
          GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR rekistereitä voi tutkia

(5) Aseta pinnin lähtölogiikkataso, aseta PTB8:n, PTB9:n, PTB10:n, PTB11:n lähtötaso ja ohjelmoi se seuraavasti:
GPIOB_PDOR=GPIO_PDOR_PDO(0x000000f00u); Katso GPIOx_PDOR rekisterit

3: Toteuta neliasennoisen ajovalon syklinen vilkkuminen
[mw_shl_code=c,true]Konsultoi vastaavaa ohjelmaa rutiinin pääfunktiossa/*
***********************************************************
* Tiedoston nimi: main.c
* funktio : funktio päälle
*  
***********************************************************
*/

#include "derivative.h"
#include "config.h"
#include "crg.h"
#include "gpio.h"



/******************************主函数*************************************/
int main(void)
{
  asm ("CPSID i");  Solan yleinen keskeytys
         
  crg_default_init();  Järjestelmän oletuskello
  crg_configuration_init();  Kello konfiguroinnin jälkeen
  MCGIRCLK_outenable();  Mahdollistaa MCGIRCL-lähtö 2M
  clock_test(4);  Vastaavan kellon testit

  gpio_init();  GPIO-alustus

  asm ("CPSIE i");  Avaa koko keskeytys

  for(;; )
  {         
    GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u);  PTB8-lähtö korkealla tasolla, D6LED-valo päällä
        viivästykset (15000);  Viivästys
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u);  PTB9-lähtö korkealla tasolla, D7LED-valo päällä
        viivästykset (15000);  Viivästys
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u);  PTB10-lähtö korkealla tasolla, D8LED-valo päällä
        viivästykset (15000);  Viivästys
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u);  PTB11-lähtö korkealla tasolla, D9LED-valo päällä
        viivästykset (15000);  Viivästys
  }
               
}[/mw_shl_code]





Edellinen:Ero EEPROMin, EPROMin, FLASHin, SRAMin, DRAMin, SDRAMin ja SDRAMin välillä
Seuraava:Win7-järjestelmän sinisen ruudun koodi suuri kokoelma
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com