基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)

上传人:平*** 文档编号:10276330 上传时间:2017-10-07 格式:DOC 页数:7 大小:93.78KB
返回 下载 相关 举报
基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)_第1页
第1页 / 共7页
基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)_第2页
第2页 / 共7页
基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)_第3页
第3页 / 共7页
基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)_第4页
第4页 / 共7页
基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)》由会员分享,可在线阅读,更多相关《基于单片机的红外门禁控制系统设计与制作(含源程序和原理图)(7页珍藏版)》请在金锄头文库上搜索。

1、项目名称:基于单片机的红外门禁控制系统说明:该系统主要应用于室内智能计数和照明灯的智能控制。实际应用很广泛:可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与 PC 数据交换的功能。系统流程: 基于单片机的红外门控系统完成了三项实验(由于剩余零件以及经费的原因):入口出口红外传感器红外传感器外部中断0外部中断1加一减一显示控制单片机项目成果及特点 门控系统:实验了人员的单向通行并对之进行计数,从而根据数字来控制照明情况,特点是能很方便及时地对能量进行控制,从而大大地节约了能源!具体操作及现象首先有人进去时要将系统开关打开

2、(这也是我们碰到的没解决的问题:一开始需要人工操作),而且使计数起点为 1,因为进去了一个人,此后只要从进口进入一个人就加 1,从出口离开一个人则减 1,并在计数器上显示出来,只要当计数器显示为 0,则单片机控制其自动切断电源,从而达到节能的目的。但是,这些结果及现象都远没有达到我们预期想要得到的结果,不过我们还是努力过了,也学到了不少的新知识,如果有可能的话,我们将会继续探索没成功的部分,尤其是在我们学了专业知识以后。基于单片机的红外门控系统总结我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示

3、控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断 0 作为入口,实现加 1 操作,中断 1 作为出口,实现减 1 操作。另外,我们通过 P0 口控制室内灯的亮暗,当寄存器计数值为 0 时,熄灯,不为 0 时,灯亮。显示部分,采用两位数码管动态显示,如有必要

4、,可以很方便的扩展为四位计数。精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下:$MOD52 ORG 0000HLJMP MAINORG

5、0003HLJMP 0100HORG 0013HLJMP 0150HORG 0050HMAIN: CLR AMOV 30H , A ;初始化缓存区MOV 31H , AMOV 32H , AMOV 33H , AMOV R6 , AMOV R7 , ASETB EASETB EX0SETB EX1SETB IT0SETB IT1SETB PX1NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序ACALL DISPLAY ;调用显示子程序LJMP NEXT1ORG 0100H ;中断 0 服务程序LCALL DELYmov 70h,#2djnz 70h,nextJBC F0,NE

6、XT SETB F0CLR P0.0LCALL DELY0SETB P0.0 MOV A , R7ADD A , #1MOV R7, AMOV A , R6ADDC A , #0 MOV R6 , ACJNE R6 , #07H , NEXTCLR AMOV R6 , AMOV R7 , ANEXT: RETIORG 0150H ;中断 1 服务程序LCALL DELYmov 70h,#2djnz 70h,next2JBC F0,NEXT2SETB F0CLR P0.0LCALL DELY0SETB P0.0 CLR C MOV A , R7SUBB A , #1MOV R7, AMOV A

7、, R6SUBB A , #0MOV R6 , ACJNE R6 , #07H , NEXT2CLR AMOV R6 , AMOV R7 , ANEXT2: RETIORG 0200HHEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制PUSH ACCMOV A , R7PUSH ACCMOV A , R2PUSH ACCCLR AMOV R3 , AMOV R4 , AMOV R5 , AMOV R2 , #10HHB3: MOV A , R7 ;将十六进制中最高位移入进位位中RLC A MOV R7 , AMOV A , R6RLC AMOV R6 , AMOV A , R5

8、 ;每位数加上本身相当于将这个数乘以 2ADDC A , R5DA AMOV R5 , AMOV A , R4ADDC A , R4DA A ;十进制调整MOV R4 , AMOV A , R3ADDC A , R3DJNZ R2 , HB3POP ACC MOV R2 , APOP ACC MOV R7 , APOP ACCMOV R6 , ARETORG 0250HDISPLAY:MOV R0 , #30HMOV A , R5ANL A , #0FHMOV R0 , AMOV A , R5SWAP AANL A , #0FHINC R0MOV R0 , AMOV A , R4ANL A ,

9、 #0FHINC R0MOV R0 , AMOV A , R4SWAP AANL A , #0FHINC R0MOV R0 , AMOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2MOV P2 , AMOV A , R0MOV DPTR , #TABMOVC A , A+DPTRMOV P1 , AACALL DELAYINC R0MOV A , R2RL AMOV R2 , AJB ACC.4 , AGAINRETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6F

10、H ;七段码表DELY: MOV R1,#80D1: MOV R2,#100DJNZ R2,$DJNZ R1,D1RETDELAY: MOV TMOD , #01H ;延时子程序MOV TL0 , #0FEHMOV TH0 , #0FEHSETB TR0WAIT: JNB TF0 , WAITCLR TF0CLR TR0RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$DJNZ R1,D3RETEND该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与 PC 数据交换的功能。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号