• 【毕业设计】1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文)



    typora-root-url: ./

    【毕业设计】1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文)

    任务书

    以动车组作为研究对象,对城市轨道交通列车超速防护系统展开分析与设计。基于单片机实现城市轨道交通列车超速防护系统的设计。 1、画出控制系统原理框图,对其进行说明。 2、完成控制系统的硬件电路原理图设计。 3、进行软件设计并调试仿真,达到相应的控制要求。

    原理图工程文件
    PCB工程文件
    仿真模型工程文件
    源代码工程
    答辩论文低重复率文档,22404字
    英文文献及翻译
    任务书

    设计说明书

    摘要

    本次设计城市轨道交通列车超速保护系统装置,根据当前的背景研制出一款可以实现时间显示,实时速度显示,公里数显示,并可以通过阈值调节实现设定速度报警的功能。系统设计流程为系统方案确认,电路原理图设计,程序流程设定,程序编写,仿真电路搭建,测试。设计过程均以模块化方式设计,在硬件电路设计过程中构成有蜂鸣器,液晶显示器,时钟芯片DS1302、电源、单片机最小系统共同组成一个硬件电路,在软件部分通过对系统的软件流程绘制,驱动编写,并且实现最终的软件框架。再通过模块化方式对系统程序进行设计,最后通过仿真软件对当前电路软件进行测试。验证了系统预期功能并提出改进方案设想预期功能,系统设计综合全部完成。

    设计框架架构

    前 言 1
    第一章 绪论 2
    第一节 研究背景 2
    第二节 研究意义 2
    第三节 本文的主要研究内容 3
    第四节 本章小结 4
    第二章 系统整体方案设计 5
    第一节 系统方案概述 5
    第二节 系统整体方案 5
    第三节 元器件选择 6
    一、主控芯片选择 6
    二、显示器示方案选择 6
    三、报警元件选择 8
    第四节 测速方案 8
    一、频率的测量方法 9
    二、速度的实现 10
    第五节 本章小结 11
    第三章 系统硬件电路设计 12
    第一节 单片机介绍 12
    一、单片机芯片介绍 12
    二、单片机最小系统电路设计 14
    第二节 测速电路设计 15
    第三节 按键及电源电路设计 16
    第四节 液晶显示电路设计 17
    第五节 存储电路设计 17
    第六节 时钟电路设计 18
    第七节 报警电路设计 18
    第八节 系统总电路设计 19
    第九节 本章小结 19
    第四章 系统软件设计 20
    第一节 系统软件总流程设计 20
    第二节 人机交互程序设计 21
    一、人机交互程序设计流程 21
    二、人机交互驱动子程序 22
    第三节 液晶显示驱动程序设计 22
    一、液晶显示驱动程序设计流程 22
    二、液晶显示驱动子程序 24
    第四节 报警驱动程序设计 25
    一、报警驱动程序设计流程 25
    二、报警驱动子程序 26
    第五节 本章小结 26
    第五章 系统仿真实现 27
    第一节 仿真电路搭建 27
    一、仿真软件介绍 27
    第二节 仿真系统调试 29
    第三节 仿真系统测试 30
    一、人机交互测试 30
    二、时间读取测试 31
    三、速度检测测试 32
    第四节 本章小结 33
    结 论 34
    致 谢 35
    参考文献 36
    附 录 37
    一、英文原文 37
    二、英文翻译 40
    三、工程图纸 43
    四、源代码 44

    设计说明书及设计文件

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    源码展示

    #include
    #define uchar unsigned char
    #define uint unsigned int
    #include "Data.h"
    #include "DS1302.h"
    #include "AT24C02.h"
    sbit COUNT_IN=P3^2;
    //定义1602相关管脚
    sbit rs=P1^4;
    sbit en=P1^0;
    //键盘定义
    sbit K1=P3^4;	//设置时间
    sbit K3=P3^6;	//减按键
    sbit K2=P3^5;	//加按键
    sbit K4=P3^7;	//设置半径安全距离
    sbit BEEP=P3^0;
    uint count;
    unsigned long Velocity,Mileage;
    uchar code tab1[]={"  /  /     :    "}; //14/09/10 16:34 3   	
    uchar code tab2[]={"  0.000km 00km/h"};	//000.000km 00km/h
    uchar code tab3[]={"Wheel Radius  cm"};
    uchar code tab4[]={"Safe Speed  km/h"};
    uchar code tab5[]={"Sec :           "};			   			
    uchar Mode=0;
    uchar bike_set=0;
    uchar a;
    char RADIUS,SAFE_SPEED;
    bit LED_SEC;
    uchar before_sec;	
    //自定义字符
    uchar code num[]={
    						0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//1	 
    						0x1f,0x01,0x01,0x1f,0x10,0x10,0x1f,0x00,//2
    						0x1f,0x01,0x01,0x1f,0x01,0x01,0x1f,0x00,//3	 
    						0x11,0x11,0x11,0x1f,0x01,0x01,0x01,0x00,//4
    						0x1f,0x10,0x10,0x1f,0x01,0x01,0x1f,0x00,//5	 
    						0x1f,0x10,0x10,0x1f,0x11,0x11,0x1f,0x00,//6
    						0x1f,0x01,0x01,0x01,0x01,0x01,0x01,0x00,//7 	
    };
    void READS();
    void SETS();
    void delay(uint x)
    {
    	uint i,j;
    	for(i=0;i
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
  • 相关阅读:
    Synchronized锁及其膨胀
    重磅来袭!MoneyPrinterPlus一键发布短视频到视频号,抖音,快手,小红书上线了
    小程序学习
    【Linux篇】第八篇——进程地址空间
    【我的OpenGL学习进阶之旅】Assimp库支持哪些3D模型格式?
    安全防御拓扑1
    数字 IC 设计职位经典笔/面试题(四)
    隆云通空气温湿、光照、大气压力传感器
    python方法
    TDengine(taos)数据库导出历史数据
  • 原文地址:https://blog.csdn.net/qq_22592979/article/details/128125845