지금 89h51로 사용하는데요...kit는 led 가 4개 붙어있구요...
전부 불들어왔다가 꺼지게 하는건
void Delay(int nCount)
{
int i;
for(i=0;i<nCount;i++);
}
void main(void)
{
while(1)
{
P1=0x0f;
Delay(20000);
P1=0x00;
Delay(20000);
}
}
이렇게 하니까 나오던데요..
16진수 나타내는건 어떻게 하는 건가요/??
그러니까 0001 이면 led 오른쪽 마지막에 불이 하나 들어오고
0010이면 led 3번째에 불이 들어오고
0011이면 led 3,4번째에 불이들어오고..
.
.
.
.
1111이면 led 전체에 불이 다 들어오게하는거요..
부탁드려요...
정말 모르겠습니다..ㅜ.ㅜ
전부 불들어왔다가 꺼지게 하는건
void Delay(int nCount)
{
int i;
for(i=0;i<nCount;i++);
}
void main(void)
{
while(1)
{
P1=0x0f;
Delay(20000);
P1=0x00;
Delay(20000);
}
}
이렇게 하니까 나오던데요..
16진수 나타내는건 어떻게 하는 건가요/??
그러니까 0001 이면 led 오른쪽 마지막에 불이 하나 들어오고
0010이면 led 3번째에 불이 들어오고
0011이면 led 3,4번째에 불이들어오고..
.
.
.
.
1111이면 led 전체에 불이 다 들어오게하는거요..
부탁드려요...
정말 모르겠습니다..ㅜ.ㅜ
진수를 아시면 매우 간단한 일입니다.
LED에 표현한다는것은 즉 불이 들어오면 1, 안들어오면 0이라는 애기가 되지요
그럼 0, 1이니까 2진수의 개념이지요
표현하고자 하는 16진수값을 2진수로 변환후에 그 값을(1001뭐 이런식이죠) LED에 순차적으로 표현해주면 되겠네요.
16진수 2진수로 바꾸는 방법은 중학교때 해보셔서 아시죠?
회로가 1일때 켜지게 되어 있다면 그냥 16진수를 p1에 써주면 되고요 0일때 켜지게 되어 있다면 16진수를 invert(c에서 ~)를 한후 써주면 됩니다