실수가 있습니다. 직접 디버깅하세요.
그러나 일반적인 아이디어는 이렇게 설계 될 수 있습니다.
먼저 송신기에 핀, 수신기 핀, 부저 핀 하나를 주세요.
너의 발사관은 회로로 독립적으로 설계되었다.
단일 칩 마이크로 컴퓨터와 수신관을 이용하여 적외선 신호를 수신할지 여부를 탐지한다.
신호가 수신되면 버저가 경고음을 낸다.
# include & ltreg51.h >
Sbitshou = p1.0; //수신 파이프 핀 정의
Sbit fmq = p1..1; //부저 핀 정의
Void delay()// 지연 함수
{
부호 없는 문자 j, k;
For (j =100; J>0; J-)
For (k =110; K>0; K-);
}
주 ()
{
P1= 0x00; 초기화 정의
Delay ();
If(shou= 1)// 수신 파이프의 입력이 고평임을 감지했습니다.
{
P1= 0x00; 재초기화
Delay (); 지연 확인
If(shou= 1)// 수신 파이프가 여전히 높은 경우.
{
Fmq =1; //버저가 윙윙 소리를 낸다
}
}
}
내 원칙은 누가 나에게 답을 주었는가 하는 것이다.
원하는 만큼 답을 주세요.
점수를 주지 않고 답을 얻는 쓰레기를 경멸하다.
얘들아, 내가 너의 질문에 대답한 것은 내가 오늘 밤 공교롭게도 적외선 수신기로 파이프를 테스트했기 때문이다.
하지만 언뜻 보면, 당신은 신인입니다.
설령 네가 이 프로그램을 얻는다 해도, 너의 부저가 울리지 않을 것이다.
O(∩_∩)o ...
하지만 저는 여러분이 먼저 이 실험을 하도록 권합니다.
문제는 항상 실천에서 발견된다.