红外对管的工作原理就是利用光电管受光照和不受光照的状态差别来区分是否受遮挡,有光照即无遮挡时,光电管处于导通态,被遮挡则无光照,光电管则处于截止态.要两组红外对管,根据哪路先被遮断来判断方向即可.长的距离需要给发射管加载波.“一般是40KHz” 接收管端做放大和锁相环.“锁40KHz频率”
当接收到红外发射管的信号时锁相环输出高.人挡住输出低.或者反过来.
- /*-----------------------------------------------
- 名称:外部中断0电平触发
- 内容:通过中断接口P3.2连接的红外对管接收头
- ------------------------------------------------*/
- #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
- /*------------------------------------------------
- 主程序
- ------------------------------------------------*/
- unsigned int count=0;
- main()
- {
-
- EA=1; //全局中断开
- EX0=1; //外部中断0开
- IT0=0; //电平触发
- while(1)
- {
- //在此添加其他程序
- }
- }
- /*------------------------------------------------
- 外部中断程序
- ------------------------------------------------*/
- void ISR_Key(void) interrupt 0 using 1
- {
- count++; //进入中断程序执行程序, 红外对管收到信号一次变量加1
- //此时可以通过 EA=0指令暂时关掉中断
-
- }
复制代码 |