질문게시판 > 답변 : atmega128 코드질문드려요

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

답변 : atmega128 코드질문드려요

페이지 정보

작성자 master 작성일18-12-20 22:58 조회5,248회 댓글1건

본문

 

 

// DateTime : 2018-12-20 오후 11:05:36
// by Ok-Hyun Park
//
#define F_CPU 7372800UL // 7.3728 MHz
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
//
volatile unsigned char FND_DATA_TBL[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7C,0x07,0x7F,0x67,0x77,0x7C,0x39,0x5E,0x79,0x71,0x08,0x80};
volatile unsigned char MOTOR[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //1-2상 여자
//
volatile   signed char mot_cnt=0;
volatile unsigned char dir=0,run=0,speed=0;
//
volatile unsigned char speed_table[]={ 159,144,128,112,96,80,64,48,32,16};
//
void speed_disp(){
  OCR0=speed_table[speed];
  PORTF=FND_DATA_TBL[speed];
}
//
ISR(TIMER0_COMP_vect){ // 22.2ms
  if(run){
    if(dir){
      if(--mot_cnt<0)mot_cnt=7// Right
      PORTB=0xFF// LED on
      PORTE=0x08// Buzzer on
    }
    else{
      if(++mot_cnt>7)mot_cnt=0// left
      PORTB=0x00// LED off
      PORTE=0x00// Buzzer off
    }
    PORTC=MOTOR[mot_cnt];
  }
}
//
volatile char flag0=0,flag1=0,flag2=0,flag3=0;
//
ISR(TIMER1_COMPA_vect){
  if(!(PIND&0x01)){ // sw0
    if(flag0==0){ flag0=1dir^=1; }
  }
  elseflag0=0; }
  //--------------------
  if(!(PIND&0x02)){ // sw1
    if(flag1==0){ flag1=1run^=1; }
  }
  elseflag1=0; }
  //--------------------
  if(!(PIND&0x04)){ // sw2
    if(flag2==0){ flag2=1if(speed<9)speed++; speed_disp(); }
  }
  elseflag2=0; }
  //--------------------
  if(!(PIND&0x08)){ // sw3
    if(flag3==0){ flag3=1if(speed>0)speed--; speed_disp(); }
  }
  elseflag3=0; }
  //--------------------
}
//
int main(){
  PORTD=0xFF// 스위치
  DDRF=0xFF// FND
  DDRB=0xFF// LED
  DDRC=0x0F// STEP MOTOR
  DDRE=0x08// Buzzer on
  speed_disp();
  //
  TCCR0=0x0FOCR0=159TIMSK=0x02// 7372800/1024/160=45Hz=22.2ms
  TCCR1B=0x0COCR1A=6249TIMSK|=0x10//100ms
  SREG=0x80;
  while(1);
}

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 1

조회수 : 5,248

atmegaga님의 댓글

atmegaga 작성일

소스 변형 정말 감사합니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 아두이노 while문 탈출 질문 yhj2644 새글 22-07-01
답변 답변 : 아두이노 while문 탈출 질문 댓글[4] master 새글 22-07-01
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의… 댓글[3] cansad 새글 22-06-30
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의 댓글[3] cansad 새글 22-06-30
질문 빵판없이 디스플레이 넣을 수 있을까요? 댓글[2] 첨부파일오소로롯  22-06-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum  22-06-26
질문 음전압 ADC 댓글[2] 412904  22-06-26
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2  22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master  22-06-25
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
질문 atmeg128 질문이요 댓글[1] 첨부파일공대생er  22-06-18
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨  22-06-18
답변 답변 : atmega128 초음파 센서로 신호등 시간초… 댓글[1] master  22-06-18
질문 atmega128 댓글[2] 망경이  22-06-18
질문 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다… 댓글[1] 따랑해영  22-06-18
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전