版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电动车防盗报警器设计摘要由于我国社会经济持续不断的发展,电动车己经变成了人们日常出行一种非常重要的交通工具,但电动车被偷盗案件却经常发生,因此,电动车的车辆安全问题成为人们持续关注的焦点之一。基于GSM技术的电动车防盗报警系统,可以有效改善电动车防盗功能,以满足人们对电动车的安全需求。本论文设计了一款基于STC51单片机的电动车防盗报警器系统。传统的电动车防盗装置存在着一些缺陷,比如预防被盗困难、被盗后报案难、追回车辆难等问题。为了解决这些问题,本设计采用了震动防盗报警器,并使用STC51单片机进行系统控制。通过SW-18010P型震动开关作为传感器,实现对电动车的振动信号的监测和反馈,并通过LED和蜂鸣器显示系统当前的工作状态。同时,使用希姆通公司的SIM900a作为GSM模块,用于发送报警信息。本系统能够及时感知电动车的振动信号并触发报警功能,通过GSM模块将报警信息以短信形式远程发送到预设的手机号码中,减少用户损失。实验证明,该系统功能稳定可靠,适用于电动车防盗报警装置。关键词:单片机;GSM;震动感应;防盗报警器
目录第1章绪论 第1章绪论研究目的及意义本论文的研究目的是设计一种电动车防盗报警器系统,旨在解决传统电动车防盗装置存在的问题,并提供一种有效的防盗解决方案。电动车的盗窃问题日益严重,传统的防盗装置往往存在一定的缺陷,无法有效防止电动车的被盗。因此,研究和设计一种可靠的电动车防盗报警器系统具有重要意义。提高电动车防盗效果:通过设计防盗报警器系统,可以及时感知电动车的振动信号并触发报警,有效防止电动车被盗。这有助于保护用户的财产安全,提高电动车的防盗能力。提升报警信息传输效率:采用GSM模块发送报警信息,可以快速将报警信息以短信形式发送到预设的手机号码。这样,用户可以在第一时间收到报警信息,采取相应的措施,提高追回被盗电动车的机会。创新防盗解决方案:本论文设计的电动车防盗报警器系统运用了新颖的震动传感器和单片机控制技术的理念,结合GSM模块进行报警信息传输。这种创新的设计方案为电动车防盗领域提供了新的解决思路,具有一定的技术和应用价值。推动电动车防盗技术发展:本研究的成果有助于推动电动车防盗技术的发展,为相关领域的研究和工程实践提供参考。通过改进和完善防盗报警器系统,可以不断提高电动车的安全性和防盗能力,促进电动车行业的可持续发展。综上所述,本论文的研究目的在于设计一种有效的电动车防盗报警器系统,以提高电动车的防盗能力,并具有推动电动车防盗技术发展的重要意义。国内外研究现状毕杨、郭少祖在2019年的论文中提出了一种基于单片机的电动车震动防盗报警器装置设计。他们采用震动传感器和单片机控制器,通过判断电动车的震动信号触发报警功能,并通过蜂鸣器和LED指示灯提示报警状态。朱贵宪在2019年的论文中介绍了一种电动车用的新型防盗报警器的设计。该设计结合了加速度传感器和单片机控制技术,能够及时检测到电动车的震动,并通过蜂鸣器和LED灯进行报警提示。李峥等人在2020年的论文中提出了一种基于单片机的电动自行车无线防盗报警器。他们采用无线通信技术,将震动传感器的信号通过无线方式传输到报警器控制器,实现远程报警功能。B.Hu等人在2020年的论文中介绍了一种多区域无线防盗报警系统的设计。该系统采用了无线传感器网络技术,能够覆盖多个区域,并通过中心控制器对各个区域的报警信号进行监测和处理。YimeiLiu和WeishengZheng在2021年的论文中提出了一种基于GSM消息模块的家庭防盗报警系统的设计。该系统利用GSM模块将报警信息以短信形式发送到用户手机,实现了远程报警和实时通知的功能。GuoXue-bin在2019年的论文中研究了山西省北部地区农田防护林的功能和结构。虽然与电动车防盗报警器设计不直接相关,但提供了关于农田防护的信息和研究成果。综上所述,国内外已经有一些关于电动车防盗报警器的研究和设计工作,其中主要涉及传感器技术、单片机控制、无线通信和报警信息传输等方面。这些研究成果为本论文的设计提供了借鉴和参考,同时也反映了该领域的研究热点和趋势。主要研究内容基于当前电动车和电瓶容易遭受盗窃的问题,本研究以单片机为核心,结合声光报警电路、GSM通信模块、位移传感器和语音播报模块等外围电路,成功的设计并实现了一种新颖的电动车防盗报警系统。和传统的电动车报警器对比,新系统解决了传统报警器容易虚报警导致扰民和环境噪声污染等问题。最重要的是,该系统采用语音和声光警示,能够科学有效遏制盗窃行为,减少人们的经济损失。通过对软硬件进行调试,结果显示该报警系统操作简单、性能良好,具有广泛的实用价值。
第2章系统的总体结构2.1设计方案遥控器与主机的无线通信:系统使用无线通信技术,通过遥控器与主机进行信号传输和控制。无线通信可以采用常见的无线协议,如RF、Bluetooth或Wi-Fi等。遥控器上的按键功能:遥控器上设置有3个按键,作用分别是布防、撤防和报警提示。车主可以通过按下相对应的按键来控制系统的状态以及功能。布防状态下的震动感应检测与报警:当用户按下布防键后,主震动感应板的震动传感器开始检测电动车的震动信号。一旦检测到有震动信号,相对应的LED灯亮起,蜂鸣器开始响起报警。报警持续一小段时间(约半分钟),然后停止报警。且用户也可以通过撤防键取消报警。短信提示用户:在布防的状态下,当主板检测到震动信号并触发声光报警时,GSM模块会向预设的手机号码发送短信,提示车主有人对电动车进行非法操作。车主能够及时收到警报信息,并采取对应的措施。继电器的控制功能:设备中的继电器可以模拟切断发动机的电源,防止盗窃者通过撬动钥匙孔盗取电动车。当系统处于布防状态并检测到非法震动时,继电器可以自动切断发动机电源,阻止车辆的启动。通过以上设计方案的实施,系统能够实现遥控器与主机之间的无线通信,具备布防、撤防和报警提示的功能。在布防状态下,系统可以检测到震动信号并进行相应的报警,同时通过GSM模块发送短信提示车主。此外,继电器的控制功能可以增加对电动车的物理防护,提高防盗能力。2.2功能需求分析2.2.1技术路线(1)硬件部分需要STC89系列单片机、SIM800L、蓝牙远程APP模块(2)软件平台程序用keil5;(3)画原理图用AD;(4)编程语言用C语言;(5)用户信息显示查看;2.2.2预期结果(1)遥控器与主机采用无线的方式进行通信;(2)遥控器上3个按键,功能分别是布防、撤防和紧急报警提示;(3)按下布防键,主板的震动传感器检测震动,当检测到有震动传感信号时,相对应的LED灯亮起来,蜂鸣器响开始报警。约半分钟后停止报警,也可以通过按下撤防按键取消报警;(4)布防状态下,检测到有震动信号报警时,GSM模块会给手机发送短信提示用户;(5)设备的继电器也可以模拟切断发动机的电源,防止偷盗者通过撬动钥匙孔盗车;2.3总体方案设计第一:理论知识准备阶段,理解设计课题,认真研究课题所涉及到的内容,并能够较好的掌握相关题目的知识;第二:确定系统的各个模块,理清各个模块之间的关系,并收集相关得到软硬件资料;第三:规划课题,确定系统组成的结构,勾画出系统大体框架并在结构框架的基础上提出原理框图;第四:利用软件完成硬件电路部分的设计并且画出各部分的电路图,将系统部件通过接口电路集合在一起,并画出电路图;第五:根据系统控制过程完成软件设计部分,绘制出主流程图;第六:进行模拟仿真,检查系统是否能够按照预先要求实现控制功能,最后整理论文。2.4单片机型号选择STC89C52是STC(深圳市英科微电子有限公司)系列单片机的一员,它基于8051内核,并具有较高的性能和丰富的外设功能。以下是选择STC89C52单片机的几个优点:处理能力:STC89C52单片机具有12MHz的工作频率,可提供较高的处理能力,能够快速响应传感器信号和进行复杂的逻辑控制。存储容量:STC89C52单片机具有8KB的闪存和256B的RAM,可满足一般嵌入式系统的存储需求。同时,STC89C52还支持外部扩展存储器,可以进一步扩展存储容量。IO口数量:STC89C52单片机具有32个可编程IO口,可以连接传感器、控制器和通信模块等外部设备,满足系统的输入输出接口需求。通信接口:STC89C52单片机支持多种通信接口,如UART、SPI和I2C等。这使得它能够方便地与其他外部设备进行通信,满足系统与GSM模块等通信需求。开发工具支持:STC提供了完善的开发工具链,包括编译器、调试器和开发环境。开发者可以使用STC官方提供的开发工具进行软件开发、调试和测试,提高开发效率。综上所述,选择STC89C52单片机作为主控制芯片是合理的,它具备较高的处理能力、适当的存储容量、丰富的IO口数量和通信接口,同时具备良好的开发工具支持,能够满足电动车防盗报警器系统的设计需求。最小系统原理图如图所示。图2.4STC89单片机原理图
第3章系统的硬件部分设计3.1系统的总体设计主控制模块:主控制模块采用STC89C52单片机作为核心控制器,负责接收传感器信号、控制报警和与通信模块进行通信。它包括主控制板、外部晶振和相应的电源电路。传感器模块:传感器模块用于检测电动车的状态和环境参数。主要包括震动传感器、光敏传感器、温度传感器等。这些传感器将感知到的信号通过引脚连接到主控制模块。报警模块:报警模块包括声光报警电路和蜂鸣器。当主控制模块检测到非法震动或其他异常情况时,触发报警模块,发出声音和光亮的警报,以吸引注意力和警示周围的人员。通信模块:通信模块采用GSM模块(如SIM900a)进行与手机的通信。它与主控制模块通过串口或其他适当的通信接口连接,用于发送报警信息给预设的手机号码。电源模块:电源模块负责为整个系统提供稳定的电源供应。它包括电池或其他电源模块、电源管理电路和相应的电源连接。继电器控制模块:继电器控制模块用于模拟切断电动车的发动机电源,以防止非法启动。它与主控制模块连接,并通过控制继电器的开关状态来控制电动车发动机的电源。以上硬件模块通过连接线路和插座进行连接和固定,形成一个完整的电动车防盗报警器系统。在总体设计中,需要考虑硬件模块之间的适当布局和连接方式,以确保信号的稳定传输和系统的正常运行。图3.1总体原理图
3.2系统的主要功能模块设计3.2.1震动传感器模块设计震动传感器选择:选择一款合适的震动传感器用于检测电动车的震动信号。常见的震动传感器有SW-18010P型震动开关等。该型号震动开关具有灵敏度高、响应迅速的特点,适合用于电动车防盗报警器系统。连接电路设计:将震动传感器与主控制模块相连接。一端连接到主控制模块的IO口,另一端连接到电源电路。可以使用电阻和电容等元件来实现合适的电路连接和防护。通过主控制模块的IO口读取传感器的输出信号。灵敏度调节:根据实际需求和环境情况,对震动传感器的灵敏度进行调节。可以通过调整电路中的元件或软件中的参数来实现。确保在合适的灵敏度范围内,能够准确地检测到非法震动信号。防误报处理:在设计中考虑到可能的误报情况,采取相应的处理措施。例如,可以设置一个延时功能,仅在连续震动信号持续一定时间后才触发报警,以排除短暂震动引起的误报。引脚连接和布局:在硬件设计中,合理安排震动传感器模块的引脚连接和布局。确保连接稳定可靠,信号传输畅通,并与其他硬件模块进行适当的连接和固定。原理图如下。图3.2.1震动传感器原理图3.2.2SIM800L短信模块设计模块连接:将SIM800L模块与主控制模块进行连接。主控制模块需要提供相应的串口接口(如UART)用于与SIM800L进行通信。确保连接稳定可靠,并注意信号引脚的正确连接。电源供应:为SIM800L模块提供稳定的电源供应。SIM800L通常需要3.7V至4.2V的电源电压。可以使用电池或其他合适的电源模块,并考虑到模块的功耗和电流需求。串口通信设置:通过主控制模块与SIM800L模块进行串口通信。根据SIM800L的通信协议和数据手册,设置合适的波特率、数据位、停止位和校验位等参数。确保主控制模块能够与SIM800L模块进行正常的数据交互。AT指令控制:使用主控制模块通过串口发送AT指令来控制SIM800L模块的操作。AT指令是SIM800L模块的通信协议,用于发送短信、接收短信和进行其他通信功能。编写相应的AT指令序列,实现发送报警信息的功能。短信发送功能:根据系统的需求和报警条件,通过主控制模块发送相应的AT指令,触发SIM800L模块发送短信给预设的手机号码。可以将报警信息和相关参数封装为短信内容,确保信息的准确传递。错误处理和状态检测:在设计中考虑到SIM800L模块可能出现的错误和异常情况。通过检测模块的返回信息或通过相应的AT指令查询模块状态,进行错误处理和状态检测,确保短信发送功能的可靠性和稳定性。原理图如下。图3.2.2SIM800L原理图3.2.3接收模块与遥控模块设计SC2272是与SC2262配对使用的一款通用遥控解码集成电路。是采用CMOS工艺制造,它最大拥有12位的三态地址管脚,可支持多达531441(或312)个地址的编码。因此极大的减少了码的冲突和非法对编码进行扫描以使之匹配的可能性。特点工作电压范围宽(Vcc=2~12V)、低功耗和较强的噪声抑制能力、最大设置为12位三态地址管脚或6位数据管脚、外接双端电阻的振荡器、数据输出有锁存和瞬态两种输出类型。原理图如下。图3.2.3接收模块和遥控部分原理图3.2.4蜂鸣器模块设计蜂鸣器选择:选择适合的蜂鸣器用于发出报警声音。常见的蜂鸣器有无源蜂鸣器和有源蜂鸣器两种类型。根据系统的需求和声音的要求,选择合适的蜂鸣器型号。连接电路设计:将蜂鸣器与主控制模块进行连接。一端连接到主控制模块的IO口,另一端连接到电源电路。可以使用电阻和电容等元件来实现合适的电路连接和驱动。报警声音控制:根据系统的需要,通过主控制模块对蜂鸣器进行控制,发出相应的报警声音。可以通过改变IO口的电平或频率来控制蜂鸣器的声音类型和持续时间。声音警示设计:考虑到报警声音的效果和警示作用,设计合适的声音模式。可以设置不同的报警声音模式,如连续鸣叫、间歇鸣叫、变频鸣叫等,以吸引注意力并警示周围的人员。声音控制灵敏度:根据实际需求和环境情况,对蜂鸣器的声音控制灵敏度进行调节。可以通过调整电路中的元件或软件中的参数来实现。确保在合适的灵敏度范围内,能够发出清晰、响亮的报警声音。引脚连接和布局:在硬件设计中,合理安排蜂鸣器模块的引脚连接和布局。确保连接稳定可靠,信号传输畅通,并与其他硬件模块进行适当的连接和固定。通过以上设计要点,可以实现电动车防盗报警器系统中的蜂鸣器模块。它能够根据系统的控制信号,发出相应的报警声音,以吸引注意力并警示周围的人员。同时,要注意声音控制的灵敏度和声音警示的设计,以提高系统的可靠性和警示效果。其原理图为:图3.2.4蜂鸣器模块设计
第4章系统的软件部分设计4.1软件的主要流程初始化:在系统启动时,进行必要的初始化操作,包括配置IO口、设置定时器、初始化串口通信等。确保系统各个模块正常工作。监测按键:通过读取遥控器上的按键状态,监测用户的操作。判断按键状态,例如布防按键、撤防按键和报警提示按键的状态。布防操作:如果检测到布防按键被按下,启动布防操作。此时开始监测震动传感器的信号,当检测到非法震动时触发报警。震动监测:当系统处于布防状态时,不断监测震动传感器的信号。如果检测到非法震动信号,触发报警操作。报警处理:当报警条件满足时,触发报警处理。发出报警声音通过蜂鸣器,同时通过SIM800L模块发送短信给预设的手机号码。报警停止:在报警触发后,设定一个延时时间,在此时间内保持报警状态。在延时时间结束后,停止报警声音,但仍保持布防状态。撤防操作:如果检测到撤防按键被按下,执行撤防操作。此时停止报警状态,关闭报警声音,并将系统设置为撤防状态。系统状态监测:在布防或撤防状态下,持续监测系统的状态。根据状态改变LED灯的亮灭,显示系统当前的工作状态。循环检测:通过一个主循环,不断检测按键状态和传感器信号,根据不同的情况执行相应的操作。确保系统持续监测和响应用户的操作和报警情况;总体流程图如下。图4.1总体流程图
4.2震动传感器模块软件设计当系统初始化完成后,开始正常工作。上位机选择布防模式,震动传感器开始工作,若检测到有震动,则发送给单片机,单片机控制系统亮灯、报警并发送短信给上位机,执行相应功能。流程如下。图4.2震动传感器工作流程图
4.3SIM800L短信模块软件设计当系统初始化完成后,开始正常工作。若开启布防状态,如果检测到震动,则单片机控制SIM800L短信模块给上位机发送短信,以提醒车主。流程图如下。图4.3短信模块流程图
4.4遥控和接受模块软件设计当单片机初始化完成后,开始正常工作。上位机中的遥控模块可以使下位机的接受模块收到布防、撤防、报警三个状态,还可以在报警状态时切断下位机电源。流程图如下。图4.4遥控和接收模块流程图
4.5蜂鸣器模块软件设计当系统初始化完成后,开始正常工作。若是布防状态,当检测到震动时,单片机控制蜂鸣器电路工作起到报警作用;上位机也可以直接选择报警模式使蜂鸣器工作。流程图如下。图4.5蜂鸣器模块软件设计
第5章系统测试5.1系统实物图图5.1系统元器件摆放和引脚焊接图5.2测试原理图5.2绿黄灯同时点亮代表正在初始化接通电源后,按下开关,绿灯黄灯同时亮起,外界电路部分闭合,电路进入布防状态,GSM短信模块红灯闪烁,频率每秒一闪。大约二十秒过后黄灯绿灯同时熄灭,GSM模块红灯闪烁频率变为三秒一闪,代表模块已经接收到信号,可以正常接受和发送报警信号。图5.3检测到震动,蜂鸣器工作,灯闪亮,上位机收到短信轻轻敲动震动面板,蜂鸣器发出报警报警灯闪烁并向上机位发送报警短信,且会断开外接电路,报警持续时间约20秒。超过时间自动解除报警,蜂鸣器与报警灯停止工作但外接电路仍保持断开状态知道下次布防开始,也可通过上机位控制中断报警状态和恢复布防状态。图5.4按下第二个按键撤防,系统回归正常除了通过上机位控制外,按下遥控模块的第二个按键也可以实现布防状态下撤防以及报警状态下撤防。图5.5按下第三个按键报警,系统进入报警状态遥控模块第三个按键可在紧急状态下按下进入紧急报警状态,现象为蜂鸣器报警,两个报警灯同时闪烁,断开外接电路并发送报警短信至上机位
第6章总结与展望6.1总结在整个设计过程中,该系统利用不同的LED及蜂鸣器显示系统当前的工作状态,并采用SIM900aGSM模块发送报警信息。相比传统的防盗装置,该系统解决了预防被盗难、报案难、追回车辆难等问题,提供了更有效的防盗手段。在研究现状分析中,探讨了国内外相关研究成果,发现了传统防盗装置存在的问题和不足之处,为本系统的设计提供了参考和依据。在系统设计中,通过选用STC51单片机作为主控制器,结合声光报警电路、GSM通信模块、位移传感器和语音播报模块等外围电路,实现了防盗报警系统的设计。系统具备布防、撤防和报警提示等功能,能够检测震动信号并及时触发警报,并通过GSM模块发送短信通知车主。通过硬件部分设计和软件编程,实现了电动车防盗报警器系统的各项功能,并进行了相应的调试和测试。测试结果表明,该系统操作简单、性能良好,具有较高的实际应用价值。本论文的研究目的是为了提供一种高效、可靠的电动车防盗报警解决方案,减少人们经济损失和便利性,从而保护车辆安全。该系统具有良好的实用性和推广价值,对于解决电动车防盗问题具有一定的实际意义。然而,本系统仍存在一些改进的空间,例如进一步优化报警声音和报警信息的处理,增加更多的防盗功能等。未来可以进一步深入研究和完善,以满足不断变化的防盗需求。6.2展望强化防盗功能:未来可以进一步研究和引入更高级的防盗功能,例如使用GPS定位模块实现车辆实时定位和追踪,或者引入图像识别技术来检测异常情况。增加远程控制功能:目前的系统主要依靠遥控器进行操作,可以考虑引入手机应用或者云平台,实现远程控制、监控和管理功能,提供更便捷的用户体验。提高系统稳定性和可靠性:对系统的硬件和软件进行进一步优化,以提高系统的稳定性和可靠性,减少误报和故障的发生。考虑能耗和节能问题:在系统设计中,可以注重节能和低功耗的设计,以延长电池寿命和减少能耗。用户友好性的提升:对用户界面和操作流程进行改进,使系统更加用户友好和易于使用,同时提供清晰的指示和操作指导。综上所述,未来的研究可以从提升防盗功能、增加远程控制功能、提高系统稳定性和可靠性、考虑能耗和节能问题,以及提升用户友好性等方面展开。这些改进将进一步提升电动车防盗报警器系统的性能和实用性,满足用户对安全性和便捷性的需求,并为电动车防盗领域的发展做出贡献。
参考文献[1]曲家骇,王季秩,伺服控制系统中的传感器[M].机械工业出版社.2020[2]张友德,赵志英,涂时亮,单片机微机原理,应用与实验[M].上海:复旦大学出版社,2021:122-136[3]王竞慧,余湛,李瑛.沉浸式姿态显示器设计和参考格式对异常飞行姿态恢复绩效的影响[A].中国心理学会.第二十二届全国心理学学术会议摘要集[C].中国心理学会:中国心理学会,2022:2.[4]谢自美.电子线路设计.实验.测试[M].武汉:华中科技大学出版社,2021:212-230[5]张福学。传感器使用电路150例.中国技术出版社[M].2020[6]邬宽民.单片机外围器件实用手册,数据传输接口器件分册.北京.北京航空航天大学出版社.2021:189-195[7]王贵悦.新编传感器实用手册.水利电力出版社.2020:67-89[8]马渊.电气自动化控制中应用单片机的实践分析[J].数字技术与应用,2020,38(05):11[9]赵玉冬,黄亚坤,赵松.一种机载曲面液晶显示器设计[J].电子机械工程,2021,37(05):40-43.[10]李国龙.加固液晶显示器设计[J].现代工业经济和信息化,2021,11(09):35-36.[11]王妮娜.工业设计色彩基础[M].沈阳.辽宁科学技术出版社.2022.[12]赵春华.可编程控制器及其工程应用[M].武汉:华中科技大学出版2022.02[13]唐守锋,童敏.检测与转换技术[J].徐州:中国矿业大学出版社,2022[14]王潇潇.北京与华沙公共建筑无障碍设施比较研究[D].北方工业大学,2020.[15]洪志强.浅谈电力设备状态检修技术研究综述[J].装备维修技术,2020(02):297+315.[16]黄佩佳,何立明.电机可靠性影响因素研究[J].防爆电机,2019,54(04):61-67.[17]杜学明,张涛,李岩峰,孙腾飞.电机状态检测与健康管理探讨[J].石化技术,2020,27(12):243-245+253.[18]周封,吕金贵,李隆,刘健.智能电机故障诊断分析及预警系统设计[J].信息与控制,2017,46(06):738-745.[19]杜学明,张涛,李岩峰,孙腾飞.电机状态检测与健康管理探讨[J].石化技术,2020,27(12):243-245+253.[20]HELENAFERNANDEZLOPEZ,JOSEA.AFONSO,J.H.CORREIA,etal.Towardsthedesignofefficientnonbeacon-enabledZigBeenetworks[J].Computernetworks,2021,11(11).[21]Automaticsafemotioncontrolsystemforarobotimanipulator[J].V.A.Kartashev,V.V.Safronov.JournalofComputerandSystemsSciencesInternet.2021(2)[22]K.D.Joshi,B.W.Surgenor.SmallPartsClassificationwithFlexibleMachineVisionandaHybridClassifier[C]2022[23]ShuiquanZHU.AnalysisoftheApplicationofElectronicEngineeringTech-nologyinSingleChipMicrocomputer,2020,1(2).[24]HuiWang.OptimalDesignofSingleChipMicrocomputerMultimachineSerialCommunicationbasedonSignalVerificationTechnology[J].Science,2020,9
注释电路图源代码#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#include"eeprom51.h"sbitSOS = P1^2;//测试sbitbufang = P1^4;//布放按键sbitchefang= P1^3;//撤防sbitbaojing= P1^1;//蜂鸣器sbitjdq=P1^0; //继电器sbitled1=P2^0;sbitled2=P2^1;sbitsos1=P2^6;//第一路报警sbitsos2=P2^4;//第二路报警bitSOS_SEND=0;#defineRsBuf_N 250unsignedcharxdataRsBuf[RsBuf_N]; //定义串口接收数据缓冲区uintRsPoint; bitchange_OK=0; //修改号码成功标志位chardianhuahaoma[12];//接收号码暂存区chardianhuahaoma_old[12];//旧接收号码暂存区bitbdataflag,flag1;//flag布防标志,flag1布防倒计时标志uchart,t1;unsignedintjs; //定时器专用变量uchara_a; //判断是否是新单片机(或内部EEPROM清空)/******************把数据保存到单片机内部eeprom中******************/voidwrite_eeprom(){ ucharwrite_num; SectorErase(0x2000);//擦除第一扇区 for(write_num=0;write_num<11;write_num++) byte_write(0x2000+write_num,dianhuahaoma[write_num]); //分别写进去 byte_write(0x2060,a_a); //eeprom标志}/******************把数据从单片机内部eeprom中读出来*****************/voidread_eeprom(){ ucharread_num; for(read_num=0;read_num<11;read_num++) dianhuahaoma[read_num]=byte_read(0x2000+read_num); //选中地址 a_a=byte_read(0x2060);} /**************开机自检eeprom初始化*****************/voidinit_eeprom(){ ucharinit_num; read_eeprom(); //先读 if(a_a!=1) //新的单片机初始单片机内问eeprom { for(init_num=0;init_num<11;init_num++) dianhuahaoma[init_num]='0'; a_a=1; write_eeprom(); //保存数据 } }voiddelay(uintx) //延时函数1ms{ uinti1,j1; for(i1=0;i1<x;i1++) for(j1=0;j1<110;j1++);}voidSendASC(uchard){ SBUF=d; while(!TI); TI=0;}//通讯中断接收程序中断函数无返回值voiduart_rx(void)interrupt4 using3 //放在这里和放在main()里面是一样的{ ES=0; if(RI)//必须判断RI是否为1{ RI=0; RsBuf[RsPoint++]=SBUF; if(RsPoint>=RsBuf_N) RsPoint=0;} ES=1;}//=====================================================================================//=====================================================================================//=====================================================================================/**********************************************************************C51中字符串函数的扩充***函数名称:strsearch()**函数功能:在指定的数组里连续找到相同的内容**入口参数:ptr2=要找的内容,ptr1当前数组****出口参数:0-没有找到>1查找到*********************************************************************/ucharstrsearch(uchar*ptr2,uchar*ptr1_at)//查字符串*ptr2在*ptr1中的位置//本函数是用来检查字符串*ptr2是否完全包含在*ptr1中//返回:0没有找到//1-255从第N个字符开始相同{ uinti2,j2,k2; if(ptr2[0]==0)return(0); for(i2=0,j2=0;i2<RsBuf_N;i2++) {if(ptr1_at[i2]==ptr2[j2]){//第一个字符相同 k2=i2; do{ if(ptr2[j2]=='\0')//比较正确 return(i2+1);//返回值是整数,不含0 if(ptr1_at[k2]!=ptr2[j2])break; k2++;j2++; }while(k2<RsBuf_N); j2=0;} } return(0);}voidSendString(uchar*str) { while(*str) { SendASC(*str); str++; }}voidGSM_work(){ unsignedcharsend_number; unsignedcharp,j; //判断是否可以发送信息 bitregain; //进入此函数后定时器状态保存变量 if(TR0==1) //定时器打开状态 { TR0=0; //暂时关闭定时器 regain=1; //定时器状态保存变量置1 } //关闭定时器 baojing=1; //关闭蜂鸣器 SendString("AT+CMGF=1\r\n"); //设置文本模式 delay(1000); //延时,让GSM模块有一个反应时间 SendString("AT+CSCS=\"UCS2\"\r\n"); //设置短信格式,发送汉字模式 delay(1000); //延时 for(j=0;j<RsBuf_N;j++) { RsBuf[j]=0; } RsPoint=0; SendString("AT+CSMP=17,0,2,25\r\n"); //设置短信文本模式参数(具体内容参考开发资料内的模块资料) delay(100); //延时 p=0; p=strsearch("OK",RsBuf); //返回OK if(p!=0) { SendString("AT+CMGS="); //信息发送指令AT+CMGS=// SendASC('"'); //引号 for(send_number=0;send_number<11;send_number++) //在每位号码前加003 { SendASC('0'); SendASC('0'); SendASC('3'); if(change_OK==0) SendASC(dianhuahaoma[send_number]); //接收手机号码 else SendASC(dianhuahaoma_old[send_number]); //旧接收手机号码 } SendASC('"'); //引号 SendASC('\r'); //发送回车指令// SendASC('\n'); //发送换行指令// delay(1000); //延时 if(change_OK==0) //不是修改号码或修改号码失败 { if(SOS_SEND==1) //紧急报警按键按下 { SendString("8BF76CE8610FFF0C7D2760256309952E88AB63094E0BFF01"); //请注意,紧急按键被按下! } else //不是紧急按键按下 { SendString("8F668F8667095F025E38FF0C8BF76CE8610FFF01");//车辆有异常,请注意 } } else //修改号码成功 { SendString("53F778014FEE65396210529FFF0C65B053F778014E3AFF1A"); //号码修改成功,新号码为: for(send_number=0;send_number<11;send_number++) //在每位号码前加003 { SendASC('0'); SendASC('0'); SendASC('3'); SendASC(dianhuahaoma[send_number]); //新接收手机号码 } } delay(1000); //延时 SendASC(0x1a); //确定发送短信 delay(1000); //延时 } if(regain==1) //发送完函数,如果发送短信之前定时器是打开的 { regain=0; //清零 TR0=1; //继续打开定时器 }}//========处理短信=========voiddeal() { uintp,j3,i3; delay(1000); p=strsearch("+CMTI",RsBuf); if(p!=0) { p=0; for(j3=0;j3<RsBuf_N;j3++) { RsBuf[j3]=0; } RsPoint=0; delay(1000); SendString("AT+CMGL="); SendASC('"'); SendString("RECUNREAD"); SendASC('"'); SendASC(','); SendASC('0'); SendASC('\r'); SendASC('\n'); i3=0; delay(1000); i3=strsearch("+CMGL",RsBuf); if(i3!=0) { p=0; i3=0; i3=strsearch("4FEE653953F778010031003300310034003200300023",RsBuf); //修改号码131420# // if(i3!=0) { for(j3=0;j3<11;j3++) dianhuahaoma_old[j3]=dianhuahaoma[j3]; //把旧接收号码暂存,修改号码成功后要给旧手机号发送修改成功短信 dianhuahaoma[0]=RsBuf[i3+46]; //i是上面判断修改密码在接收到数据包的位置,+46得到手机号的第一位,下同 dianhuahaoma[1]=RsBuf[i3+50]; //手机号的第二位 dianhuahaoma[2]=RsBuf[i3+54]; dianhuahaoma[3]=RsBuf[i3+58]; dianhuahaoma[4]=RsBuf[i3+62]; dianhuahaoma[5]=RsBuf[i3+66]; dianhuahaoma[6]=RsBuf[i3+70]; dianhuahaoma[7]=RsBuf[i3+74]; dianhuahaoma[8]=RsBuf[i3+78]; dianhuahaoma[9]=RsBuf[i3+82]; dianhuahaoma[10]=RsBuf[i3+86]; write_eeprom(); //将号码写入单片机内部EEPROM change_OK=1; //号码修改成功标志置1 i3=0; //i清零 } } delay(1000); SendString("AT+CMGD=1,3\r\n"); delay(1000); if(change_OK==1) //号码修改成功标志为1 { GSM_work(); //号码修改成功,发送成功短信到新号码 change_OK=0; //清零 } }} voidkongzhi() //控制函数{ if((bufang==1)&&(flag==0)) //在报警等待时按下布防键 { delay(10); if((bufang==1)&&(flag==0)) { t=0; t1=0; //清零计时器 TR0=1; //打开计时器 baojing=0; led1=0; led2=0; delay(500); baojing=1; led1=1; led2=1; } } if(flag==1&&TR0==0) //报警按键按下 { if(sos1==0||sos2==0) { if(sos1==0) led1=0; if(sos2==0) led2=0; jdq=1; flag1=1; //蜂鸣器鸣响 GSM_work(); TR0=1; //开启定时器 } } if((flag==1)&&(SOS==1)) //报警按键按下 { flag1=1; //蜂鸣器鸣响 led1=0; led2=0; jdq=1; SOS_SEND=1; GSM_work(); SOS_SEND=0; TR0=1; //开启定时器 } if(chefang==1) //撤防键按下 {
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国禽饲料行业行业竞争态势及投资前景预测研究报告(2024-2030版)
- 中国碳酸二甲酯(DMC)行业发展形势及投资潜力分析研究报告(2024-2030版)
- 中国硫普罗宁行业发展动态及应用趋势预测研究报告(2024-2030版)
- 2024年中国女装单鞋市场调查研究报告
- 中国瑜伽运动裤行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 中国烟用接装纸行业竞争动态及需求规模预测研究报告(2024-2030版)
- 中国液压驱动选择阀行业发展动态与应用趋势预测研究报告(2024-2030版)
- 电脑绘画课程设计
- 高校教学大赛课程设计
- 建筑运维管理课程设计
- CA码生成原理及matlab程序实现
- 国家开放大学《电气传动与调速系统》章节测试参考答案
- 须弥(短篇小说)
- 旋风除尘器设计与计算
- 《装配基础知识培训》
- 出口退税的具体计算方法及出口报价技巧
- PCB镀层与SMT焊接
- Unit 1 This is my new friend. Lesson 5 课件
- 2019年青年英才培养计划项目申报表
- 芳香油的提取
- 企业人才测评发展中心建设方案
评论
0/150
提交评论