【单片机毕业设计】【mcuclub-cl-015】基于单片机的地铁到站检测的设计
最近设计了一个项目基于单片机的地铁到站检测系统,与大家分享一下:
一、基本介绍
项目名:地铁到站检测
项目编号:mcuclub-cl-015
单片机类型:STC89C52、STM32F103C8T6
具体功能:
1、通过红外光电传感器检测地铁是否到站
2、当地铁到站后,通过TTS语音播报“地铁已到站,请先下后上”
3、当地铁到站后,通过两个步进电机模拟地铁车厢门打开,并计时15s,15s后自动关闭
4、当开门时间快结束时(剩下3s),蜂鸣器报警3次,结束后,车厢门关闭
5、通过两个红外对射管检测防夹
二、51实物图
单片机型号:STC89C52
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
三、51仿真图
仿真软件版本:proteus8.9
电路连线方式:网络标号连线方式
注意:部分实物元器件仿真中没有,仿真中会用其他工作原理相似的元件代替,这样可能导致实物程序和仿真程序不一样
四、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
五、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
六、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
七、系统框图
本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由三部分组成,第一部分是光电传感器检测地铁是否到达;第二部分是红外对射管检测地铁关门时是否检测到人;第三部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分是步进电机,通过步进电机控制地铁门的开关;第二部分是语音播报,检测到地铁到站进行语音播报提醒;第三部分时报警电路,地铁关门前3s中进行报警提醒。具体系统框图如图所示。
八、软件设计流程
系统的主流程图如图所示。在主程序中:首先对各个模块进行初始化,随后进入while主循环,在主循环中,检测到地铁到站进行语音播报,地铁关门前3s进行语音播报提醒,如果前门没有触发防夹,关门,如果触发防夹,开门,如果后门没有触发防夹,关门,如果触发防夹,开门,停留时间还未到达,开门,开门完成之后开定时。
九、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
void Manage_function(void)
{if(CHECK_P == 0) //如果地铁到站{if(flag_broadcast == 0) //播报语音{flag_broadcast = 1;Uart_Sent_Str("地铁已到站,请先下后上");}if(flag_05s >= 24 && flag_05s < 30) //最后三秒蜂鸣器提醒{if(flag_05s % 2 == 0){BEEP = 0;}else{BEEP = 1;}}if(flag_05s >= 30) //如果停留时间到达{BEEP = 1;flag_timer_begin_05s = 0;if(CHECK_IRF == 0) //如果前门没有触发防夹,关门{if(flag_door_1 == 1){flag_bujin_1_c = 1;flag_bujin_1_o = 0;}}else //如果触发防夹,开门{if(flag_bujin_1_c == 1){flag_bujin_1_c = 0;flag_bujin_1_o = 1;}}if(CHECK_IRB == 0) //如果后门没有触发防夹,关门{if(flag_door_2 == 1){flag_bujin_2_c = 1;flag_bujin_2_o = 0;}}else //如果触发防夹,开门{if(flag_bujin_2_c == 1){flag_bujin_2_c = 0;flag_bujin_2_o = 1;}}}else //停留时间还未到达,开门,开门完成之后开定时{if(flag_door_1 == 0){flag_bujin_1_c = 0;flag_bujin_1_o = 1;}if(flag_door_2 == 0){flag_bujin_2_c = 0;flag_bujin_2_o = 1;}if(flag_door_1 == 1 && flag_door_2 == 1){flag_timer_begin_05s = 1;}}}else //地铁没有到站,清除定时、将门关闭{BEEP = 1;flag_broadcast = 0;flag_timer_begin_05s = 0;flag_05s = 0;if(flag_door_1 == 1){flag_bujin_1_c = 1;flag_bujin_1_o = 0;}if(flag_door_2 == 1){flag_bujin_2_c = 1;flag_bujin_2_o = 0;}}
}
【单片机毕业设计】【mcuclub-cl-015】基于单片机的地铁到站检测的设计相关推荐
- 【分享】基于单片机嵌入式的家用智能节水淋浴控制器的设计-基于单片机的电子贺卡控制系统设计-基于单片机的倒计时牌控制系统设计-基于单片机的彩灯控制器系统设计-多模式彩灯-单片机的八路路数字电压表控制设计
1334基于单片机嵌入式的家用智能节水淋浴控制器的设计-全套毕设课设设计资料 三个ds18b20分别采集进水口热水 冷水 和温水的水温,然后分别显示出来,按下开始按键,系统初始化,自动设置出水温度为 ...
- 计算机学院毕业设计题库,2015计算机学院毕业设计(优秀)--一种新型车路无线报站系统的设计与实现题库.doc...
毕业设计 一种新型车路无线报站系统的设计与实现 学 院: 计算机科学技术学院 专 业: 姓 名: 指导老师: 计算机科学与技术 学 号: 职 称: 中国 二○一五年五月 北京理工大学毕业设计 诚信承诺 ...
- 单片机声光电子琴程序流程图_基于单片机的智能家居控制系统毕业设计
次毕业设计主要包括硬件端和软件端,硬件端功能如下: 使用 DS1302 模块产生时钟数据并实现时间和日历实时显示: 使用 DS18B20 模块检测周围环境温度并实时显示: 使用烟雾和光敏传感器模块对房 ...
- 【设计方案分享】基于单片机温度监测监控报警系统设计-基于单片机钞票自动智能识别系统设计-基于单片机乒乓球游戏机控制系统设计-基于单片机温度监测监控报警系统设计-基于单片机矩阵键盘的电子密码锁设计
820基于单片机温度监测监控报警系统设计-设计资料 温度监测器功能描述: 1.主控芯片用的是51单片机(STC89C51). 2.使用温度传感器DS18b20采集温度. 3.用1602液晶显示显示温度 ...
- 基于单片机乒乓球游戏机控制系统设计-基于单片机矩阵键盘的电子密码锁设计-基于单片机温度监测监控报警系统设计-基于单片机钞票自动智能识别系统设计-设计资料【转发分享】
819基于单片机乒乓球游戏机控制系统设计-设计资料下载 乒乓球游戏机设计任务为: (1)使用乒乓游戏机的甲乙双方各在不同的位置发球或击球. (2)乒乓球的位置和移动方向由灯亮及依次点燃的方向决定,球移 ...
- 基于单片机c语言的豆浆机,基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)...
基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)(任务书,开题报告,中期检查表,毕业论文11800字) 摘要 由于市面上的豆浆机不具有长时间保温的功能,打浆完成后残渣很多,而且打浆用时 ...
- 【电路方案】基于单片机智能市电温度控制系统设计-基于单片机RGB颜色智能识别系统设计-基于单片机四路红外遥控开关电路设计-基于单片机自行车自动防盗报警系统设计-基于单片机智能无线病床呼叫系统设计
822基于单片机智能无线病床呼叫系统设计-设计资料下载 硬件构成:单片机+最小系统+LCD1602液晶显示模块+无线收发模块+蜂鸣器模块+LED指示灯模块+按键模块 本设计基于STC89C51/52( ...
- 单片机蜂鸣器编程音乐_基于单片机的智能鱼缸温控系统设计
曹益豪 聊城大学东昌学院机电工程系 山东 聊城 252000 摘 要:为满足热带鱼的饲养要求,设计了一种基于AT89C52单片机的小型智能温控鱼缸系统.该系统利用DS18B20传感器检测水温,并通过 ...
- 基于单片机步进电机ppt答辩_基于单片机的步进电机式汽车仪表的设计(含电路原理图,程序)...
基于单片机的步进电机式汽车仪表的设计(含电路原理图,程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文21000字,程序,答辩PPT) 摘 要 汽车仪表是驾驶者和汽车的交互界面,为驾驶员 ...
最新文章
- 那个14岁上大学、17岁读博、24岁成教授的天才神童,如今怎样了?
- 【转】Matlab中特殊符号的写法
- 20210808 滑模中常见趋近率
- C语言实现了一个顺序表(附完整源码)
- Junit单元测试学习笔记(一)
- 广度优先搜索(BFS)
- 真实不装| 阿里巴巴新人上路指北
- 2021年中国移动游戏行业深度洞察报告
- JAVA企业级快速开发平台,JEECG 3.7.3 新春版本发布
- Quartz学习总结(1)——Spring集成Quartz框架
- 第二:Pytest执行用例规则和Pycharm运行的三种姿态
- 大数据分析必不可少之数据仓库
- OpenCV 实现分水岭算法
- 快速傅里叶变换MATLAB代码实现
- 博途v15 固件升级包_使用博途TIA 15.1对SIMATIC S7-1200进行硬件组态和固件版本在线升级(博途V15和1200学习笔记一)...
- 郑州园博园“私房照”曝光,8月试运营对市民免费开放!这可是咱郑州人家门口的“苏州园林”!...
- ios8 xcode设置launchimage
- linux---任务分配(PBS)
- linux syn 队列,TCP SYN队列与Accept队列详解
- TS中any与unknwon的区别
热门文章
- 大话设计模型 Task02:策略、装饰、代理
- 电机驱动芯片--DRV8824 DRV8825
- 跨域图片资源权限(CORS enabled image)
- TensorFlow实践(16)——tf.enable_eager_execution方法
- BBEdit 12.6.1 FIXED 特别版 Mac 强大的文本和HTML编辑器及汉化工具
- 带变压器和不带变压器的RJ45
- $U_{GSQ}$对共源放大电路电压放大倍数的影响
- magento -- 新会员首次购物免运费的实现思路
- android studio 两个工程 引用同一个库,一个可以,另一个不可以
- 英文面试四——where do you see yourself in five years