Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 9602|Yanıt: 0

Dört pozisyonlu akış lambası döngüsü yanıb-sönme yöntemi

[Bağlantıyı kopyala]
Yayınlandı 15.11.2014 20:54:46 | | |
1: Deney adı
      Dört haneli koşu lambası

2: Deneysel içerik
Dört pozisyonlu koşu lambasının yanıp sönme döngüsünü gerçekleştirin

3. Deneyin amacı
1: LED donanımını ustalıkla kullanDevre
2: KL25 GPIO modül çıkışının kayıt yapılandırma yöntemini ustalıkla yönetin
3: Dört haneli koşu ışık döngüsü programlama yöntemini ustalıkla öğrenin

4. Deneysel yöntemler
      1: O bölümün devre diyagramına bakın
           KL25'in PTB8, PTB9, PTB10 ve PTB11 pinlerinin sırasıyla dört LED ışık yayan diyot D6, D7, D8 ve D9'u kontrol ettiği tespit edilmiştir.
file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png
     2: GPIO modülünün ilgili kayıtlarını yapılandırın
(1) KL25 Referans Kılavuzu'nun 122. sayfasına bakın ve GPIO'nun platform saati tarafından sağlandığını görün.

(2) Platform saat saati ile POTRB modülünü bağlar ve aşağıdaki gibi programlayın:  
            SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 kayıtlara başvurulabilir

(3) Çoklama pini özelliklerini ayarlayın, PTB8, PTB9, PTB10 ve PTB11'i GPIO fonksiyonları olarak yapılandırın ve bunları aşağıdaki şekilde programlayın:
PORTB_PCR8=PORT_PCR_MUX(1);
PORTB_PCR9=PORT_PCR_MUX(1);
PORTB_PCR10=PORT_PCR_MUX(1);
PORTB_PCR11=PORT_PCR_MUX(1);
Daha fazla bilgi için PORTx_PCRn kaydına ve KL25 Veri Sayfası'nın 46. sayfasına bakınız

      (4) Pimlerin giriş ve çıkış yönünü ayarlayın, PTB8, PTB9, PTB10 ve PTB11'i çıkışa ayarlayın ve bunları aşağıdaki şekilde programlayın:
          GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR kayıtlara başvurulabilir

(5) Pimin çıkış mantığı seviyesini ayarlayın, PTB8, PTB9, PTB10, PTB11 çıkış yüksek seviyesini ayarlayın ve aşağıdaki gibi programlayın:
GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Kayıtlara GPIOx_PDOR bakın

3: Dört pozisyonlu koşu lambasının döngü yanıb-sönmesini gerçekleştirin
[mw_shl_code=c,true]Rutinin ana fonksiyonundaki ilgili programa danışın/*
***********************************************************
* Dosya adı: main.c
* fonksiyon : ana fonksiyon için
*  
***********************************************************
*/

#include "türev.h"
#include "config.h"
#include "crg.h"
#include "gpio.h"



/******************************主函数*************************************/
int main(void)
{
  asm(" CPSID i");  Geçidin genel kesintisi
         
  crg_default_init();  Sistem varsayılan saat
  crg_configuration_init();  Konfigürasyondan sonraki saat
  MCGIRCLK_outenable();  MCGIRCL çıkışı 2M etkinleştirir
  clock_test(4);  İlgili saatlerin testleri

  gpio_init();  GPIO başlatma

  asm(" CPSIE i");  Tam kesintiyi aç

  for(;; )
  {         
    GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u);  PTB8 yüksek seviyede çıkış, D6LED ışığı açık
        delayms (15000);  Gecikme
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u);  PTB9 yüksek seviyede çıkış, D7LED ışığı açık
        delayms (15000);  Gecikme
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u);  PTB10 yüksek seviyede çıkış, D8LED ışığı açık
        delayms (15000);  Gecikme
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u);  PTB11 çıkışı yüksek seviyede, D9LED ışığı açık
        delayms (15000);  Gecikme
  }
               
}[/mw_shl_code]





Önceki:EEPROM, EPROM, FLASH, SRAM, DRAM, SDRAM ve SDRAM arasındaki fark
Önümüzdeki:Win7 sistemi mavi ekran kodu büyük koleksiyon
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com