BASIC4MCU | 질문게시판 | 답변 : 아트메가 7세그먼트 질문입니다!
페이지 정보
작성자 master 작성일2022-12-03 09:28 조회239회 댓글1건본문
첫 번째 버튼을 누르면 7세그먼트가 9999까지 표시되고
두 번째 버튼을 누르면 7세그먼트가 상수값 만큼만 작동되고 꺼지도록 설정하고 싶은데 계속 오류가 걸립니다 도와주세요 ㅠㅠ
//
#include <io.h>
#include <delay.h>
//
void main(void){
int k,seg[10]={63,9,91,79,102,109,126,39,127,103};
unsigned int i,set=0,count=0,d[4]={0,};
char mode=0;
DDRA=0xff;
PORTC=0xFF; DDRC=0xff;
while(1){
if(PIND&1){ mode=1; set==0; count=0; } // PD0=1
if(PIND&2){ mode=2; set=count; count=0; } // PD1=1
//----------------------------
if(mode==1){
if(++count>9999)count=0;
d[0]=count/1000%10; d[1]=count/100%10;
d[2]=count/10%10; d[3]=count%10;
}
//----------------------------
if(mode==0x02){
if(count<set)count++; else{ mode=0; count=0; }
d[0]=count/1000%10; d[1]=count/100%10;
d[2]=count/10%10; d[3]=count%10;
}
//----------------------------
if(mode){
for (i=0;i<125;i++){ // 4ms*125=500ms
PORTA=seg[d[0]]; PORTC=~1; delay_ms(1);
PORTA=seg[d[1]]; PORTC=~2; delay_ms(1);
PORTA=seg[d[2]]; PORTC=~4; delay_ms(1);
PORTA=seg[d[3]]; PORTC=~8; delay_ms(1);
}
}
else{ //mode==0 // display off
PORTA=0; PORTC=0xFF;
}
}
}
댓글 1
조회수 239프리덤E님의 댓글
프리덤E 작성일넵 감사합니다!