024 电动车速度里程测试系统软件设计
                    联系方式 Email: lw510@qq.com      QQ: 497053418       MSN: lw510@qq.com
以下仅为该设计的基本说明介绍,若需要完整的设计和论文,建议您购买本设计.
024 电动车速度里程测试系统软件设计样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
 

本系统开发工具:单片机/汇编
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
 
 
 

毕业论文
(或毕业设计)
 
                           电动车速度里程
测试系统软件设计
               
 
 
电动车速度里程测试系统软件设计
 
摘 要:经济社会的发展促进了交通工具的发展。从马车到小轿车、火车;从自行车到电动车、摩托车发展迅速。但是在资源紧缺和大家注重环境保护的今天,电动车的发展前景是非常光明的。经过认真的市场需求调查研究,发现电动车速度里程测试系统需求量大,市场广阔。电动车速度里程测试系统可以实时提供速度和里程信息,为用户提供第一手参考资料,为用户下一步的行动提供依据。本文主要介绍该系统的设计原理和设计思路、设计调试过程、遇到重要的问题和解决方案、实现结果等内容。以期能让大家全面认识和了解本系统。
关键字:速度;里程;测试系统;软件设计
Software design for the motor car speed and mileage testing system
Abstract: The development of the economy and society promotes pileup develop.From wagon to the car and train, from bicycle to the motor car and motorcycle,it develop quickly. Today because of lack resources and everyone pay attention to protect environment, the development foreground of the motor car is very bright. By the investigates for market need of motor car speed and mileage testing system, We discoveried it market amplitude.The motor car speed  mileage testing system can provides the speed and the mileage informations Solid hour for the customers. their  next Actions can base on it.This text  main introduction the principles and thinking of the system, the process of the design and debug,important problems we meeted and its solutions, the results etc. We hope that everyone can understand the system clearly by the text.
Key word:speed; mileage; software design
 
 
 
目录
摘要                                ……………………………………2
Abstract                               ……………………………………2
1引言                                ……………………………………4
2电动车速度里程测试系统的可行性      ……………………………………4
2.1 技术可行性                   ……………………………………4
2.2 经济可行性                    ……………………………………4
2.3社会可行性                    ……………………………………5
3设计原理                          ……………………………………5
3.1uVision2集成开发环境           ……………………………………5
3.2编辑器和调试器                   ……………………………………5
3.3C51编译器                    ……………………………………6
3.4代码优化                    ……………………………………6
3.5测试程序                   ……………………………………7
3.6 C51 V7版增强功能介绍            ……………………………………8
4设计和调试过程              ……………………………………8
4.1设计过程              ……………………………………8
4.2调试过程                        ……………………………………15
5遇到重要的问题和解决方案             ……………………………………17
5.1数码管显示问题                 ……………………………………17
5.2时间中断初值的确定             ……………………………………18
5.3小数部分和小数点的显示         ……………………………………19
6实现结果                             ……………………………………20
7结束语                               ……………………………………20
参考文献                                ……………………………………21
附录:程序

1、引  言
中国是一个自行车王国,自行车非常普及,然而在现代科学技术与社会经济高速发展的今天,传统的自行车已经跟不上现在生活的紧张快捷的步调,虽然它有很多优点,比如说小巧,占地小,清洁等等,但是其有最大的缺陷那就是慢速,费力。因此电动车应运而生,他不但具有自行车的优点,同时还解决了自行车的缺点。是一种理想的交通工具,但是电动车上缺少一些汽车上的一些先进而且常见实用的东西(测试速度和路程的仪表),会给人们带来了不便甚至危险,比如人们不知道自己已经骑了多少路程,剩下还有多少路程,剩下的电源还够不够;又比如说由于速度过快容易发生交通事故,速度太慢就有可能到不了目的地。
为了改变这种状况,我们有必要给电动车设计一个测试速度和路程的系统。如果取得成功,必然能增加其性价比,从而更一步扩大电动车市场,增强电动车在各类交通工具中的竞争力,让电动车产业得到更好的发展和进步。
2、电动车速度里程测试系统的可行性
在IT行业日新月异的今天,要设计一个测试速度和路程系统的条件已经成熟,我们完全有能力借鉴汽车上的测速系统,并在此基础上修改完善把它运用到电动车上。
现在从其技术可行性、经济可行性、社会可行性进行研究:
2.1技术可行性
在硬件方面本系统首先需要一个单片机微处理器,这是系统的核心部件,单片机微处理器经过三个阶段(1976年-1978年,初级单片机微处理器阶段;1978-现在,高性能单片机处理器阶段;1982-现在,8位单片机微处理器改良型及16位单片机微处理器阶段)的发展应用已经非常广泛,例如:智能产品、智能仪表、测控系统、数控型控制机、智能接口等。在这里我们可以选用AT89C51内含有ROM(4KB)、RAM(128 字节)、CPU时序和复位电路(RESET),AT89C51共有4个I/O端口,为P0、P1、P2、P3,4个I/O口都是双向的,且每个口都具有锁存器。每个口有8条线,共计32条I/O线。所有这些我们已经足够保存驱动程序,也能实现复位(把路程数变成0)。要设计此系统的功能(测试速度和路程),我们只需增加一个传感器(3144霍尔传感器)、一个磁钢、一个电源电路、和一个显示器及其他附属小器件。使用3144传感器和磁钢可以实现把轮子的转动圈数转化成脉冲电流。电源电路可以把电动车电瓶的电压转化到+5伏,提供给微处理器AT89C51。还有一个是显示器,用来显示当时的速度和已经行驶的路程。
在软件方面可以采用汇编语言或者C语言,如熟悉这两种语言可以轻松完成软件设计。
在开发方面现有的开发技术水平完全能够胜任开发任务,维护、管理上只要使用者注意清洁,保证磁钢和传感器不被尘土覆盖影响正常工作即可。所以说:在技术上实现这个系统是完全可以的。
2.2经济可行性
该系统虽然复杂,有难度,但是要用到的器件并不是很多,设计开发该系统的投入费用只需几千元,在系统完成并投入大规模生产后就对电动车的价格的影响也不会很大,最多一百多元,并且可以让电动车具有更好的性价比。所以说:在经济上实现这个系统是完全有可能的,同时在大众经济接受能力上都是可以承受的。
2.3社会可行性
大众的需求和政府的支持使本系统的开发迫在眉睫,完全可行和完全必要。
3、设计原理
通过查看书籍和跑电子市场研究器件及功能,最后确定本系统设计的主要思路是这样的:首先由一个传感器3144将自行车转动的信号传给一个AT89C51芯片,该芯片记录该圈数,并计算出当前的速度与里程,并在数码管上显示。(流程图如图1—1所示)
 
 
 
 

                   图1-1  电动车速度里程测试系统设计图
在软件方面本系统选择了Keil C51 V7开发工具。C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。因此,C51 V7版本无疑是8051开发用户的最佳选择。
Keil C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点,支持汇编,C语言以及混合编程,同时具备功能强大的软件仿真和硬件仿真(用mon51协议)。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。
    3.1 uVision2集成开发环境
3.1.1项目管理
工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
    一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。
uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特性。
uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。
3.1.2 集成功能
uVision2的强大功能有助于用户按期完工。
1.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。
2.文件寻找功能:在特定文件中执行全局文件搜索。
3.工具菜单:允许在V2集成开发环境下启动用户功能。
4.可配置SVCS接口:提供对版本控制系统的入口。
5.PC-LINT接口:对应用程序代码进行深层语法分析。
6.Infineon的EasyCase接口:集成块集代码产生。
7.Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2
3.2 编辑器和调试器
3.2.1源代码编辑器
uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一 种自然的调试环境,使你更快速地检查和修改程序。
3.2.2断点
uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。
在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。
3.2.3调试函数语言
uVision2中,你可以编写或使用类似C的数语言进行调试。
1.内部函数:如printf, memset, rand及其它功能的函数。
2.信号函数:模拟产生CPU的模拟信号和脉冲信号(simulate analog and digital inputs to CPU)。
3.用户函数:扩展指令范围,合并重复动作。
3.2.4变量和存储器
用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整:
1.当前函数的局部变量
2.用户在两个不同watch窗口页面上的自定义变量
3.堆栈调用(call stack)页面上的调用记录(树)(call tree)
4.不同格式的四个存储区
3.3 C51编译器
KEIL C51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。
3.3.1存储器和特殊功能寄存器的存取
    C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字-at-还能把变量放入固定的存储器.存储模式(大,中,小)决定了变量的存储类型。在本系统中用到的特殊功能寄存器有:中断允许控制器IE,定时器控制器TCON,定时器方式选择TMOD,定时器高8位TH0,定时器低8位TL0和电源控制器PCON 。各寄存器的各位功能这里就不做介绍了。
    连接定位器支持的代码区可达32个,这就允许用户在原有64K ROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。
3.3.2 中断功能
    C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。
    可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。
3.3.3 灵活的指针
C51提供了灵活高效的指针。
通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。
特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速。
3.4 代码优化
3.4.1通用代码优化
1.常量重叠(constant folding) 
6.寄存器间参数传递(parameter passing in register)
2.通用子表达式删除(common subexpression elimination) 7.循环(loop rotation)
3.长度缩减速(reduction) 8.死码删除(dead code elimination)
4.控制流优化(control flow optimization) 9.通用Tail Merging
5.寄存器变量使用(register variable usage) 10.通用子程序块打包(block subroutine packing
 
3.4.2 8051特殊优化 
1.孔颈优化(peephole optimization) 4.数字覆盖(overlaying)
2.跳转-分支优化(switch-case optimization) 5.扩展入口优化(extended access optimization)
3.中断函数优化(interrupt function optimization) 
3.4.3 寄存器优化
C51为函数参数和局域变量分配了9个CPU寄存器。寄存器间最多可传递三个参数。P全局寄存器优化可删除不必要代码,优化CPU寄存器设备。
3.4.4 C语言实时库
C51实时库含100多种功能,其中大多数是可再入的。库支持所有的ANSI C的程序,与嵌入式应用程序的限制相符。
固有程序为硬件提供特殊指令,如:nop, testbit, rol, ror。
3.4.5 A51宏汇编
A51宏汇编支持标准宏和MPL宏。要实现快速产生汇编程序SHELL,就直接使用C51编译器的SRC。在新的A51 V7版本中,允许用户C包含的头文件来定义常量和SFR。如今,一个单一头文件可被应用到X程序和汇编程序中。
3.5 测试程序
uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能.DDE界面和shift语言支持自动程序 测试.
3.5.1 CPU和外设模拟装置
uVision2为8051及衍生产品提供了高速CPU模拟功能和片上扩展口.在对话框内可直接观察和修改I/O值,也可以用预装的C-LIKE宏指令书写符号函数来提供动态输入。
3.5.2 目标监控器
  uVision2含一个可配置的监控器,可测试目标器件上的软件体。监控器用uVision2的调试器直接工作,可支持代码区。它要求目标系统具备6字节堆栈空间,6KB的代码ROM和256字节Xdata RAM。
3.5.3 MCB517/251启动工具包
在开始一项8051工程时,MCB启动工具会对你有很大帮助。每一个启动工具包括一套2K字节的开发工具和许多可快速运行的举例程序。用户可在检测8051性能的同时,查看开发工具的可行性。
MCB517AC板含高性能InfineonC517A单片机,它提供标准8052外围设备和A/D转换器,PWM,搜索/比较,8位数据指针,一个高速运算单元。同时包含对81C90CAN控制器和代码区的支持。
3.6 C51 V7版增强功能介绍
      C51 V7版提供了很多新的和增强的功能,使开发8051嵌入式应用比以前更加简单。C51 V7版新功能包括:新版编译器和连接器更加优化,可以缩短程序的大小; 能完全模拟支持的器件更多,如Philips 80C51MX, Dallas 80C390和Analog Devices MicroConverters;新的ISD51系统内调试器,允许在不变的目标硬件上调试程序;可更好地支持Philips 51MX的24位地址;RTX51 Tiny增加了新功能,它比以前更小,但提供的功能更多。
4、设计和调试过程
4.1设计过程
   电动车速度里程测试系统的软件主要包括初试化程序,中断程序,计算过程和显示过程。
    4.1.1初始化程序
    初始化程序是程序的开端,主要完成一些设置,就相当与一般软件的INI文件,涉及到一些重要的特殊功能寄存器SFR的设置。虽然这一部分程序很简单,但是非常重要不能轻视,正确的设置才能保证系统的正常工作,保证电路的正常工作。否则会发生异想不到的结果。
  void initial(void)    //初始化子程序
{  IE =IE|0x83;    //中断允许
TCON =0x33;  //INT0负边沿触发,
//INT0上有中断,开启T0,T0溢出中断开启
TMOD =0x01;  //定时器方式:01
TH0 =0x3C;
TL0 =0xB0;
TR0 = 1;      //开始计时
PCON =0;  
 }
 
 
                  图4_1 中断允许寄存器IE各位表示
IE =IE|0x83;    //中断允许
AT89C51没有专门的开中断和关中断指令,中断的开放和关闭是通过中断允许寄存器IE进行两级控制的。两级控制是指存在有一个中断允许位EA,配合各中断源的中断允许控制位共同实现对中断请求的控制。这些中断允许控制位集成在中断允许寄存器IE中,如上图所示。
该指令0x表示16进制,83把他转换成二进制就是10000011,第7位EA=1表示开所有中断,但它们最终是否被响应还是取决于IE中响应中断源的中断允许控制位状态。第2位ET0=1表示定时器T0的溢出中断被开放,但CPU最终是否响应该中断请求还是看允许中断总控制位EA是否处于1状态。在这里EA已经设位1。第1位EX0=1表示~INT0上的中断请求被允许。
 
图:4_2 定时器控制寄存器TCON各位定义
TCON =0x13;  //INT0负边沿触发
在51系列单片机检测到中断源发来的中断请求信号后,会使相应的中断标志位置位,然后便在下一个机器周期检测这些中断标志位状态,以决定是否响应该中断。中断标志位一般集中安排在定时寄存器TCON(定时器控制寄存器TCON的各位定义如图4_2所示)和串行口控制寄存器SCON中。
该指令0x表示16进制,13把他转换成二进制就是00010011,第1位IT0=1表示~INT0设定为边引中断触发方式(即由负边引引起中断),其位地址为:88H。第2位IE0=1,表示INT0上有中断,第5位TR0=1表示开启T0计数。
 
图4_3 TMOD寄存器各BIT 含义
 
024 电动车速度里程测试系统软件设计
 

关闭窗口

与本站联系的时候,为了提高效率,请告诉本站您需要的设计编号与题目。如:001VBAC人事管理系统
编码说明:001VBAC人事管理系统,其中001VBAC 为该毕业设计的编号,VB代表开发语言,AC代表数据库(ACCESS)
版权所有:510计算机论文网:http://www.lw510.com/程序制作:510论文
Email: LW510@QQ.COM  QQ: 497053418   MSN: LW510@QQ.COM