BASIC4MCU | 질문게시판 | atmega128 인터럽트 이용한 dc모터 제어
페이지 정보
작성자 박맹 작성일2022-06-10 22:35 조회1,556회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=20528
작성일
본문
1. dc모터 이용해서 커튼 만드려고 하는데 이렇게 짜면 될까요?
2. 그리고 여기서 타이머를 추가해서 5초 뒤에 커튼이 내려가게 만들수도 있을까요?
#define F_CPU 16000000UL
#include
#include
#include
ISR(INT4_vect) //커튼 내리기
{
PORTB=0xB0;
//CW 1011
OCR0=153;
//펄스폭 변화, 커튼 내리는 속도제어
}
ISR(INT5_vect) //커튼 올리기
{
PORTB=0x70;
//CWW 0111
OCR0=153;
//펄스폭 변화, 커튼 내리는 속도제어
}
int main(void)
{
DDRE=0x00; //포트E 입력
DDRB=0xF0; //포트B 출력
TCCR0=0x6B;
//0110 1100
//6,3 FastPWM 5,4 비교매치에서 OCn=0으로 클리어
//2,1,0 64분주
//인터럽트 세팅
SREG|=0x80; //글로벌 인터럽트
EIMSK=0x30; //INT4,5 허용
while (1)
{
}
}
댓글 2
조회수 1,556master님의 댓글
master 작성일
누르는 동안만 동작하는 것으로 보이는 데요
while (1) {
OCR=0; // 누르지 않을 때 정지 시키는 코드를 추가해야 합니다.
}
박맹님의 댓글
박맹
답변 감사합니다