Orar semigroup #2

Orar semigroup #2

Mecatronica - 3 noiembrie 2010

Aprindeti, pe rand, becurile rosii, verzi si galbene.

#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{DDRC=0xFF;

while(1)
{
PORTC=0x92;
_delay_ms(1000);
PORTC=0x25;
_delay_ms(1000);
PORTC=0x48;
_delay_ms(1000);
}

}
 2)
#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{int i,j;
DDRC=0xFF;

while(1)
{
i=0;
j=7;
while(i<8 && j>=0)
{

if(i==j+1)
{i++;
j--;
}

sbi(PORTC,i);
sbi(PORTC,j);
_delay_ms(400);
PORTC=0x00;
i++;
j--;

}
}

}
3) Trenuletul
#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{int i,j;
DDRC=0xFF;

while(1)
{
sbi(PORTC,0);
_delay_ms(500);
cbi(PORTC,0);

sbi(PORTC,0);
sbi(PORTC,1);
_delay_ms(500);
cbi(PORTC,0);
cbi(PORTC,1);

sbi(PORTC,0);
sbi(PORTC,1);
sbi(PORTC,2);
_delay_ms(500);
cbi(PORTC,0);
cbi(PORTC,1);
cbi(PORTC,2);

sbi(PORTC,1);
sbi(PORTC,2);
sbi(PORTC,3);
_delay_ms(500);
cbi(PORTC,1);
cbi(PORTC,2);
cbi(PORTC,3);

sbi(PORTC,2);
sbi(PORTC,3);
sbi(PORTC,4);
_delay_ms(500);
cbi(PORTC,2);
cbi(PORTC,3);
cbi(PORTC,4);

sbi(PORTC,3);
sbi(PORTC,4);
sbi(PORTC,5);
_delay_ms(500);
cbi(PORTC,3);
cbi(PORTC,4);
cbi(PORTC,5);

sbi(PORTC,4);
sbi(PORTC,5);
sbi(PORTC,6);
_delay_ms(500);
cbi(PORTC,4);
cbi(PORTC,5);
cbi(PORTC,6);

sbi(PORTC,5);
sbi(PORTC,6);
sbi(PORTC,7);
_delay_ms(500);
cbi(PORTC,5);
cbi(PORTC,6);
cbi(PORTC,7);

sbi(PORTC,6);
sbi(PORTC,7);
_delay_ms(500);
cbi(PORTC,6);
cbi(PORTC,7);

sbi(PORTC,7);
_delay_ms(500);
cbi(PORTC,7);

}

}
4) Cronometru
#include <avr/io.h>
#include <util/delay.h>
#include <compat/deprecated.h>
int main(void)
{char i;

DDRC=0xFF;
DDRA=0xF0;
PORTA=0xF0;
char a[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

while(1)
{
for(i=0;i<10;i++)
{PORTC=a[i];
_delay_ms(500);
}

}

}
5) Se plimba o linie peste tot
#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
void main()
{
DDRC=0xFF;
DDRA=0xFF;
while(1){
PORTA=0x80;
PORTC=0x01;
_delay_ms(50);
PORTA=0x40;
PORTC=0x01;
_delay_ms(50);
PORTA=0x20;
PORTC=0x01;
_delay_ms(50);
PORTA=0x10;
PORTC=0x01;
_delay_ms(50);
PORTA=0x10;
PORTC=0x02;
_delay_ms(50);
PORTA=0x10;
PORTC=0x04;
_delay_ms(50);
PORTA=0x10;
PORTC=0x08;
_delay_ms(50);
PORTA=0x20;
PORTC=0x08;
_delay_ms(50);
PORTA=0x40;
PORTC=0x08;
_delay_ms(50);

PORTA=0x80;
PORTC=0x08;
_delay_ms(50);
PORTA=0x80;
PORTC=0x10;
_delay_ms(50);
PORTA=0x80;
PORTC=0x20;
_delay_ms(50);

}
}
6) 1234
#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
void main()
{
DDRC=0xFF;
DDRA=0xFF;
while(1)
{PORTA=0x80;
PORTC=0x06;
_delay_ms(1);
PORTA=0x40;
PORTC=0x5B;
_delay_ms(1);
PORTA=0x20;
PORTC=0x4f;
_delay_ms(1);
PORTA=0x10;
PORTC=0x66;
_delay_ms(1);
}
}
7)  Subprograme pt afisarea cifrelor pe diferite pozitii
#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
void cifra(char a,char p)
{


switch(p)
{case 1: PORTA=0x80;break;
case 2: PORTA=0x40;break;
case 3: PORTA=0x20;break;
case 4: PORTA=0x10;break;
}

switch(a)
{case 0: PORTC=0x3F;break;
case 1: PORTC=0x06;break;
case 2: PORTC=0x5B;break;
case 3: PORTC=0x4F;break;
case 4: PORTC=0x66;break;
case 5: PORTC=0x6D;break;
case 6: PORTC=0x7D;break;
case 7: PORTC=0x07;break;
case 8: PORTC=0x7F;break;
case 9: PORTC=0x6F;break;
}

_delay_ms(1);

}

void main()
{
DDRC=0xFF;
DDRA=0xFF;
while(1)
{
cifra(2,1);
cifra(1,2);
cifra(1,3);
cifra(2,4);
}

}
8) "rAdU"
#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
void cifra(char a,char p)
{


switch(p)
{case 1: PORTA=0x80;break;
case 2: PORTA=0x40;break;
case 3: PORTA=0x20;break;
case 4: PORTA=0x10;break;
}

switch(a)
{case 'r': PORTC=0x50;break;
case 'A': PORTC=0x77;break;
case 'd': PORTC=0x5E;break;
case 'U': PORTC=0x3E;break;
case 4: PORTC=0x66;break;
case 5: PORTC=0x6D;break;
case 6: PORTC=0x7D;break;
case 7: PORTC=0x07;break;
case 8: PORTC=0x7F;break;
case 9: PORTC=0x6F;break;
}

_delay_ms(1);

}

void main()
{
DDRC=0xFF;
DDRA=0xFF;
while(1)
{
cifra('r',1);
cifra('A',2);
cifra('d',3);
cifra('U',4);
}


}

miercuri, 3 noiembrie 2010 by DlMuresan
Categories: | Leave a comment

Leave a Reply