질문게시판 > 답변 : 안녕하세요..실습시험준비중인 학생입니다.

TODAY974 TOTAL2,271,378
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 답변 : 안녕하세요..실습시험준비중인 학생입니다.

페이지 정보

작성자 master 작성일2022-05-31 11:44 조회1,298회 댓글1건

본문

	

PINE=0x30; 

PORTE=0x30; 

내부 풀업저항은 PINE가 아닌 PORTE 레지스터에 값을 넣어야 합니다.

//

interrupt [TIM1_COMPA] void timer1_compa_isr(void){

  if(++count==100)count=0;


  TCCR1B=0x0D; OCR1A=31249; TIMSK=0x10; //2sec
TCNT1에 0x1000을 릴로드 시킬 필요없이 OCR1A 값을 31249 입력하면 됩니다. 0x8A11-0x1000=0x7A11(31249)
TCNT1의 값을 건드리지 않을 수록 더 정밀한 시간을 얻을 수 있습니다.(xtal 정밀도)
//
스위치를 동시에 누르는 것을 먼저 체크해야 합니다.
mode=0 - 200 milisec만큼 LED 깜빡임
mode=1 - 1,2번 Switch 동시에 눌리면 1~9999까지 차례로 50milisec마다 1씩 증가함
mode=2 - 1번 Switch 누르면 7-segment로 글씨 나오게 함
mode=3 - 2번 Switch 누르면 interrupt를 사용해서 LED가 왼쪽에서 오른쪽으로 하나씩 옮겨가면서 켜짐
모드를 정해서 구동하면 되겠죠
//

mode=0 - 200 milisec만큼 LED 깜빡임
mode=1 - 1,2번 Switch 동시에 눌리면 1~9999까지 차례로 50milisec마다 1씩 증가함
mode=2 - 1번 Switch 누르면 7-segment로 글씨 나오게 함
mode=3 - 2번 Switch 누르면 interrupt를 사용해서 LED가 왼쪽에서 오른쪽으로 하나씩 옮겨가면서 켜짐
//
//
unsigned char num[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//
unsigned char mode=0,SW,i,led=0;
unsigned int  count=0;
//
interrupt [TIM1_COMPA] void timer1_compa_isr(void){
  if(mode==3){
    if(++led>7)led=0;
  }
//
void main(){
  DDRA=0xFF;
  PORTE=0x30;
  DDRC=0xFF;
  DDRG=0x0F;
  TCCR1B=0x0D; OCR1A=31249; TIMSK=0x10; //2sec
  SREG.7=1;
  while(1){
    SW=(~PINE)&0x30; // 반전 시킴
    if     (SW==0x30){ mode=1; delay_ms(50); while((~PINE)&0x30); delay_ms(50); } // 손을 뗄 때까지 대기 및
    else if(SW==0x10){ mode=2; delay_ms(50); while((~PINE)&0x30); delay_ms(50); } // 채터링방지 딜레이
    else if(SW==0x20){ mode=3; delay_ms(50); while((~PINE)&0x30); delay_ms(50); }
    //
    if(mode==0){
      PORTG=0; // 세그먼트 OFF
      if(PORTA!=0xFF)PORTA=0xFF; else PORTA=0; // LED 전체 ON/OFF
      delay_ms(100);
    }
    if(mode==1){
      PORTA=0; // LED OFF
      for(i=0;i<10;i++){ // 1250us*4*10=50ms
        PORTG=8; PORTC=num[count/1000  ]; delay_us(1250);
        PORTG=4; PORTC=num[count/100%10]; delay_us(1250);
        PORTG=2; PORTC=num[count/10 %10]; delay_us(1250);
        PORTG=1; PORTC=num[count    %10]; delay_us(1250);
      }
      if(++count>9999)count=0;
    }
    if(mode==2){ // ID 출력?
      PORTA=0; // LED OFF
      PORTG=4; PORTC=num[6]; delay_ms(1);
      PORTG=2; PORTC=num[2]; delay_ms(1);
      PORTG=1; PORTC=num[7]; delay_ms(1);
    }
    if(mode==3){
      PORTG=0; // 세그먼트 OFF
      PORTA=0x80>>led;
    }
  }
 
  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 1

조회수 1,298

tony님의 댓글

tony 작성일

감사합니다!!!!

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 아두이노 자율주행 rc카 초음파 장애물에 닿으면 정지하고 장애물 없어지면 다시 전진하는 코딩을 잘모르겠습니다…댓글[5] 종느 22-06-06 2160
질문 아두이노 우노 listen() 사용댓글[3] 첨부파일 면지지 22-06-05 1096
질문 아두이노 메가 2560 관련 질문입니다!댓글[3] 이미지 아뒤노 22-06-05 1381
질문 아두이노 모터 제어 코드 질문 히동 22-06-05 1415
답변 답변글 답변 : 아두이노 모터 제어 코드 질문댓글[1] master 22-06-05 901
질문 atmega128 프로젝트 외주 사례합니다댓글[1] 공돌ㅇ 22-06-05 1071
질문 atmega128 프로테우스 부저소리 관련하여..댓글[1] 꿍다라링 22-06-04 948
질문 assembly coding 한 번만 도와주세요 ㅜ댓글[3] 마프마푸 22-06-04 1331
질문 [ATmega 기초질문] DC모터속도제어 코딩 및 연결 질문드립니다.댓글[2] 이미지 zen123 22-06-04 1675
질문 uart 송수신 관련 질문입니다.댓글[1] 황자르 22-06-04 1142
질문 수위센서, 압력센서를 이용한 서모모터 제어 악두이노 22-06-03 1298
답변 답변글 답변 : 수위센서, 압력센서를 이용한 서모모터 제어 master 22-06-04 885
질문 Esp32 sd card댓글[1] 김아무개 22-06-03 1183
질문 아두이노 라인트레이서 센서를 이용한 rc카로 사다리타기 게임댓글[1] 이미지첨부파일 hunhun 22-06-03 1304
질문 배열에 있는 값으로 jpg 파일 보는 법댓글[3] lshlsh3690 22-06-03 510
질문 아래 ATMEGA LCD 출력 코드 및 에러 확인 질문 이미지 첨부합니다.댓글[1] 이미지첨부파일 chelsea 22-06-03 1246
답변 답변글 답변 : 아래 ATMEGA LCD 출력 코드 및 에러 확인 질문 이미지 첨부합니다. master 22-06-03 1189
질문 온도 센서관련 코드 질문드립니다..댓글[3] MzKLN 22-06-03 1733
질문 ATMEGA LCD 출력 코드 및 에러 확인 부탁드립니다.댓글[2] chelsea 22-06-03 1124
질문 atmega128 조도센서를 이용하여 서보모터와 dc모터 제어하는거 봐주실수있나요ㅠㅠ 이미지첨부파일 화니뿌뿌 22-06-02 1469
답변 답변글 답변 : atmega128 조도센서를 이용하여 서보모터와 dc모터 제어하는거 봐주실수있나요ㅠㅠ댓글[4] master 22-06-02 2596
질문 키패드 led 인체감지 질문 면지지 22-06-02 1440
답변 답변글 답변 : 키패드 led 인체감지 질문댓글[3] master 22-06-02 1012
질문 ATMEGA128 채터링(chattering)관련 질문입니다.댓글[1] 아지개구리 22-06-02 2136
질문 32x8 도트매트릭스 사용질문댓글[3] 엑스칼리버excel 22-06-02 1434
질문 아두이노 릴레이모듈로 전구밝기 조절 가능할까요?댓글[4] 초심자의행운 22-06-02 2183
질문 모터 드라이브 질문드립니다.댓글[2] 이미지첨부파일 kyho3855 22-06-02 1546
질문 안녕하세요 atmega128 chattering에 대해서 궁금한게있습니다.댓글[4] tony 22-06-01 1597
질문 master님 저번 압력센서 릴레이 회로질문입니다! 이미지첨부파일 브레이크 22-06-01 1167
답변 답변글 답변 : master님 저번 압력센서 릴레이 회로질문입니다! 이미지 master 22-06-01 958
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기