질문게시판 > 답변3 : 8051 포토커플러 관련 회로에대해서 질문드립니다.(하강엣지 + 상승엣지 검출)

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

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


BASIC4MCU | 질문게시판 | 답변3 : 8051 포토커플러 관련 회로에대해서 질문드립니다.(하강엣지 + 상승엣지 검출)

페이지 정보

작성자 master 작성일2018-02-18 15:59 조회806회 댓글1건

본문

	

 

// DateTime : 2018-02-18 오후 3:59:09
// by Ok-Hyun Park
#include <reg51.h>
//
char array[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char cnt=0;
sbit p_input=P2^0;
bit  flag=0;
//
void delay(unsigned int i){ while(i--); }
//
void main(void){
  P2=0xff;
  cnt=0;
  while(1){
    P1=array[cnt];
    if(!p_input){
      if(flag==0){ flag=1if(++cnt>9)cnt=0delay(0xb100); } // 하강엣지 검출
    }
    else{
      if(flag==1){ flag=0delay(0xb100); } // 상승엣지 검출
    }
  }
}

 

앞의 답변에서는 하강엣지만 검출했는데요

회로에서 채터링 방지용 커패시터가 없거나 커패시터 용량이 채터링을 막기에 부족한 경우

상승엣지에서 발생하는 채터링에 대해서는 오동작 할 가능성이 있습니다.

이 답변 예제에서는 상승엣지도 검출해서 채터링 방지용 딜레이를 주고 있습니다.

 

물론 이 예제는 포토인터럽트로 물체가 지나가는 경우라서

KEY 입력처럼 채터링이 많이 생기지 않습니다.

따라서 딜레이를 없애거나, 딜레이가 조금만 있어도 충분합니다.

지나가는 경우에는 물체가 빛(적외선) 경계선에서 머물러 있는 시간이 짧습니다.

 

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

댓글 1

조회수 806

27315co님의 댓글

27315co 작성일

정말 정확하고 친절한 답변 감사드립니다.

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기