() 해외배송 가능
판매가 | |
---|---|
소비자가 | 0원 |
적립금 |
|
무이자할부 | |
제조사 | 자체제작 |
원산지 | |
상품코드 | AP00BA0002 |
수량 |
|
국내/해외배송 |
♣ [10핀 모렉스 커넥터1] - 패턴 제어신호
핀번호 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
핀명 |
5V |
a |
b |
c |
d |
e |
f |
g |
dp |
GND |
♣ [10핀 모렉스 커넥터2] - 세그먼트 ON 제어신호
핀번호 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
핀명 |
5V |
SEG1 |
SEG2 |
SEG3 |
SEG4 |
SEG5 |
SEG6 |
SEG7 |
SEG8 |
GND |
♣ [10핀 Flat 케이블 커넥터1] - 패턴 제어신호
핀번호 |
1 |
3 |
5 |
7 |
9 |
핀명 |
5V |
b |
d |
f |
dp |
핀번호 |
2 |
4 |
6 |
8 |
10 |
핀명 |
a |
c |
e |
g |
GND |
♣ [10핀 Flat 케이블 커넥터2] - 세그먼트 ON 제어신호
핀번호 |
1 |
3 |
5 |
7 |
9 |
핀명 |
5V |
SEG2 |
SEG4 |
SEG6 |
SEG8 |
핀번호 |
2 |
4 |
6 |
8 |
10 |
핀명 |
SEG1 |
SEG3 |
SEG5 |
SEG7 |
GND |
♣ [세그먼트 ON 제어신호]
|
제어 신호 | |
|
'0' (0V) |
'1' (5V) |
세그먼트 전원 |
OFF |
ON |
♣ [패턴(a, b, c, d, e, f, g, dp) 제어신호]
|
제어 신호 | |
|
'0' (0V) |
'1' (5V) |
a, b, c, d, e, f, g, dp |
OFF |
ON |
패턴 |
제어신호 | ||||||
g |
f |
e |
d |
c |
b |
a | |
'0' |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
'1' |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
'2' |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
'3' |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
'4' |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
'5' |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
'6' |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
'7' |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
'8' |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
'9' |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
♣ [테스트 프로그램1]
// 파일명 : seg.c // 7-Segment 모듈 테스트 프로그램(CodeVisionAVR C 컴파일러 이용) // 7-Segment에 0-9999까지 출력하기 // SEG2 : 업카운터, SEG1 : 다운 카운터 // PC0-SEG2_DIG4, PC1-SEG2_DIG3, PC2-SEG2_DIG2, PC3-SEG2_DIG1 // PC4-SEG1_DIG4, PC5-SEG1_DIG3, PC6-SEG1_DIG2, PC7-SEG1_DIG1 // PA0-a, PA1-b, PA2-c, PA3-d // PA4-e, PA5-f, PA6-g, PA7-dp #include <mega128.h> #include <delay.h>
flash unsigned char seg_pat[10]= {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; void Seg8_out(int); // 8개 세그먼트 표시 void main(void) { int num = 0; // 표시 초기값 DDRA = 0xFF; // 포트A 출력 설정 DDRC = 0xFF; // 포트C 출력 설정 while(1){ // 무한 반복 Seg8_out(num); // 8개 세그먼트 표시 num++; // 표시값 +1 if(num > 9999) num = 0; // 상한치 99 체크 } }
// 4개의 7-세그먼트에 0~9999 표시하기 void Seg8_out(int num) { int i, buf; int S1_1000, S1_100, S1_10, S1_1; int S2_1000, S2_100, S2_10, S2_1;
// SEG2 4자리 출력값 산출 => 업 카운터 S2_1000 = num / 1000; // 1000자리 buf = num % 1000; S2_100 = buf / 100; // 100자리 buf = buf % 100; S2_10 = buf / 10; // 10자리 S2_1 = buf % 10; // 1자리
// SEG1의 4자리값(9999 - SEG1) => 다운 카운터 S1_1000 = 9 - S2_1000; S1_100 = 9 - S2_100;
S1_10 = 9 - S2_10; S1_1 = 9 - S2_1;
for(i = 0;i < 5;i++){ PORTC = 0b00000001; // SEG2_DIG4(맨 우측 1자리) Segment ON PORTA = seg_pat[S2_1]; delay_ms(2);
PORTC = 0b00000010; // SEG2_DIG3 Segment(10자리) ON PORTA = seg_pat[S2_10]; delay_ms(2);
PORTC = 0b00000100; // SEG2_DIG2 Segment(100자리) ON PORTA = seg_pat[S2_100]; delay_ms(2);
PORTC = 0b00001000; // SEG2_DIG1 Segment(1000자리) ON PORTA = seg_pat[S2_1000]; delay_ms(2);
PORTC = 0b00010000; // SEG1_DIG4(맨 우측 1자리) Segment ON PORTA = seg_pat[S1_1]; delay_ms(2);
PORTC = 0b00100000; // SEG1_DIG3 Segment(10자리) ON PORTA = seg_pat[S1_10]; delay_ms(2);
PORTC = 0b01000000; // SEG1_DIG2 Segment(100자리) ON PORTA = seg_pat[S1_100]; delay_ms(2);
PORTC = 0b10000000; // SEG1_DIG1 Segment(1000자리) ON PORTA = seg_pat[S1_1000]; delay_ms(2); } } |
♣ [테스트 프로그램2]
// 파일명 : seg_time.c // 7-Segment 모듈 테스트 프로그램(CodeVisionAVR C 컴파일러 이용) // 7-Segment에 0-9999까지 출력하기 // SEG2 : 업카운터, SEG1 : 다운 카운터 // => 타이머/카운터0 이용하여 일정시간 간격으로 세그먼트 1개씩 구동 // PC0-SEG2_DIG4, PC1-SEG2_DIG3, PC2-SEG2_DIG2, PC3-SEG2_DIG1 // PC4-SEG1_DIG4, PC5-SEG1_DIG3, PC6-SEG1_DIG2, PC7-SEG1_DIG1 // PA0-a, PA1-b, PA2-c, PA3-d // PA4-e, PA5-f, PA6-g, PA7-dp #include <mega128.h> #include <delay.h> // '0'-'9' 표시 패턴값 flash unsigned char seg_pat[10]= {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; // 세그먼트 on 출력값 flash unsigned char seg_on[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; int seg_val[8]; // 출력할 자리값 int disp_no = 0; // 출력할 Segment 자리 void Seg_cal(int); // 출력할 자리값 계산 void main(void) { int num = 0; DDRA = 0xFF; // 포트 A 출력 설정 DDRC = 0xFF; // 포트 C 출력 설정 TCCR0 = 0x07; // 1024분주 ASSR = 0x0; // 타이머/카운터0 타이머 동작 TCNT0 = 225; // 1/16us * 1024 * (256 - 225) = 1.98ms TIMSK = 0x01; // 타이머/카운터0 오버플로우 인터럽트 인에이블 Seg_cal(num); // 출력할 자리값 계산 SREG= 0x80; // 인터럽트 인에이블 while(1){ delay_ms(100); // 100ms 지연 num++; // 출력값 +1 if(num > 9999) num = 0; // 표시값 제한 Seg_cal(num); // 출력할 자리값 계산 } }
// 파일명 : seg_time.c // 7-Segment 모듈 테스트 프로그램(CodeVisionAVR C 컴파일러 이용) // 7-Segment에 0-9999까지 출력하기 // SEG2 : 업카운터, SEG1 : 다운 카운터 // => 타이머/카운터0 이용하여 일정시간 간격으로 세그먼트 1개씩 구동 // PC0-SEG2_DIG4, PC1-SEG2_DIG3, PC2-SEG2_DIG2, PC3-SEG2_DIG1 // PC4-SEG1_DIG4, PC5-SEG1_DIG3, PC6-SEG1_DIG2, PC7-SEG1_DIG1 // PA0-a, PA1-b, PA2-c, PA3-d // PA4-e, PA5-f, PA6-g, PA7-dp
#include <mega128.h> #include <delay.h>
// '0'-'9' 표시 패턴값 flash unsigned char seg_pat[10]= {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
// 세그먼트 on 출력값 flash unsigned char seg_on[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
int seg_val[8]; // 출력할 자리값 int disp_no = 0; // 출력할 Segment 자리 void Seg_cal(int); // 출력할 자리값 계산
void main(void) { int num = 0;
DDRA = 0xFF; // 포트 A 출력 설정 DDRC = 0xFF; // 포트 C 출력 설정
TCCR0 = 0x07; // 1024분주 ASSR = 0x0; // 타이머/카운터0 타이머 동작 TCNT0 = 225; // 1/16us * 1024 * (256 - 225) = 1.98ms TIMSK = 0x01; // 타이머/카운터0 오버플로우 인터럽트 인에이블
Seg_cal(num); // 출력할 자리값 계산 SREG= 0x80; // 인터럽트 인에이블
while(1){ delay_ms(100); // 100ms 지연 num++; // 출력값 +1 if(num > 9999) num = 0; // 표시값 제한 Seg_cal(num); // 출력할 자리값 계산 } } |
교환 및 반품이 가능한 경우
- 제품을 공급 받으신 날로부터 7일이내(주말/공휴일 포함)
단, 포장을 개봉하였거나 포장이 훼손되어 제품가치가 상실된 경우에는 교환/반품이 불가능합니다.
- 배송된 제품에 하자 또는 기능상 문제가 있는경우
교환 및 반품이 불가능한 경우
- 제품 수령일 기준 7일(주말/공휴일 포함)을 초과한 경우
- 고객님의 책임 있는 사유로 제품등이 멸실 또는 훼손된 경우. 단, 제품의 내용을 확인하기 위하여 포장 등을 훼손한 경우는 제외
- 포장을 개봉하였거나 포장이 훼손되어 제품가치가 상실된 경우
- 고객님의 사용 또는 일부 소비에 의하여 제품의 가치가 현저히 감소한 경우
- 시간의 경과에 의하여 재판매가 곤란할 정도로 제품등의 가치가 현저히 감소한 경우
- 복제가 가능한 제품등의 포장을 훼손한 경우
(자세한 내용은 고객만족센터 1:1 E-MAIL상담을 이용해 주시기 바랍니다.)
※ 고객님의 단순변심에 의한 교환, 반품을 하실 경우 왕복 택배비는 고객님께서 부담하셔야 합니다.