1)LEDli bir uygulama geliştimeniz istenmektedir. Bu uygulamada 4 adet LED ve 2 adet buton kullanılacaktır. Birinci butona basıldığında bütün LEDler yanıp sönecektir. İkinci butona basıldığında ise LEDler sıra ile yanacaklar ve hepsi yandıktan sonra hepsi sönecektir.
NOT:LEDler arasındaki yanıp sönme aralığı zaman gecikme süresi isteğinize bağlı olarak ayarlanabilir.
ANSEL = 0x00;
CMCON =0x07;
TRISB = 0b00110000//Ledler için pinleri çıkış 0, butonlar için giriş 1 yapmalıyız.
while (1){
if(PORTB.F4 == 1) //Buton1 e basıldıysa
{
Delay_ms(100); //Buton arkı için bekle
while(PORTB.F4 == 1);//Butondan el çekilene kadar bekle
PORTB = 0x0F; //4 ledde yansın
Delay_ms(1000); //1 saniye yanık kalsın
PORTB = 0x00; //bütün ledler sönsün
}
if(PORTB.F5 == 1) //Buton2 ye basıldıysa
{
Delay_ms(100); //Buton arkı için bekle
while(PORTB.F5 == 1);//Butondan el çekilene kadar bekle
PORTB.0 = 1; // led1 yansın
Delay_ms(1000); //Led1 1 saniye yanık kalsın
PORTB.1 = 1; //Led2 yansın
Delay_ms(1000); //Led2 1 saniye yanık kalsın
PORTB.2 = 1; //led3 yansın
Delay_ms(1000); //Led3 1 saniye yanık kalsın
PORTB.3 = 1; //Led4 yansın
Delay_ms(1000); //Led4 1 saniye yanık kalsın
PORTB = 0x00; //bütün ledler sönsün
}
}
7 Segment ortak katod olsun,3)Bir 7 segment göstergede 0 ile 9 arasında asal sayıları sırası ile gösteren bir uygulama yapınız.
MCU RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
7Seg DOT g f e d c b a
Rakam Değer
9
8
7
6
5
4
3
2
1
0
bak işte böyle gel, hatan varsa eksiğin varsa yardım edecek çok kişi var. emeksiz yemeği sadece satın alabilirsin, o da paran varsa3.SORUYU KENDİMCE ÇÖZÜMLEMEYE ÇALIŞTIM.
#define BTN PORTA.B0
//---------------------------
const char ledKod[10]={ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7C, 0x07, 0x7F, 0x67};
unsigned int sayi=0,asal=0;
//--------------------------------
unsigned char asalMi(unsigned int say)
{
char x,y;
int temp=1;
for(x=2;x<say-1;x++)
{
if(say%x==0) {temp=0;break;}
}
if(say==1) temp=0;
return temp;
}
//----------------------------------
void main()
{
ANSEL=0; //başlangış ayarları
ANSELH=0;
TRISA=1;
TRISC=0;
TRISD=0;
PORTC=ledKod[sayi/10];
PORTD=ledKod[sayi%10];
while(1)
{
if(BTN)
{
sayi++;
if(sayi>9) sayi=0;
asal=asalMi(sayi);
if(asal==1)
{
PORTC=ledKod[sayi/10];
PORTD=ledKod[sayi%10];
delay_ms(500);
}
}
}
}
PROGRAMI TAMAMEN KENDİM YAZMADIM. FARKLI SİTELERDEN ARAŞTIRARAK KENDİMCE SORUYA GÖRE UYARLAMAYA ÇALIŞTIM.SABAHTAN BERİ UĞRAŞIYORUM.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?