找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3093|回复: 5
收起左侧

单片机红外对射进出门开关灯程序(已在厕所中使用)

[复制链接]
ID:261025 发表于 2020-5-6 15:48 | 显示全部楼层 |阅读模式
做它的目的是提示厕所内有人  不用走近后才被里面的人提示  其他人在远处看到装在外面的灯亮了就知道里面有人 红外接收头遮挡后重新接收到38khz信号会有一个低脉冲  通过判断两个接收头遮挡的先后顺序判断进出  按键可以切换进出判断

缺点是发射的38khz信号里不含有加密数据 接收端没有解码判断 容易受到太阳光干扰造成进出不亮不灭   
进去时蜂鸣器响一声 出来响两声  如果受到太阳光干扰就沿着进或出的方向靠近接收端挥手就能开灯或关灯   灯开启后延时七八分钟自动熄灭

制作出来的实物图如下:
51hei截图20200506151758.jpg

电路原理图如下:
51hei截图20200506151610.jpg

51hei截图20200506151747.jpg 51hei截图20200506151639.jpg
单片机源程序如下:
发射38khz方波
;12MHZ

                 ORG 0000H
                 SJMP STA
                 ORG 000BH
                 LJMP T0ISR
                 ORG 0030H
STA:
        ;         MOV TMOD,#02H                   ;AT89C2051        12MHZ
        ;         MOV TL0,#0B2H;#064H        ;
        ;         MOV TH0,#0FFH;#0FFH        ;
        ;         SETB TR0
        ;         SETB ET0
        ;         SETB EA
        ;         SJMP $
              MOV TMOD,#00010010B  ;STC15F104W         12MHZ
              MOV TH0,#0F4H           
              MOV TL0,#0F4H              
              SETB ET1
              SETB ET0
              SETB EA
              SETB TR1
              SETB TR0
                          SJMP $
T0ISR:
                 CPL P3.4
                 CPL P3.5
                 RETI
         END

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接收
;12MHZ

               
                 SETB P3.3;IN1 红外接收头输入端
                SETB P3.4;IN2 红外接收头输入端
                SETB P3.5;LED 遮挡、延时指示        
                CLR  P3.1;OUT 输出控制电器
                SETB P3.0;蜂鸣器                 
                SETB P3.2;切换 A<=>B
                X EQU 04H;切换标志位        
        SETB X
                LCALL DELAY;
                LCALL DELAY;
                CLR  P3.0;蜂鸣器
                MOV  60H,#00
        MOV  61H,#00
                MOV  62H,#00
                MOV  63H,#00 ;自动熄灭延时
MAIN1:        MOV  66H,#00
        MOV  67H,#00
                MOV  68H,#00
            SETB P3.5;LED 遮挡、延时指示               
                LCALL DELAY;

                LCALL DELAY;            
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;            
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;
                LCALL DELAY;                        
MAIN0:  JNB P3.4,KK111;         IN1;  关灯
        JNB P3.3,KK222;         IN2   开灯        
                JNB P3.2,QIEHUAN;切换 A<=>B        
            DJNZ 62H,MAIN0
        DJNZ 61H,MAIN0
            DJNZ 60H,MAIN0
                DJNZ 63H,MAI ;自动熄灭延时
            CLR P3.1; OUT  输出关闭
MAIN:   JNB P3.4,KK111;         IN1;  关灯
        JNB P3.3,KK222;         IN2   开灯        
                JNB P3.2,QIEHUAN;切换 A<=>B        
                LJMP MAIN;
MAI:    MOV  60H,#240
       MOV  61H,#240
           MOV  62H,#240
           LJMP MAIN0;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
QIEHUAN:LCALL DELAY;
                LCALL DELAY;
        JNB P3.2,MAIN;
        CPL X;
                SETB P3.0;蜂鸣器
        JNB P3.2,$
                LCALL DELAY;
                CLR  P3.0;蜂鸣器
        LJMP MAIN1
////////////////////////////////////
KK111: MOV  66H,#50
       MOV  67H,#240
           MOV  68H,#240
           CLR P3.5;LED 遮挡、延时指示
RLA:   JB P3.3,RLL;         IN2
       JNB X,QH1;切换 A<=>B
QH2:   CLR P3.1; OUT        输出关闭
       SETB P3.0;蜂鸣器
           LCALL DELAY;
           CLR  P3.0;蜂鸣器
           LCALL DELAY;
           SETB P3.0;蜂鸣器
           LCALL DELAY;
           CLR  P3.0;蜂鸣器
           LJMP MAIN1;
////////////////////////////////////////////
RLL:   DJNZ 68H,RLA
       DJNZ 67H,RLA
           DJNZ 66H,RLA        
           LJMP MAIN1;   
////////////////////////////////////      
KK222: MOV  66H,#50
       MOV  67H,#240
           MOV  68H,#240
           CLR P3.5;  LED 遮挡、延时指示
RRA:   JB P3.4,RRR;         IN1
           JNB X,QH2;切换 A<=>B
QH1:   SETB P3.1; OUT         输出开启
           SETB P3.0;蜂鸣器
           LCALL DELAY;
           CLR  P3.0;蜂鸣器
           MOV  60H,#240
       MOV  61H,#240
           MOV  62H,#240
           MOV  63H,#20
            LJMP MAIN1;
///////////////////////////////////////            
RRR:   DJNZ 68H,RRA
       DJNZ 67H,RRA
           DJNZ 66H,RRA        
           LJMP MAIN1;
////////////////////////////////////////
;秒延时子程序
DELAY: MOV R4,#5;10
           MOV R5,#248;248
       MOV R6,#248;
D10:   DJNZ R6,D10;
       DJNZ R5,D10;$
       DJNZ R4,D10
       RET
       END;


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:253767 发表于 2020-5-8 07:18 | 显示全部楼层
谢谢分享!!!
回复

使用道具 举报

ID:282850 发表于 2020-5-8 14:24 | 显示全部楼层
思路很好,盒子及整体做工优秀。与我一样是实战派
回复

使用道具 举报

ID:305511 发表于 2020-5-9 13:11 | 显示全部楼层
挺有意思的!
回复

使用道具 举报

ID:584814 发表于 2020-5-15 07:35 | 显示全部楼层
去掉单片机可有效降低成本和故障率
回复

使用道具 举报

ID:261025 发表于 2020-5-27 21:08 | 显示全部楼层
man1234567 发表于 2020-5-15 07:35
去掉单片机可有效降低成本和故障率

还有一个版本我没发  数码管显示进去+1 出来-1  减到0关闭灯  用的是2.3寸数码管 单片机用的是贴片的 和数码管固定在一起
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表