Stm32F0 MikroC Ders 2

574 Kişi Okudu

Örnek 7 segmentli Display Uygulama Kodları

unsigned int i ;
void bir()
{
 GPIOB_ODR.B2 = 1 ;
 GPIOF_ODR.B4 = 1 ;
}

void yok()
{
 GPIOb_ODR.B10 = 0 ;
 GPIOb_ODR.B2 = 0 ;
 GPIOb_ODR.B12 = 0 ;
 GPIOb_ODR.B11 = 0 ;
 GPIOa_ODR.B5 = 0 ;
 GPIOa_ODR.B4 = 0 ;
 GPIOF_ODR.B4 = 0 ;
 GPIOa_ODR.B5 = 0 ;

}

void iki()
{
 GPIOB_ODR.B10 = 1 ;
 GPIOB_ODR.B2 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOa_ODR.B5 = 1 ;
 GPIOA_ODR.B4 = 1 ;
}

void uc ()

{
 GPIOB_ODR.B10 = 1 ;
 GPIOB_ODR.B2 = 1 ;
 GPIOB_ODR.B12 = 1 ;
 GPIOF_ODR.B4 = 1 ;
 GPIOA_ODR.B4 = 1 ;
}

void dort()
{
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void bes()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOF_ODR.B4 = 1 ;
 GPIOa_ODR.B4 = 1 ;
}

void alti ()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11= 1 ;
 GPIOb_ODR.B12= 1 ;
 GPIOa_odr.b5 = 1 ;
 GPIOa_ODR.B4 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void yedi()
{
 GPIOB_ODR.B10 = 1 ;
 GPIOB_ODR.B2 = 1 ;
 GPIOF_ODR.B4 = 1 ;
}

void sekiz()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOa_ODR.B5 = 1 ;
 GPIOa_ODR.B4 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void dokuz()
{
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOf_ODR.B4 = 1 ;
 GPIOA_ODR.B4 = 1 ;
}

void sifir()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOa_ODR.B4 = 1 ;
 GPIOa_ODR.B5 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void a()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOf_ODR.B4 = 1 ;
 GPIOa_ODR.B5 = 1 ;
}

void main() {
   GPIO_Digital_Input(&GPIOA_IDR, _GPIO_PINMASK_0);
   GPIO_Digital_Output(&GPIOA_ODR, _GPIO_PINMASK_3 | _GPIO_PINMASK_4 | _GPIO_PINMASK_5 );
   GPIO_Digital_Output(&GPIOC_ODR, _GPIO_PINMASK_14 | _GPIO_PINMASK_9 | _GPIO_PINMASK_8 );
   GPIO_Digital_Output(&GPIOB_ODR, _GPIO_PINMASK_2 | _GPIO_PINMASK_10 | _GPIO_PINMASK_11 | _GPIO_PINMASK_12 | _GPIO_PINMASK_12 );
  GPIO_Digital_output(&GPIOF_ODR, _GPIO_PINMASK_4) ;

  i = 0;
  do{
   if (GPIOA_IDR.B0 == 1)
  {
   i=i+2;
  }
  delay_ms(250);

 yok();
  if ( i == 1)
  {
   bir();
  }
  else if ( i == 2)
{
  iki();
}
else if ( i == 3)
{
  uc();
}
else if ( i == 4)
{
dort();
}
else if ( i == 5)
{
bes();
}

else if ( i == 6)
{
alti();
}

else if ( i == 7)
{
yedi();
}

else if ( i == 8)
{
sekiz();
}

else if ( i == 9)
{
dokuz();
}

else
{
i = 0 ;
sifir () ;
}
} while (1);
} 

Yayınlayan

Ahmet Yasin CİVAN

Mekatronik Mühendisi, Gömülü Yazılım Geliştiricisi.