본문 바로가기

AVR 기초/FND 제어하기

(3)
[AVR 기초] FND 4자리를 한번에 나타내기 *키트는 Atmega128A를 사용하였습니다* #include #define F_CPU 16000000UL #include unsigned char fnd[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x6f}; unsigned char fnd_pos[4] = {0x01, 0x02, 0x04, 0x08} ; void fourth(int x){//fnd의 4번째 자리를 나타내는 함수 PORTG = fnd_pos[3];//PORTG에 fnd_pos[3]의 값 PORTC = fnd[x];//PORTC에 main 함수에서 x의 값을 받아 fnd[x] 저장 } void third(int y){//fnd의 3번째 자리를 나타내는 함수 PORTG = f..
[AVR 기초] FND 0~9까지 나타낸 후 한칸씩 옮겨가기 *키트는 Atmega128A를 사용하였습니다* 왼쪽서부터 0~9까지 나타낸 후 한칸씩 옮겨가는 코드입니다. #include #define F_CPU 16000000UL #include int main(void) { /* Replace with your application code */ DDRC = 0xff;//fnd의 포트는 portc. PORT C를 입/출력으로 설정 DDRG = 0x0f;//fnd의 자리를 결정하는 포트. 4개의 자리만 있기 때문에 0x0f unsigned char fnd[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x6f};//0~9를 나타내는 HEX값 unsigned char fnd_pos[4] = {0x01, 0..
[AVR 기초] FND 1씩 옮기기 *키트는 Atmega128A를 사용하였습니다* FND란 7 세그먼트(7 Segment)는 7개의 획으로 숫자나 문자를 나타낼수 있는 표시장치입니다. 일반적으로 작고 단순한 구조를 가지기 때문에 전자시계, 게이지 또는 전자회로의 내부수치를 보여주는 곳에 주로 사용됩니다. #include #define F_CPU 16000000UL #include int main(void) { /* Replace with your application code */ DDRC = 0xFF;//fnd 사용 DDRG = 0x0F;//fnd 자리 4개 사용 unsigned char fnd[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x6f};//fnd 0~9 까지 ..