第1页共15页姓名:张键班级:电子1202学号:201215034设计题目:红外防盗报警系统一、设计意义:随着社会经济的飞速发展和人民物质生活水平的不断提高,人们对其住宅的要求也越来越高,表现在不仅希望拥有舒适、温馨的住所,而且对其安全性、智能性等方面也提出了更高的要求。随着流动人口迅速增加,盗窃、入室抢劫等刑事案件也呈现出了增长趋势,并且危害越来越严重,人们越来越渴望有一个安全生活的空间,但是犯罪分子的作案手段越来越高明,他们甚至采用一些高科技的作案手段,使得以往那种依靠安装防盗门窗、或靠人防的防范方式越来越不能满足人们日常防范的要求;人们迫切需要一种智能型的家庭安全防范报警系统,及时发现各种险情并通知户主,以便将险情消灭在萌芽状态,保证居民的生命财产不受损失。目前,国内市场上的防盗报警器系统大部分是国外品牌,国内防盗报警器产品厂商发展时间比较短,真正取得长足发展也是在2000年以后,特别是在2004年国内有些厂商迅速成长,投资规模和企业规模都在迅速发展和扩大。但是与国外厂商相比还有很大差距。现阶段,大部分工程商安装防盗报警产品时倾向于国外品牌,其中,安装的国外产品主要来自于美国、日本和韩国,这三个国家的产品占据我国报警市场的近80%的份额。这主要是因为,在产品供给市场上,绝大部分国外品牌来自美国和日韩,防盗报警产品在这些国家的发展已第2页共15页经非常成熟,产品功能稳定,性能完善,再加上进入我国是时间较早,所以在我国市场上占有相当大的份额。因此我做这个产品的目的在于,使每个人都能用上性价比好的产品,让更少的人受到财产的损失。二、工作原理:在门的边框上,安装红外对射管,用以检测是否有人通过。在门钥匙处有一个触发开关,用来判断是否是正常开门。当门钥匙没有打开,而且有人通过时,也就是非正常进入,红外对管没有检测到信号,输入高电平到单片机,单片机输出信号到蜂鸣器和红色的LED灯,同时LCD1602显示“WARING!THETHIEFARECOMING”,告诉用户有小偷闯入,提醒注意,只有通过按下复位开关警报才可以解除。当钥匙打开门,并且有人通过时,也就是正常开门,单片机输出信号到绿色LED灯上,同时LCD1602上显示“SAFETYWELCOMEMASTER”告诉用户是正常开门,欢迎回来。三、系统硬件设计:1)关键器件介绍:1.LCD1602简介:1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它是由若干个5x7或者5x11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间,有一个点距和行间的作用,正因为如此所以它不能很好地显示图形。LCD1602是指显示的内容为16*2,即可以显示两行,每行16个字符液晶模块。第3页共15页字符集:1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字,英文字母的大小写,常用的符号,日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母‘A’代码是41H,显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母A了。在单片机编程中还可以用字符型常量或变量赋值,如’A’。因为CGROM储存的字符代码与我们PC中的字符代码是基本一致的,因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=‘A’这样的方法。PC在编译时,就把‘A’先转换为41H代码了。字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5*8点阵的字符,可以存放8组,对于5*10点阵的字符,可以存放4组),就是CGROM了。0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码没有定义。引脚说明:第一引脚—GND;第二引脚—Vcc;第三引脚—V0,是液晶显示器对比度调整端;第四引脚—RS,寄存器选择,高电平为数据寄存器,低电平为指令寄存器;第五引脚—RW为读写信号线,高电进行读操作,低电平进行写操作;第六引脚—E,使能端;第七~第十四引脚—双向数据端;第十五,十六引脚—背光灯;2.HS0038简介红外接收头,接收红外信号频率为38kHz,周期约为26us,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号,这样第4页共15页大大简化了接收电路的复杂程度和电路设计工作,方便使用。外观上看,HS0038为直立侧面收光型,黑色环氧树脂封装,不受日光,荧光灯等光源的干扰,内附磁屏蔽,功耗低,灵敏度高。用在小功率发射管发射信号情况下,其接收距离可以达到35m。它能与TTL,COMS电路兼容。三个管脚分别为GND,+5v电源,解调信号输出端系统组成和实现体系系统硬件电路主要组成:1、供电电源电路(给微处理器89c51和红外一体化接收头HS0038提供工作需要的+5V电压);2、微控制器89c51系统;3、红外接收电路(接收系统所配备遥控器所发出的红外信号);4、看门狗和EEPROM存储电路;5、执行电路;3.AT89c51单片机简介:是一种带4k字节FLAH存储器的低电压、高性能COMS8位微处理器,俗称单片机。128字节内部RAM,32个I/O口线,两个16位定时器/计数器,一个5向量级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,89c51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。第5页共15页2)原理图设计:如图3.1图3.1电路原理图设计3)线路板图设计:如图3.2图3.2电路板图设计第6页共15页四、系统软件设计:1)流程图设计:如图4.1图4.1流程图设计2)关键程序介绍:sbitlcden=P2^7;sbitlcdrs=P2^5;sbitlcdrw=P2^6;ucharcodetable1[]=WARING!!!!;ucharcodetable2[]=THIEFARECOMING;ucharcodetable3[]=SAFETY;ucharcodetable4[]=WELCOMEMASTER;ucharcodetable5[]=*COMEINPLEASE*;sbitIR=P1^3;sbitV=P2^0;第7页共15页sbitLG=P2^1;sbitLR=P2^2;sbitkey=P2^3;sbits=P2^4;sbitf=P1^1;//38k信号发生sbitp=P1^6;voiddelay(intx)//延时函数{inti,j;for(i=x;i0;i--)for(j=110;j0;j--);}voidtx()//中断初始化函数{TMOD=0x01;EA=1;ET0=1;TR0=1;TH0=(65536-6)/256;TL0=(65536-6)%256;}voidlcd_com(ucharcom)//LCD1602命令初始化函数{第8页共15页lcden=0;lcdrw=0;lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}voidlcd_dat(uchardat)//LCD1602数据初始化函数{lcdrs=1;lcdrw=0;P0=dat;delay(5);lcden=1;delay(5);lcden=0;}voidinit(){lcden=0;lcdrw=0;第9页共15页lcd_com(0x38);delay(5);lcd_com(0x0c);delay(5);lcd_com(0x06);delay(5);lcd_com(0x80);}main()//主函数{init();tx();while(1){uinti=0;p=!p;delay(20);V=1;LG=0;LR=1;if(key==1)//正常开门{LR=1;第10页共15页for(i=0;i16;i++){lcd_dat(table3[i]);}lcd_com(0x80+0x40);//换行delay(2);for(i=0;i16;i++){lcd_dat(table4[i]);}delay(2);break;}if(key==0&&IR==0)//非正常开门{LG=0;p=0;while(1){LR=!LR;V=!V;delay(20);for(i=0;i16;i++)第11页共15页{lcd_dat(table1[i]);delay(2);}lcd_com(0x80+0x40);delay(2);for(i=0;i16;i++){lcd_dat(table2[i]);delay(1);}if(s==0)delay(2);if(s==0)break;}}}}txf()interrupt1//中断函数,定时器中断{TH0=(65536-6)/256;TL0=(65536-6)%256;f=~f;}第12页共15页五、总结报告:经过这次的电子产品设计与制作实验,我才真正明白一个产品从概念到成品这一过程是多么的不简单。最开始我的想法是,不加LCD1602模块的,但是如果不加的话自己觉得产品太过于简单,于是我在原来的想法上又自己加以改进,并且我之前没有自学LCD16002的知识,好在我有单片机的资料,自己看教学视频,才慢慢的把LCD1602的部分知识掌握了,仅仅是入门级的,没有学太深。自己的想法有了,然后开始仿真,用的是Proteus软件。我在原来的电路图上加上一个LCD1602模块,通过上网查资料,将LCD1602的电路原理图看明白电路是怎么接的,需要什么器件都非常清楚。查找相关的资料,明白它的工作原理。将电路图接好后,接下来就是要进行代码的编写。因为之前都有查资料,而且我用的是红外对射管,不是热释电红外管,所以在使用对管的时候需要特别注意的是,HS0038红外接收管需要38KHz的信号才可以,否则是不会正常工作的,因此我需要在单片机上自己产生一个38k信号发射引脚,接到红外发射管上,我选择的是p1.1口。HS0038是有3个引脚的,一个电原,一个接地,还有一个是输出引脚,而且它输出的信号的TTL信号,可以直接接单片机的引脚,比较方便。在程序里面我加了一个定时器中断函数,用来产生38k信号,所以在程序里面可以找到中断初始化函数,然后还要一个LCD1602的初始化的程序,因为如果不加初始化的函数,那么LCD1602显示的时候将会出现错误。程序主要的部分几乎就出来了,需要显示的内容我用的是数组,这样可以连续显示。第13页共15页经过自己慢慢的调试,在Proteus上仿真,得到了比较满意的效果。接下来是进行电路原理图的设计,用的是DXP软件,因为之前仿真原理图已经出来了,在设计电路原理图的时候还是比较快的,因为只要按照仿真图进行电路图设计。比较复杂的一项工作就是电路板的设计,因为我们使用的电路板是单层的,所以在设计的时候,不能出现双层的布线,因此最为麻烦的就是布线了,原本打算不自动不显得,因为怕出现多个双层先,后来老师教了我们一点DXP布线的知识,才觉得这个软件功能确实很强大,然后我就自动布线,在布线之前需要将元器件摆好位置,不能随意摆放,不然连出来的线会有很多是断的,不能打印制作电路板。布线布好后,需要调节焊盘和线宽,毕竟是要做出来实物的,所以这方面不能马虎,否则做出来的就是一个废品。经过打印,腐蚀,打孔和焊接等一系列工序后,终于将产品做出来的,最后一步就是实物调试了。不知道怎么回事,我的产品就是调不出来,首先红外对管不工作,但是用遥控器代替红外发射二极管,红外接收管能正常工作,因此,找到不能工作的原因就是发射二极管驱动不够,没有38k信号,我在实验室测试的时候,也发现了,示波器观察P1.1口输出信号是46us的,而我需要的是26us的,实际的要大,所以信号频率就小。遇事我就修改定时器中断的初值,发现不管怎么修改,输出信号永远都是46us的,所以觉得是不是硬件电路没有设计好,后来我决定用遥控器来代替红外二极管