BASIC4MCU | 질문게시판 | atmega128 j-kit 질문입니다.
페이지 정보
작성자 붐붐 작성일2020-09-19 23:12 조회3,626회 댓글1건본문
j-kit에서 7-segment 관련 예제가 있는데 하다가 막혀서 질문드립니다.
예제는 7-segment에 0000을 표시하고 sw1을 누를때 마다 값이 1이 증가하는것입니다.
지금까지 제가 한것은
#define F_CPU 16000000UL
#include <util/delay.h>
#include <avr/io.h>
volatile unsigned char seven_seg[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67};
volatile unsigned char seven_sel[4]={0b1000, 0b0100, 0b0010, 0b0001};
int main(){
DDRE = 0xEF;
DDRC = 0xFF;
DDRG = 0x0F;
unsigned int num = 0;
unsigned char i, prev, curr;
unsigned char seg_data[4];
while (1) {
seg_data[0] = seven_seg[(num/1000)%10];
seg_data[1] = seven_seg[(num/100)%10];
seg_data[2] = seven_seg[(num/10)%10];
seg_data[3] = seven_seg[(num%10)];
for (i =0; i < 4; i++){
PORTG = seven_sel[i];
PORTC = seg_data[i];
_delay_ms(5);
}
for (prev = curr = PINE & (1<<PE4)>>PE4 ; !((prev == 1 ) && (curr == 0 )) ; curr = PINE & (1<<PE4)>>PE4){
prev = curr;
}
num = num +1;
}
return 0;
}
이 부분중에 제가 빨간색으로 칠한 부분이 문제인거 같은데 잘 모르겠네요 ㅜㅜ
혹시 설명해주실분 계시면 도움 부탁드립니다.
댓글 1
조회수 3,626master님의 댓글
master 작성일
풀업저항이 있어야합니다.
스위치 회로도가 있어야 검토가 가능하며
스위치 입력 정도는 스스로 하셔야합니다.