摩托车测速表的设计_第1页
摩托车测速表的设计_第2页
摩托车测速表的设计_第3页
摩托车测速表的设计_第4页
摩托车测速表的设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计说明书课程设计名称: 专业课程设计 课程设计题目: 摩托车测速表的设计 学 院 名 称: 信息工程学院 专业:电子信息科学与技术 班级: 120431 学号: 12043122 姓名: 刘处荣 评分: 教师: 吴开志 20 15 年 9 月 5 日 专业 课程设计任务书20142015学年第二学期 分散1周 第16 周 18 周集中题目摩托车测速表的设计内容及要求技术要求:(1) 利用光电转换器实现车轮转速的测量(2) 利用单片机实现速度的计算和显示(3) 测速范围:1 80 KM/小时(4) 显示精度:1KM 进度安排分散1周:查资料、方案确定。第16周: 电子钟编程及调试。第17

2、周: 摩托车测速表的软硬件设计、调试。第18周:考试、撰写并上交报告。学生姓名: 刘处荣、陈星星指导时间: 分散1周,集中指导:2015.6.15-2015.7.3指导地点:综合楼中505 室任务下达2015 年 6 月 1 日任务完成2015 年 7 月 3 日考核方式1.评阅 2.答辩 3.实际操作 4.其它指导教师吴开志系(部)主任贾杰注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。 摘 要 摩托车,由汽油机驱动,靠手把操纵前轮转向的两轮或三轮车,轻便灵活,行驶迅速,广泛用于巡逻、客货运输等

3、,也用作体育运动器械。 转速测量方法分为两类,(1)直接法:直接观测电机的机械运动,测量特定时间内机械旋转的圈数,从而测出其转速;(2)间接法:测量由于机械转动导致其他物理量的变化,从这些物理量的变化与转速的关系来得到转速。目前常用的测速方法有霍尔元件测速法、离心式转速表测速法、闪光测速法等 本课题主要研究转速的测量,通用于各类需要测转速的环境中。本系统采用对射式光电开关产生与齿轮相对应的脉冲信号,使用AT89S52单片机采样脉冲信号并计算每分钟内脉冲信号的数目,通过液晶显示器显示电机的转速值。经过仿真测试和软硬件系统的搭建,本系统符合设计要求,简单实用,有效降低了车速所需的仪器成本,测速比较

4、稳定,有一定的利用推广价值。关键词:摩托车 转速测量 单片机 目录 第一章:设计方案的要求与选择11.1 设计内容及要求11.2 基本设计要求11.3 方案的设计11.4 方案的选择31.5 方案的改进31.6 摩托车测表设计及原理4第二章 系统硬件电路62.1 单片机控制系统62.2 开发板系统电路62.3 时钟电路72.4 复位电路72.5 脉冲输入模块82.6 速度显示模块9第三章 系统软件设计103.1 主程序流程图设计103.2 中断子程序流程图设计113.3 速度显示子程序流程图设计12第四章 系统测试及功能实现134.1硬件电路的测试134.2 软件程序测试134.2.1 LCD

5、显示程序134.2.2脉冲计数模块程序134.3 功能实现13结论14参考文献15附录16附录A 课设仿真图16附录B 主程序代码17附录C 1602液晶显示代码19 5 第一章:设计方案的要求与选择1.1 设计内容及要求(1)利用光电转换器实现车轮转速的测量 (2)利用单片机实现速度的计算和显示 (3)测速范围:1 80 KM/小时 (4)显示精度:1KM 1.2 基本设计要求 按设计要求,方案整体可分为四个模块:光电检测模块 、信号处理模块、 51单片机模块以及显示模块,各模块之间的关系如下:单片机显示器信号处理光电检测 图1.1 测速系统基本模块关系图1.3 方案的设计方案一:由传感器、

6、处理器和显示3个部分几部分组成,但所选择的传感器类型不同,其方框图如图1.2所示。 此方案的测速系统主要是由开关型霍尔传感器A3144E以及磁钢构成,由它们来检测车轮的转速。工作方式为:将磁钢安装在车轮的转轴上,而霍尔传感器则放在转轴的旁边,霍尔传感器连接在电路中,当磁钢随转轴经过霍尔传感器时,由开关型霍尔传感器的工作原理知,此时将输出一个低电平信号;而当磁钢离开霍尔传感器后,又将输出一个高电平。这样通过高低电平的转换,将其送入单片机后就可以测量它的转速单片机处理车轮霍尔传感器7279显示信号转换 图1.2方案一模块框图 方案二:包括传感器、处理器和显示3个部分。其方框图如图1.2所示。 在该

7、方案中传感器是由红外发光二极管,和红外光敏三极管构成。测速的过程为:在车轮的转轴上安装一个圆盘,并在圆盘的边缘处开多个孔让二极管发出的红外光刚好可以通过。在圆盘的上下方分别安装好发光二极管和光敏三极管,当车轮转动时就可以通过圆盘来改变光敏三极管接收的光线,从而产生点位信号的变化,这样就构成了一个收发检测系统,可以检测车轮的转速。运用的原理和光电耦合器是相同的。 单片机处理信号转换光敏三极管光敏二极管7279显示车轮 图1.2方案二模块框图1.4 方案的选择 两个方案的主体电路相同,只是传感器的选择不同。而选择开关型光电传感器作为此次课程设计的光电检测模块的设计方案。有以下几个原因:(1)光电开

8、关原理简单,电路简易,廉价易获取;(2)霍尔传感器价格昂贵,学校器件库暂不提供;(3) 用光电开关作为传感器时出现问题也易于调试。 综上,最终选择方案二作为设计方案。1.5 方案的改进由于在protues仿真系统上车轮无法模拟,7279八位共阴数码管也找不到相应的元器件代替,经过小组讨论,决定采用脉冲激励源代替车轮的旋转信号输入,以LCD液晶显示器代替7279显示,改进后的方案在信号输入方面更直观准确,而且液晶显示也比数码显示更简洁省电改进后的模块框图如图1.3所示: LCD1602液晶显示单片机处理信号转换光敏三极管光敏二极管车轮 图1.3改进后的模块框图1.6 摩托车测表设计及原理 测速采

9、用51单片机外部中断方式计数,500ms采集一次计数脉冲频率值。在实际应用中,计数端口最好加一个比较器电路再与外部中断计数IO口。如图1.3,图1.4所示。加一个比较电路,这样得到的数据更精准。图1.3 仿真调试电路图1.4 实际调试电路程序中第一行显示的是实际频率f,第二行显示的是实际转速r。其中,光电测速装置假设摩托车转一圈时,计3个脉冲,一个摩托车的直径为50cm,则的实际转速r由下公式得到:r=(f/3)*0.5*本设计中,为了快速实现速度测量,每500ms计算一次速度,所以得到的计数值为f/2,这样,上式得到的结果就需要乘以2得到正确的速度值。 第二章 系统硬件电路2.1 单片机控制

10、系统 单片机采用STC89C51,是一款性能稳定的8位单片机。单片机的T0口作为外部中断口来计外部传感电路产生的脉冲个数,P1口的P1.0-P1.3口外接LCD液晶显示模块2.2 开发板系统电路 单片机开发板电路如图2.1所示,由单片机STC89C51、时钟电路和复位电路三部分组成。单片机STC89C51作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。学校提供的开发板操作简单,使用方便,在PC机上编好程序后,经过编程器生成Hex文件后,然后用PC机串口通过STC-ISC程序下载软件能够非常方便地将程序烧到单片机中。

11、 图2.1 开发板电路2.3 时钟电路 单片机各功能部件的运行都是以时钟控制信号为基准,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。 本设计中采用内部时钟方式,如图2.2所示,以石英晶体振荡器和两个片电容组成外部振荡源。片内的高增益反相放大器通过XTAL1、XTAL2外接,作为反馈元件的片外晶体振荡器与电容组成的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。振荡器的频率取决于晶振的振荡频率,振荡频率范围为1.212MHz。 图2.2 时钟电路2.4 复位电路 单片机的RST引脚为复位(Reset)端。当单片机振荡器工作时,该引脚上出现持续两个机器周期

12、的低电平,就可以实现系统复位,使单片机回到初始状态。如图2.3所示,本设计采用手动复位,用一个电容与一个10K电阻串联组成,电阻接VCC,电容接地,RESET脚接在它们中间,RC选择10uF,按键与200R电阻串联,在电容两端并联,就成了按键复位电路,未上电时,RST端为高电平,只要按下这个按键,RST端转换为低电平,经过两个机器周期后,单片机就能复位。 图2.3 复位电路2.5 脉冲输入模块 脉冲技术是脉冲信号产生和波形变换的技术。是指在某一时间内有突变的电压或电流。从广义上讲,矩形波、方波、尖顶波、锯齿波、三角波、阶梯波等非正弦波信号都是脉冲信号。 图 2.4 脉冲输入模块电路2.6 速度

13、显示模块 本设计是通过LCD液晶显示屏进行显示的。LCD液晶显示器是平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方 图2.5 速度显示电路 第三章 系统软件设计3.1 主程序流程图设计 主程序主要负责总体程序管理,实现人机交互设定。主程序开始时将完成程序的初始化,包扩内存的规划、定时器的工作模式、中断方式等的设定,然后直接调用各个功能模块子程序。本系统采用STC89C51中的T0定时器和T1计数器配合使用对转速脉冲定时计数。计数器T1工作于计数状态对外部脉冲进行计数;T0工作为定时器方式每次定时10ms。本设计程序编程的思想就是在给定的10ms之内,用单片机自带

14、的计数器T1对外部脉冲进行计数。其主程序流程图如图3.1所示开始初始化T0、T1开启定时器T0等待50ms开启定时器T1T0=100? N Y 关闭计数器处理TH0、TH1显示数据 结束 图3.1 主程序流程图 3.2 中断子程序流程图设计T0定时中断程序主要是完成10ms的定时任务,并且对变量buf_min进行加一 处理,其中在对T0进行赋初值时,选择为10236而不是10000。主要是C语言在经过反汇编后,一条C语句将会编译成几条语句,这样就增加了指令执行的时间,使定时产生误差,而在经过多次调试后,选择10236为T0初值是最接近10ms的。其程序流程框图如图3.2所示进入定时中断关闭定时

15、器T0TH0、TL0赋值T0=T0+1开启定时器T0退出中断 图3.2 中断子程序流程图3.3 速度显示子程序流程图设计 定时器设置为方式1,定时10ms。当定时达到10ms时,产生中断,对液晶显示器进行刷新,显示转速,并使时间计数标志T加1。当时间计数标志T=500时,使time0_int置1,取出计数器在此时间内计算的脉冲数,通过转速计算程序计算得出转速值后,数据缓冲区存入数据缓冲区,供LCD液晶显示使用。流程图见图3.4所示开始初始化数据缓存区开启定时器T0定时 =10ms? N Y产生定时中断显示定时计数T0计数时间计数清零T=0T=500? NLCD1602_Init=1 Y 图3.

16、3 1602速度显示流程图 第四章 系统测试及功能实现 测试时按硬件电路测试和软件程序的测试两个大块,其中软件程序测试包括LCD显示程序和脉冲计数程序两个部分。 4.1硬件电路的测试 硬件电路的测试主要包括光电开关调试和电压反相器调试。这些测试主要是在 焊接电路板的整个过程当中进行,以便确保每一个电路元件都能工作正常。 4.2 软件程序测试 4.2.1 LCD显示程序 不通过T0中断检测脉冲个数,直接给T0count赋值,依据给T0count赋不同的 值观察LCD上是否按赋的初值显示出来。通过多次给T0count赋不同的值,从而判断显示模块是否出现问题。测试完1602之后,通过这种方法还可用于

17、对数值计算处理模块进行调试。 4.2.2脉冲计数模块程序 当LCD显示程序测试无误之后,就可以对脉冲计数模块进行调试了。因为显示已经没有问题,通过用信号发生器给T0端口送入不同频率的脉冲,可观察数码管的显示是否正确。调试过程中出现的误差,可以依据误差的大小给予补偿。 4.3 功能实现 本系统以STC89C51单片机为核心,开发程序调试阶段采用Keil软件进行编程及修改。设计的摩托车测速系统可用于各种汽车速度及电机转速的测量。显示采用LCD1602液晶显示,当超出量程后还会显示F作为提示,就像汽车超速提示一样,具有同样的功能。该系统功能基本达到设计要求,具有很好的应用范围。 结论 本次专业课设为

18、期四周,时间不长。设计过程中出现过不少问题,一开始我们对设计要求理解不够深,致使设计出来的装置过于简单,以脉冲输入替代车轮的旋转,然而忽视了脉冲信号的失真丢失等问题,导致最后的结果不尽如人意。 本次课程设计我是负责硬件部分,虽然此课题对硬件要求不高,主要是对于脉冲信号的处理、计算及显示。但为了让光电传感部分测量的更加精确,也让我们查找了相关资料,通过反相器可以让输出脉冲更加规范。速度显示用到了LCD1602显示模块,但我们对显示部分编程思路不够清晰,一直纠结于语言功能的实现环节,最终在小组相互讨论和请教同学后经过长时间的调试了才弄出来。通过软件的调试,我们发现程序中利用子程序的编程会让程序易读

19、,而且在调试方面也更简便。 通过本次课程设计,我对单片机的工作方式和原理有了一定的了解,掌握了程序设计的基本方法。单片机产品的设计要综合考虑多方面因素,不能急于动手,需先确定待单片机产品的功能、所实现的指标、成本,进行可行性分析,然后从总体设计确定方案,再细化到硬件与软件设计。通过本次课程设计,我们深刻地体会到单片机技术的广泛应用及对人们实际生活的重要意义。 参考文献1 马忠梅等编著.单片机的C语言应用程序设计,北京航空航天大学出版社,2003修订版2 吴国经等编著. 单片机应用技术 中国电力出版社, 2004.13 李全利,迟荣强编著. 单片机原理及接口技术 高等教育出版社,2004.14

20、张毅刚等编著. MCS-51单片机应用设计,哈工大出版社,2004年第2版5万福军等编著. MCS-51单片机原理、系统设计与应用 清华大学出版社 2008.6 附录附录A 课设仿真图 附录A 课设仿真图附录B 主程序代码#include #include 1602.huchar table16 = Fre = HZ ; /第一行显示频率值uchar disp16 = Speed = . km/h ; /第二行显示电容值uint Val = 0;uint Cnt;uint Frequence;void CPU_Init(void) TMOD = 0X10; /定时器0/1工作方式1;/ TH0

21、 = (65536 - 5000)/256; /设置定时器0初值20ms/ TL0 = (65536 - 5000)%256;TH1 = (65536 - 50000)/256; /设置定时器1初值50msTL1 = (65536 - 50000)%256;EA = 1; /开总中断/ ET0 = 1; /开定时器0总中断/ TR0 = 1; /启动定时器0ET1 = 1; /开定时器1总中断TR1 = 1; /启动定时器1EX0 = 1; /开外部中断0总中断IT0 = 1; /外部中断0触发方式为下降沿触发void main() uchar num = 0; uint Speed; LCD

22、1602_Init(); LCD1602_Disp(table,disp);CPU_Init();while(1) table7 = Val*2 / 10000 + 0x30;table8 = Val*2 % 10000 / 1000 + 0x30 ;table9 = Val*2 % 1000 / 100 + 0x30 ;table10 = Val*2 % 100 / 10 + 0x30 ;table11 = Val*2 % 10 + 0x30 ;Speed = (int)Val*5*3.1415926)/300;disp7 = Speed / 100 + 0x30;disp8 = Speed %100 / 10 + 0x30; disp10 = Speed %10 + 0x30; LCD1602_Disp(table,disp);void int0 () interrupt 0Frequence+;void T1_time() interrupt 3TH1 = (65536 - 50000)/256; /设置定时器1初值50msTL1 = (65536 - 50000)%256;Cnt+;if(Cnt = 10) /1000ms计算一次频率 Cnt = 0;Val = Frequence; Frequence = 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论