本文主要是介绍【单片机毕业设计】【mcuclub-cl-020】基于单片机的电动车防盗的设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近设计了一个项目基于单片机的电动车防盗系统,与大家分享一下:
一、基本介绍
项目名:电动车防盗
项目编号:mcuclub-cl-020
单片机类型:STC89C52
具体功能:
1、通过按键模拟锁车状态,锁车后,继电器断开,模拟锁车
2、在锁车状态下,当检测到有震动,则声光报警,并通过GSM发送短信“车辆异常,请速速查看”
二、51实物图
单片机型号:STC89C52
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
三、51仿真图
仿真软件版本:proteus8.9
电路连线方式:网络标号连线方式
注意:部分实物元器件仿真中没有,仿真中会用其他工作原理相似的元件代替,这样可能导致实物程序和仿真程序不一样
四、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
五、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
六、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
七、系统框图
本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由三部分组成,第一部分是震动检测模块,通过该模块检测当前车辆是否发生震动;第二部分是按键模块,通过该模块进行开关锁;第三部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分是继电器模块,通过该模块进行开关锁;第二部分是报警模块,检测到锁车之后,车辆产生震动,进行声光报警;第三部分是GSM模块,检测到锁车后,车辆产生震动,发送短信提醒用户。具体系统框图如图所示。
八、软件设计流程
系统的主流程图如图所示。在主程序中:首先对各个模块进行初始化,随后进入while主循环,在主循环中,首先进入第一个函数按键函数,该函数主要分为两部分,第一部分为调用按键扫描函数获取按键键值,第二部分通过键值进行相应的处理操作,开关车等;紧接着进入第二个函数处理函数,当检测到有震动,则声光报警,发送短信“车辆异常,请速速查看”。
九、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
void Manage_function(void)
{if(time_num % 100 == 0){ if(RELAY == 1 && SHAKE == 1) //锁车状态下,当检测到有震动,则声光报警,发送短信“车辆异常,请速速查看”{if(flag_dx == 0) {send_msg_chinese("8F668F865F025E38FF0C8BF7901F901F67E5770B"); flag_dx = 1; }flag_beep = 1;}else //否则,停止声光报警,恢复短信发送功能{flag_beep = 0;flag_dx = 0;}}if(flag_beep == 1 && RELAY == 1) {if(time_num % 20 == 0){BEEP = ~BEEP;LED = ~LED; } }else{LED = 1;BEEP = 1; }
}
这篇关于【单片机毕业设计】【mcuclub-cl-020】基于单片机的电动车防盗的设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!