반응형

FND

  - 7-Segment LED

  - 7-Segment Display

  - 숫자표시기, 줄여서 FND라고 부른다




FND로 숫자를 만들때 아래의 표를 참고해서 만들면 됩니다. 예를 들어 0을 만들고 싶다면 2진수로

0b01111111을 입력해주면 0이 출력이 됩니다. 

이를 10진수로 나타내면 0부터 9까지 순서대로

[63,6,91,79,102,109,125,39,127,103]가 됩니다.

 

FND 구성이 이렇게 되어있기 때문에 아래 표의 순서가 나오는 것입니다.



제가 사용하는 아트메가 보드에서는 PORT A와C를 사용해서 보드에 있는 FND를 제어할 수 있습니다.

PORT A가 숫자를 PORT C가 FND 점등 위치를 나타내 줍니다.


FND 제어

  - 7-Segmenton시 점, digitoff시 점등

다음 소스코드는 0부터 99까지 FND를 카운트하는 소스입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
 
int main()
{
    int seg_data[10]={63,6,91,79,102,
    109,125,39,127,103};
    unsigned int one, two, count=0;
    unsigned int i, speed=10
    DDRA=0xff;
    DDRC=0xff;
    while(1)
    {
            
         two   = (count%100)/10
         one   = (count%10); 
         for(i=1;i<speed;i++)
         {
            _delay_ms(5);
            PORTA=seg_data[two];
            PORTC=0x0b;
            _delay_ms(5);
            PORTA=seg_data[one];
            PORTC=0x07;
          }
          count++;
          if(count>=100) count=0;
    }
}
 
cs


반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기