질문게시판 > 답변 : atmega128에서 스위치1개는LED, 스위치 1개는 세그먼트의 동작하게 하려는데..

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

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

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

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

BASIC4MCU > 질문게시판

답변 : atmega128에서 스위치1개는LED, 스위치 1개는 세그먼트의 동작하게 하려는데..

페이지 정보

작성자 master 작성일22-05-26 14:09 조회1,668회 댓글1건

본문

지금 현재 상황에서는 스위치두개다 LED랑세그먼트가 같이 나옵니다..
두개가 개별로 동작하게하려는데 어떻게 해야하나요?
//
#include <avr/io.h>
#include <util/delay.h>
//
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 LED_Data=1,cnt=0,flag1=0,flag2=0;
//
int main(){
  DDRB=0xFF; DDRD=0x0F; DDRE=0xFF;
  while(1){
    PORTE=FND_DATA_TBL[cnt];
    if(PIND&2){ // PD1
      if(flag1==0){ flag1=1; if(++cnt>18)cnt=0; _delay_ms(50); }
    }
    else{
      if(flag1){ flag1=0; _delay_ms(50); }
    }
    //-----------------------------------
    PORTB=LED_Data;
    if(PIND&1){ // PD0
      if(flag2==0){ flag2=1; LED_Data<<=1; if(LED_Data==0)LED_Data=1; _delay_ms(50); }
    }
    else{
      if(flag2){ flag2=0; _delay_ms(50); }
    }
  }
  return 0;
}

개별로 나오지 않는다는 말이 무슨 뜻일까요?
스위치를 누르지 않아도 세그먼트가 증가되고, LED가 쉬프트 되나요?
    if((PIND&2)==0){ // PD1
    if((PIND&2)==0){ // PD0
누를 때 0이 되는 회로라면 이렇게 수정하세요
//
PD1 스위치를 누르면 세그먼트만 동작하고, LED는 꺼져있고
PD0 스위치를 누르면 LED만 쉬프트하고, 세그먼트는 꺼져있기를 바라는 건가요?

#include <avr/io.h>
#include <util/delay.h>
//
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 LED_Data=1,cnt=0,mode=0,ms=0;
//
int main(){
  DDRB=0xFF; DDRD=0x0F; DDRE=0xFF;
  while(1){
    if(PIND&2)mode=0; // PD1 // 세그먼트만 동작
    if(PIND&1)mode=1; // PD0 // LED만 동작
    //-----------------------------------
    if(mode==0){
      PORTB=0; // LED OFF
      PORTE=FND_DATA_TBL[cnt];
      if(++ms>=100){ ms=0; // 10ms*100=1000ms
        if(++cnt>18)cnt=0;
      }
    }
    //-----------------------------------
    if(mode==1){
      PORTE=0; // 세그먼트 OFF
      PORTB=LED_Data;
      if(++ms>=100){ ms=0; // 10ms*100=1000ms
        LED_Data<<=1; if(LED_Data==0)LED_Data=1;
      }
    }
    //-----------------------------------
    _delay_ms(10);
  }
  return 0;
}

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

댓글 : 1

조회수 : 1,668

aasdw님의 댓글

aasdw 작성일

답변감사합니다!!!
제가 납땜을 잘못했었는지 결선오류였습니다.
납땜을 처음부터 다시했더니 동작을 확인했습니다.
바쁘신와중에 답변달아주셔서 감사합니다

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 PIC 블루투스 연결 댓글[18] 픽공부 새글 10:28
질문 PIC18F452 블루투스 연결 댓글[4] 마이컴 새글 22-08-08
질문 아두이노 코드 해석을 못하겠습니다... 댓글[2] 김가헌 새글 22-08-08
질문 아두이노 코드를 avr로 변환해 주세요 ...ㅠ 댓글[3] 옹냥냥 새글 22-08-08
질문 아두이노 녹음-스피커모듈 관련 질문있습니다 ㅠㅠ 댓글[2] 방귀뿡뿡 새글 22-08-08
질문 Serial EEPROM 실수값 저장.. 댓글[2] 첨부파일광이  22-08-07
질문 STM32 Live Expression 값들이 깜빡이는… 댓글[3] 둠둠  22-08-05
질문 아두이노 ESP32 wifi module 댓글[1] Yoon  22-08-03
질문 atmega128과 dht11, lcd를 연결했는데 0… 댓글[1] 고양이33  22-08-02
질문 ATMEGA 128 코드를 합치려고 하는데 어렵네요 댓글[2] 고양이33  22-08-02
질문 서보모터 제어에 대해 질문있습니다. 댓글[2] 첨부파일뉴비에오  22-07-30
질문 적외선 통신 알려주실분있나요 ㅠㅠ 댓글[1] hkjsj10  22-07-30
질문 아두이노 관련 궁금합니다. 댓글[1] 뱝뱝  22-07-28
질문 아두이노 우노 MCP4725 댓글[3] opqr  22-07-27
질문 레오나르도 인체감지센서 알림 안옴 면지지  22-07-24
답변 답변 : 레오나르도 인체감지센서 알림 안옴 master  22-07-25
질문 Uno에서 엔코더값 놓치는 이유가 뭘까요... 댓글[3] MAKTUB  22-07-24
질문 아두이노 압력센서 연동 질문 댓글[4] dbice  22-07-23
질문 아두이노 버튼 누르기 문의 댓글[1] 김형근  22-07-23
질문 HM10 다중페어링 댓글[1] ㅎㅋㅎㅋㅎ  22-07-22
질문 모터드라이브 선정 댓글[6] 조숩인  22-07-22
질문 ad9850 sin파 2 댓글[6] 첨부파일opqr  22-07-21
질문 ad9850 sin파 합성 댓글[7] 첨부파일opqr  22-07-20
질문 특정값이 n초이상,n번 이상 연속될경우를 감지하는 함수… 댓글[4] 우수  22-07-17
질문 delay를 millis함수로 바꾸는데 질문있습니다. 댓글[12] 첨부파일뉴비에오  22-07-16
질문 피에조 부저로 맬로디 만들기인대 코딩 까지 했는데 아두… 댓글[2] 첨부파일mingu123  22-07-15
질문 블루투스와 안드로이드 연동관련 질문입니다! ㅎㅇㅎㅇ  22-07-14
질문 아두이노간 블루투스 통신에 대해서 질문있습니다 첨부파일뉴비에오  22-07-13
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전