#include <avr/io.h>
int main()
{
DDRC = 0x00;
DDRE = 0xFF;
PORTE = 0xFF;
volatile unsigned char i = 0;
volatile unsigned char a = 0;
volatile unsigned char k = 0;
for(;;)
{
asm("NOP");
i = 0;
a = ~PINC;
while(a>=1)
{
a/=2;
i++;
}
i=i<<4|i;
PORTE = i;
}
return 1;
}
2.0~99까지순차적으로숫자를1씩증가하면서FND에표시하기
#include <avr/io.h>
int main()
{
DDRE = 0xFF;
PORTE = 0xFF;
volatile unsigned int i = 0;
volatile unsigned int j = 0;
volatile unsigned int k = 0;
volatile unsigned int t = 0;
for(i=0;i<100;++i)
{
k=i%10;
t=(i/10<<4)|k;
PORTE=t;
PORTC=i;
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
}
return 1;
}
|
3.99~0까지순차적으로숫자를1씩감소하면서FND에표시하기
#include <avr/io.h>
int main()
{
DDRE = 0xFF;
PORTE = 0xFF;
volatile char i = 0;
volatile unsigned int j = 0;
volatile unsigned int k = 0;
volatile unsigned int t = 0;
for(i=99;i>=0;--i)
{
if(i==0)
{
PORTE=0x00;
break;
}
k=i%10;
t=(i/10<<4)|k;
PORTE=t;
PORTC=i;
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
}
return 1;
}
4. 0~99까지 순차적으로 숫자를 1씩 증가시키다가 버튼을 누르면 0부터 다시 시작하기
#include <avr/io.h>
int main()
{
DDRC = 0x00;
DDRE = 0xFF;
PORTE = 0xFF;
volatile int i = 0;
volatile unsigned char a = 0;
volatile unsigned char k = 0;
volatile unsigned int j;
for(;;)
{
asm("NOP");
i = 0;
for(i=0;i<=99;i++)
{
a = ~PINC;
k=(i/10<<4)|i%10;
PORTE=k;
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
if (a!=0x00)
{
break;
}
}
}
return 1;
}
5. 0~99까지 순차적으로 숫자를 1씩 증가시키다가 버튼을 누르면 현재 값에서 1씩 감소하기 다시 누르면 1씩
증가하기
#include <avr/io.h>
int main()
{
DDRC = 0x00;
DDRE = 0xFF;
PORTE = 0xFF;
volatile unsigned char a = 0;
volatile unsigned char c = 2;
volatile unsigned char i = 0;
volatile unsigned char k = 0;
volatile unsigned int j;
for(;;)
{
asm("NOP");
if((c%2)==0)
{
for(i=i;i<=99;++i)
{
k=(i/10<<4)|i%10;
PORTE=k;
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
a = ~PINC;
if(a!=0x00)
{
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
c=c+1;
break;
}
}
}
else if((c%2)!=0)
{
for(i=i;i>=0;--i)
{
k=(i/10<<4)|i%10;
PORTE=k;
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
a = ~PINC;
if(a!=0x00)
{
for(j=0;j<60000;j++);
for(j=0;j<60000;j++);
c=c+1;
break;
}
}
}
}
return 1;
} |
|
|
|