




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XX大学2016届毕业论文题目:自行车里程监测仪的嵌入式设计与实现Embedded design and implementation of bicycle mileage monitor姓名:X X X 学号:10214521 学院:不知道 专业:不知道 导师:不知道 时间:2016.4.12 完成时间:2016年4月6日摘 要随着时代的发展,我们可以看到,我国的自行车数量越来越多,其原因就在于,自行车既可以用于娱乐,又可以短途代步,同时也是人们户外郊游的上佳选择。因为自行车的方便,简单易学等特点,如今,基本上所有的人多可以骑自行车了。而人们对于骑车时的一些数据,例如骑行的速度,骑行的距离等
2、。多还是靠人的长期知识进行粗略的估计,这对科学锻炼来说是不合适的。所以本设计就旨在设计一款基于C51单片机的自行车里程监测仪,实现对自行车车速和里程的监测,从而可以让人们清楚的知道自己现在的骑车状态,对于锻炼的人来说,有了这个系统,锻炼可以更加的科学合理。对于普通的游玩骑行的人来说,这个系统也可以帮助人们实时的了解自己的行进距离从而合理的安排出游的时间和目的地。全套设计,加153893706本设计主要实现了:利用C51单片机对自行车的速度和里程进行实时的采集和显示,同时对骑行速度进行预警提示,设计中包含电路电源设计,程序设计,系统组合,软件仿真等分部设计。进过前期的学习和设计最终利用STC89
3、C51单片机作为核心控制器件,利用AH3503开关型霍尔传感器进行数据采集,利用LCD1602作为显示器件,LED和蜂鸣器作为提示元素,独立按键作为复位清除按键。完成了本次设计。经过前期的仿真和后期的实物检验可以得知本设计是完整可靠的系统。进过实际的测试可以得知本设计不但具有研究意义,同时具有市场推广的潜力,如果能进行后续的功能改进和提升,用于市场推广是完全可行的。关键词:C51;单片机;AH3503;霍尔元件AbstractWith the development of the times, we can see, growing number of bicycles in our coun
4、try, and the reason is, the bicycle can be used for entertainment, and walking a short distance, and is also one of the outdoor picnic is an excellent choice. Because the bicycle is convenient, easy to learn and so on, now, basically all the people can ride a bicycle. And some of the data, for examp
5、le, when people ride a bike, such as the speed of riding, riding distance, etc. More than a rough estimate of the long-term knowledge of people, which is not suitable for scientific exercise. So this design aims to design a based on C51 microcontroller bicycle mileage monitoring, monitoring of bicyc
6、le speed and mileage, so that people can clearly know her ride now, for people who exercise. With this system, the exercise can be more scientific and reasonable. For ordinary people who play riding, this system can also help people to understand their own travel distance in real time and thus reaso
7、nable arrangements for travel time and destination.This design mainly realizes the C51 microcontroller on the bicycle speed and mileage of real-time acquisition and display, at the same time, the riding speed warn, design includes power supply circuit design, program design, system composition, soft
8、ware simulation design division.Study and design of pre eventually use STC89C51 microcontroller as the core control device, using AH3503 linear Hall sensor data collection, using the LCD1602 display the, led and buzzer as the prompt element, independent keys as a reset to remove the keys. Completed
9、the design. After the physical test and simulation during late prophase can this system design is complete and reliable.The actual test can get Chihpen design not only has the significance of the research, also has the potential for market promotion, if we can improve and upgrade the following funct
10、ion for market promotion is feasible.Key words: C51; single chip microcomputer; AH3503; Holzer element第1章 绪 论1.1 设计的目的1.2 国内外研究现状1.3 设计的任务和内容第2章 系统的总体设计方案2.1 主要任务以及思路2.2 系统的总体组成图2-1 系统的总体组成框图2.3 系统的硬件组成单片机电源电路霍尔传感器液晶显示蜂鸣器和LED图2-2 系统的硬件组成框图2.4 系统的软件组成系统初始化定时采集函数外部中断计数计算显示提示和预警图2-3 系统的软件组成框图第3章 控制器件选择
11、3.1 单片机的组成和特点控制器图3-1 单片机的片上资源框图3.2 STC89C51单片机介绍图3-2 STC89C51的DIP40封装实物图3.2.1 STC89C51单片机特点3.3 STC89C51单片机资源介绍 图3-3 STC89C51单片机引脚资源图表3.1 P3口引脚的特殊功能引脚第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据接收P3.2外部中断0申请P3.3外部中断1申请P3.4T0定时/计数器0的外部输入P3.5T1定时/计数器1的外部输入P3.6外部RAM写选通P3.7外部RAM读选通3.4 STC89C51单片机定时器介绍3.5 STC89C51单片机
12、外部中断介绍第4章 数据采集器选择4.1 可用传感器的介绍和对比4.2 霍尔传感器介绍4.2.1 霍尔传感器原理图4-1 霍尔传感器原理图4.2.2 霍尔传感器分类4.3 AH3503集成线性型霍尔传感器介绍图4-2 AH3503的内部结构图图4-3 AH3503霍尔传感器的输出电压特性曲线4.4 AH3503霍尔传感器的检测原理AH3503传感器检测原理如图4-4所示:单片机外部中断P3.2霍尔传感器车轮铁圈图4-4 AH3503传感器检测原理第5章 系统电路设计5.1 STC89C51单片机系统电路5.1.1复位电路的设计图5-1 STC89C51单片的复位电路 5.1.2 STC89C5
13、1单片机的晶振电路图5-2 STC89C51单片机的晶振电路5.2 霍尔传感器电路本次设计采用的是集成的三脚直插封装的AH3503线性霍尔传感器,在设计上去除了不必要的电压变化和转换电路,而采用了对集成传感器进行直接的供电,然后采集的方式。具体的设计电路如下所示: 图5-3 AH3503霍尔传感器电路上图中P1为霍尔传感器的直插封装插座。使用了5V直流电源供电。然后将输出脚直接和单片机的外部中断0脚P3.2相连接。当霍尔传感器的输出电压发生下降沿,并且电平进入TTL电平的高低转换时,单片机就会接受到霍尔传感器的一次有效的下降沿信号,从而实现单片机对骑行圈数的采集过程。5.3 系统电路的设计本次
14、设计中所使用的STC89C51单片机的电压要求为:直流5V电压。液晶显示屏LCD1620的要求电压和霍尔传感器则是要求3.3V到5.5V直流输入,所以我们为了使得设计取向简单和可靠,我们都是用5V直流电源进行供电,在前端的电压供应中我们使用USB和充电宝或者任何可以提供USB接口的地方相连接。为了系统电源的稳定,在电压接入之后,我们还要采用专用的开光型电源稳压芯片LM7805.这个芯片的稳压为5V直流输出,满足我的需求。同时我们还要采用电容对本机系统和外部系统的电压进行隔离,所以使用了C1和C2两个电容。一个是稳压隔离,一个是滤波隔离。其中电源开关处使用的是带开关功能的USB接口,这可以让我们
15、轻松的控制电压的接入和断开。具体的设计电路如下图所示: 图5-4 系统的电源电路5.4 液晶显示电路的设计5.4.1 LCD的特点5.4.2 LCD1602的功能参数表表5.1 LCD1602的控制指令表5.4.3 LCD引脚介绍图5-5 LCD1602的管脚图5.5 蜂鸣器和LED报警电路的设计图5-16 蜂鸣器和LED报警电路第6章 单片机软件设计6.1 系统软件设计所使用的编程环境介绍本设计中使用的STC89C51单片机,这种单片机开发语言可以是C或者汇编,但是鉴于C比汇编而言更加的高效好通用。所以本次设计将会采用C语言作为软件编程语言。使用的开发环境是标准的Keil-Uv4编程环境。K
16、eil-Uv4 是一款美国Keil Software 公司推出的单片机开发系统,这个系统目前在国内使用量极大,而且该系统支持的单片机型号多,常见的8位到32位单片机都可以在这个开发环境下进行开发,同时这个系统还可以进行在线的调试和语言的转换。我们可以容易的使用系统只带的功能查看寄存器数据。Keil-Uv4 软件开发环境提供了丰富的库函数,并且还可以自行扩充库函数。同时其采用的是Windows 界面风格,这对我们的开发使用来说是很方便的。另外一点,也是选择这个开发环境很重要的一点,在我们进行编译之后查看系统的汇编语言,我们可以发现,这款软件的编程效率极高,对高级语言的优化和处理是很精练和高效的。
17、同时生成的汇编代码和我们常见的汇编代码风格十分相似,这对于我们后期的程序优化也是很有帮助的。Keil-Uv4集成开发环境能够完成在软件开发中需要面对的几大过程:代码编辑、程序编译、多函数连接、程序调试、软件仿真。开发人员还可以根据使用的单片机自行选择生成何种的执行文件,以及采用何种的编译方式,是C51方式还是A51方式。编辑器在对程序进行编译连接后可以生成单片机执行时需要的的二进制文件(HEX文件),然后我们可以通过专用的单片机烧写软件将生成的HEX 文件烧写到单片机内,从而单片机就可以执行我们所写的程序了。软件设计主要分为六个方面:第一是系统的预初始化;第二是霍尔传感器的数据采集;第三是数据
18、的计算;第四是数据的显示;第五是数据的预警提示;第六是按键的清除。这六个部分分别放在在主程序中来执行,其中初始化只用进行一次,后面五步则需要在死循环中一直执行。程序设计中采用了模块化的设计方式,这样设计的程序结构十分清楚,在后期的程序功能扩展和程序调试中也显得十分方便。6.2 主程序模块设计本次采用了模块化的编程思想。在主程序中,主要是负责函数的调度,但是整个系统的功能却是由主程序完成的。主程序就像是一个控制器,合理的调度各个分子系统,从而使子系统配合完成我们需要的功能。主程序流程如下图所示:图6-1 主程序流程6.3 定时中断函数的设计中断函数是本次软件中的第一大子函数,因为中断函数还会调用
19、计算函数,显示函数,预警函数,这三个子函数实现需要的功能。具体的定时中断函数如下图所示:6-2 中断函数流程图6.4 计算函数设计计算函数在中断函数中被调用,负责数据的处理和就算,根据采集的数据和前面理论部分说的计算公式完成数据的计算工作,为后面的显示和预警功能提供数据支持部分。计算函数的程序流程图如下:图6-3 计算函数流程图6.5 显示函数程序流程显示函数由定时中断函数调用,负责数据中的速度和里程显示。具体的流程图如下图所示:图6-4 显示函数流程图6.6 蜂鸣器和LED预警流程图本次设计中的蜂鸣器和LED作为预警器件,负责在比对数据后,对骑行的速度进行适当的提示,具体的流程图如下所示:图
20、6-5 蜂鸣器和LED预警流程图6.7 数据采集流程图数据采集子函数作为一个独立的外部中断函数,由外部数据随时触发,在外部触发的时候,进入中断,判断是不是下降沿,如果是的话,就对数据进行加1操作,从而获得数据。具体的流程图如下所示:图6-6 数据采集流程图6.7 按键清除流程图按键清除作为数据的清除复位功能,在设计中负责将数据进行复位操作,这样我们就可以在需要清除数据的时候,将数据复位到原点,例如我们重新开始一次骑行的时候,上一次的数据可能就不需要了,所以我们就需要一个清除按键来清除我们之前的骑行数据。具体的流程设计如下所示: 图6-7 按键清除流程图本次设计中,对软件系统进行了分系统的方式进
21、行,将需要的功能按照要求,将其划分为不同的子函数,采用分系统的设计方式,对功能的扩展和后期的功能调试十分的便利。在后期的调试和仿真中得出结论,本次设计的软件是可靠的。能够按照我们的要求进行工作。第7章 系统仿真为了检测设计的可靠性和功能是不是完整,本次设计中,采用了Proteus作为仿真软件进行前期的系统硬件和软件仿真,在仿真中验证本次设计的软件和硬件是不是可靠的。7.1 仿真软件介绍本次仿真使用的是Proteus作为仿真软件。Proteus仿真软件是英国Lab Center Electronics公司出版的EDA仿真工具软件。这款软件不但具有其它EDA仿真工具软件都具有的仿真功能,还包含有其
22、独特的仿真单片机及外围器件的能力。目前Proteus在国内外的使用率都是很高的,不但是单片机的仿真,在很多高校里面也作为一款教学软件来使用,而且市面上还有很多关于这款软件的教学书籍和教学视频。Proteus是全球范围内都广泛使用的一款仿真软件,这款软件不但可以进行原理图的仿真,电气特性的仿真,逻辑功能的仿真,还可以从原理图一键发布到PCB从而实现从原理图到电路图的转换。目前这款软件具有物理仿真,软件仿真等功能,而且其可以支持的单片机种类基本涵括了目前市面上流行的所有类型单片机,例如本次设计使用的8051系列单片机,AVR单片机,MSP系列单片机。而且支持的编译器(不同的编译器会有不同的输出文件
23、)也包括了主流的IAR以及KEIL等。本次设计使用的Proteus7.8软件界面如下所示:图7-1 Proteus仿真软件界面7.2 本次设计的仿真图设计本次设计的仿真图根据前期设计的硬件电路图作为基础,在设计中验证了硬件设计的可靠和正确性。具体的设计图如下所示:图7-2 本次设计的仿真图经过仿真电路的检测,可以证明本次设计是可靠正确的。主要参考文献1 李朝青单片机原理及接口技术M北京:北京航空航天大学出版社,20052 康华光电子技术基础模拟部分(第五版) M北京:高等教育出版社, 20053 阎石数字电子技术基础(第四版)M北京:高等教育出版社,20054 白延敏51单片机典型系统开发实例
24、精讲M北京:电子工业出版社,20095 张齐,杜群贵. 单片机应用系统设计技术M. 北京:电子工业出版社,2007.6 杨金岩等. 8051单片机数据传输接口扩展技术与应用实例M北京:人民邮电出版社,20057 求是科技单片机通信技术与工程实践M北京:人民邮电出版社,2005.8 郭永贞主编. 数字电子技术M. 西安电子科技大学出版社,2000.9 李广弟. 单片机基础M.北京:北京航空航天大学出版社,2001.10 张洪润. 电子线路与电子技术M.清华大学出版社M,2005.11 张齐,杜群贵. 单片机应用系统设计技术M.电子工业出版社,2004.12 Julian W.
25、;Gamder, Intelligent Data Acquisition System B, 2005,4:109-115.13 Dejie Song, Boxue Tan, Wenfeng Liu. Application of Wireless Communication in Temperature Measurement J. Berlin Heidelberg: Springer-Verlag,2011,175(1): 428433.14 Xingrui Liu and Guohong Gao. Temperature Monito
26、ring System Based on AT89C51 J. Berlin Heidelberg: Springer-Verlag,2011,105(1): 601605. 附 录 一 设计电路图附 录 二 仿真电路图附 录 三 系统源程序以下是本次系统的完整源程序:/主函数部分/#include<reg52.h>#include"LCD1602.h"#define uchar unsigned char#define uint unsigned intsbit key1=P37; /按键sbit led=P17;sbit bz=P16;void InitTi
27、mer0(void);/初始化定时器void Ex_Init();void delayms(uint time);void getkey();void main() LCD1602_Init();/液晶初始化 InitTimer0(); /初始化定时器 Ex_Init(); /外部中断初始化 LcdDisplayTemp(110,200); while(1) getkey(); uchar time50ms=0;uchar cylinder_number=0;/车轮子圈数uint Total_number_of_cycles=0;uint Distance=0;/uchar Speed=0;
28、void Timer0Interrupt(void) interrupt 1/50ms TH0 = 0x9e;/3c TL0 = 0x58;/b0time50ms+;if(time50ms>19)/20*50=1000ms=1s Total_number_of_cycles +=cylinder_number; /记录总的圈数 Distance = (uint)(Total_number_of_cycles*3.14*0.66*10); /660mm(26英寸)Pi*d 扩大一位保留一位小数 Speed = cylinder_number*3.14*0.66*10; /计算速度 LcdD
29、isplayTemp(Distance,Speed); if(Speed>100) led=bz=0; else led=bz=1; time50ms = cylinder_number=0;void int0()interrupt 0 /外部中断0服务程序,按下接P3.2的开关cylinder_number+; /记录脉冲数void InitTimer0(void) /定时器0 初始化为 50ms TMOD = 0x01; TH0 = 0x3C; TL0 = 0xB0; EA = 1; ET0 = 1; TR0 = 1;void Ex_Init()/外部中断初始化 EA=1; /EA总中断控制,EA=0关,EA=1开 EX0=1;/INT0中断控制。0关1开,按键接P3.2用这个 IT0=1;/下降沿触发 void getkey() if(key1=0) delayms(3); if(key1=0) Total_number_of_cycles=0; /按键复位 while(!key1); void delayms(uint time) uchar i=100; while(time-) while(i-);/LCD1602函数/#include"LCD1602.h"sbit LCD1602_RS = P05;/位定义,液晶的数据/命令选择sbit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 休闲农业与乡村旅游融合发展2025年乡村旅游与旅游产业市场拓展分析报告
- 城市轨道交通智慧运维系统建设2025:智能化检修与设备管理研究报告
- 工程法规常见考点试题及答案分析
- 公司经营合伙协议书
- 工程法规法律条款理解试题及答案
- 合作办学合同协议书
- 加沙立即停战协议书
- 土地安置转让协议书
- 单位厨房外包协议书
- 劳务受伤赔偿协议书
- GA/T 1147-2014车辆驾驶人员血液酒精含量检验实验室规范
- FZ/T 73001-2016袜子
- 小学一年级数学100以内口算题
- 人教版(2019)必修第三册Unit 1 Festivals And Celebrations Listening and Speaking 课件
- 【医疗管理分享】:PET-CT报告书写课件
- 质量、环境、职业健康安全、有害物质管理手册
- 房地产残余价值估价报告
- PAN纤维结晶度取向度和形貌的演变规律对其性能影响
- 岛津GCMS-TQ8040教材
- (完整版)化工原理各章节知识点总结
- 空调水管线试压冲洗方案
评论
0/150
提交评论