BASIC4MCU | 질문게시판 | atmega128 질문드립니다.
페이지 정보
작성자 atmegaga 작성일2018-12-20 01:58 조회8,025회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=7103
본문
#include#include//unsigned char mot_cnt=0;////1-2 상 여자 값을 사용unsigned char mot_tbl[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};//SIGNAL(SIG_OVERFLOW0){TCNT0=-160;//if((PIND&1)==0){ if(--mot_cnt>7)mot_cnt=7; PORTC=mot_tbl[mot_cnt]; PORTB=0xFF; PORTE=8; } // sw0 Right,LED,Buzzerif((PIND&2)==0){ if(++mot_cnt>7)mot_cnt=0; PORTC=mot_tbl[mot_cnt]; PORTB=0x00; PORTE=0; } // sw1 Left,LED off,Buzzer off}//int main(){// 5)DDRB=0xFF; // LED onDDRE=0x08; // Buzzer onDDRC=0x0F;TCCR0=0x07; TCNT0=-160; TIFR=0xFF; TIMSK=1; //(1/(7.3728 Mhz /1024 prescaler))*160=>22ms->45hzSREG=0x80;while(1);}
한백mcu멀티키트로 코딩연습중입니다.
스위치 0을 누르면 모터가 우측으로 정방향, 1을 누르면 좌측으로 역방향되면서 LED에 불이 켜지고
부저가 울리는 소스인데요 저기서 정회전시 FND 숫자가 올라가고 역회전이 기존소스+FND숫자가 내려가는 소스를 더 추가하고싶은데 초보자라 인터럽트를 어떻게 써야할지 감이 안서네요. 소스 추가를 어떻게하면 좋을까요?
키트 FND예문소스와 회로도입니다.
#include
#include
int main(){
unsigned char FND_DATA_TBL [] = {0x3F, 0X06, 0X5B, 0X4F, 0X66, 0X6D, 0X7C, 0X07, 0X7F, 0X67, 0X77, 0X7C, 0X39, 0X5E, 0X79, 0X71, 0X08, 0X80};
unsigned char cnt=0 , i ;
DDRD = 0xFF; //포트 D를 출력포트로 사용(0~7비트까지 모두사용)
while(1){
PORTD = FND_DATA_TBL[cnt];
cnt++;
if(cnt>17) cnt=0; //테이블 크기를 초과하는 경우 방지.
for(i=0;i<50;i++)
_delay_ms(10);
}
return 0;
}
댓글 0
조회수 8,025등록된 댓글이 없습니다.