BASIC4MCU | 질문게시판 | 답변 : 답변 : atmega128 dc모터 멈춤 코드
페이지 정보
작성자 master 작성일2018-12-06 15:56 조회12,639회 댓글3건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6447
작성일
작성일
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-06 오후 4:01:39// by Ok-Hyun Park//#define F_CPU 16000000UL#include <avr/io.h>#include <util/delay.h>#include <avr/interrupt.h>//unsigned int result=0xFFFF,th=0x0100;char flag=0;//void m1stop(){ PORTC=(PORTC&0x0C); }void m1fwd() { PORTC=(PORTC&0x0C)|1; }void m1bwd() { PORTC=(PORTC&0x0C)|2; }//void m2stop(){ PORTC=(PORTC&0x03); }void m2fwd() { PORTC=(PORTC&0x03)|4; }void m2bwd() { PORTC=(PORTC&0x03)|8; }//int main(void){DDRB=0x60; // 모터2 ENB(PB6),모터1 ENA(PB5)DDRC=0x0F; // 모터2 IN4(PC3),IN3(PC2),IN2(PC1),IN1(PC0)OCR1AL=255; TCCR1A=0xA1; TCCR1B=0x1A; ICR1=255;ADMUX=0x42; ADCSRA=0xE7; // 센서 PF2SREG=0x80;_delay_ms(1); result=ADC; if(result<th)flag=1; else flag=0; // 처음에 모터를 돌지 않기 위한 초기값 설정while(1){result=ADC;//if(result<th){if(flag==0){ flag=1; m1fwd(); m2fwd(); _delay_ms(1000); m1stop(); m2stop(); }}else{if(flag==1){ flag=0; m1bwd(); m2bwd(); _delay_ms(1000); m1stop(); m2stop(); }}}}
댓글 3
조회수 12,639lalalalla님의 댓글
lalalalla 작성일
감사합니다!
그런데 혹시 모터1개만쓸건데, B포트없이 C포트만 쓰고는 못하나요..?
master님의 댓글
master
포트 입출력만 공부하면 할 숴 있습니다.
직접 해보세요
포트 입출력도 할 줄 모르면 안됩니다.
lalalalla님의 댓글
lalalalla
앗 되네요! 감사합니다!!!!