基于单片机的速度里程表的设计

2017-12-25 11:07杨海东白书华周康乐南昌理工学院
新商务周刊 2017年21期
关键词:调试单片机速度

文/杨海东 白书华 周康乐,南昌理工学院

在将近两百年以前,世界上第一辆类似自行车的工具在法国诞生,被称之为木马轮。当时的自行车和现在的在进行车有很大的不同,因为没有链条所以需要人们用脚踩着地来前进。而经过两百多年的发展,自行车除了被越来越多的人们所接受外,他的功能也从最早的代步工具发展成为现在集娱乐、竞技、锻炼等多功能为一体。随着生活条件越来越好,人们对于生活品质各方面的要求也都越来越高。一辆普普通通的自行车已经不能满足人们的需要了,人们希望自行车能和汽车一样,能直观的看到自己骑车的里程和速度,有过速报警功能,有些利用骑车来锻炼的人想要它能够计算出自己通过骑车所消耗的热量,这种种需求导致了自行车里程表的出现。

自行车速度里程表的主要构造是以霍尔元件和单片机为核心,在 LED 数码上管显示出当前的行车速度和里程。本文会详细介绍自行车里程表的设计方案,包含它的设计思路,电路原理以及各部件的选择和功能,这些被分为软件和硬件两部分分别说明。硬件部分如上所述,而在软件部分的设计过程中,我们采用模块化构建方法来设计相关软件部分,单片机可以看做有多个功能模块组成的一个半智能系统,采用模块化设计方便我们分类设计,可以让复杂的设计简单化,而且在设计完成后的调试过程中也更加方便。我们通过编译相应的程序让单片机具有计速和计算里程的功能,并通过 LED显示出来。

Proteus是一款由英国公司开发的EDA工具软件,它除了有一般EDA工具软件的仿真功能之外,还能仿真单片机和外围器件 [11]。它可以实现数字电路、模拟电路及为控制系统及为控制系统和外设的混合电路系统的短路仿真、系统协同仿真和PCB设计等全部功能,可以在还没有目标原型时对系统进行调试和验证。我们利用proteus软件来对我们的构想进行仿真。Proteus软件能够对我们的原理布线我们可以根据系统提供的错误检查报告来修改原理图,道通过电器检查规则位置。除此之外,proteus将源代码的编辑和编译放到了同一个设计环境中,使用者可以在设计中同事编辑代码,可以让我们更加清晰直观的观察到源程序修改后对仿真结果的影响。我们可以在仿真的过程中不断的完善硬件电路和软件程序,而不必担心损耗,以达到本次设计理想结果。

硬件调试是在 proteus 上进行的,因为 proteus 的强大功能,所以很多错误它都能主动发现并提示我们,而我们最需要注意问题是首先,硬件的整体设计是否有问题,再是各个元器件之间的连线是否正确,其次就是管脚电压是否正常。不管是电压过高还是过低都会导致芯片不能正常工作。如果是实物调试的话,需要注意的就是采样问题,霍尔传感器是在有稳定磁场的情况下才会正常通导,如果户外调试的话则要注意不能让信号齿间进入铁屑之类的东西,不然会影响磁场导致显示出错。

自行车速度里程表的调试过程中软件调试是一个很重要的部分,因为他没有硬件故障那么易于发现,甚至于出错了也不能立即发现。在软件调试的过程中,我遇到的问题大概有以下几点:

(1)首先,在编写单片机软件的时候,给变量定义出现了问题。因为在 C 语言里我们大多是使用 int 来定义变量。可是当变量过多的话,使用 int 就会导致最后生成的 HEX 文件太大。单片机的内部存储空间是有限的,当我发现 int 型的问题之后,我改用 unsigned char 型来定义变量。然而使用的数据的值大于 256 的话,数据就会出,这样在显示的时候,如果数据过大就会导致数据显示错误,因此 unsigned 也不能使用。经过查阅资料,我确定使用 unsigned int 型或者 short。

(2)我们想将一个数组的值一次性赋值给另一个数组进行保存,但会发现编译

报错。这是因为数组名只是首地址,并不能整体赋值。如果我们要保存该数组,我们可以用 for 循环或指针给数组一一进行赋值。

(3)程序的时序问题。

本系统操作简单,易于实现。硬件部分采用的器件应用较广泛,且价格低廉,如AT89C52 单片机、D 触发器 74LS74、存储器24C02、驱动器 74LS244 等。这就意味着所有的器件功能比较强大、稳定。尤其是本次设计的核心元件 AT89C52 单片机,软件技术成熟,并具有种类齐全的支持芯片。这类微处理器既可用作控制器又适合于做数据处理,而且成本也甚是低廉。软件采用模块化设计,可读性强,方便二次开发。而本次设计的自行车速度里程表具有广泛的应用前景,基于如此简单的电路设计和低廉的成本,便能够满足人们对于高性能、多功能自行车里程表的需求,能够应用于家用和测试等各种场合。除此之外,这次设计的自行车速度里程表只是做了比较基本的功能,随着社会的发展和人们需求的提高,自行车速度里程表还有大量的可拓展空间。市场上比较常见的功能有心律检测功能、MP3 功能、卡路里消耗查询等等,这些功能我们都能够通过对单片机芯片的二次开发来实现。

[1] 张毅刚,刘杰. MCS-51 单片机原理及应用[M].哈尔滨工业大学出版社,2004.

[2] 单祥茹.基础元件介——绍传感器(三)[J].中国电子商情:基础电子,2011,(12).:P81—P82,84.

[3] 廖志凌. 基于 DSP 的混合有源电力滤波系统的研究与实现[D].江苏大学,2003.

猜你喜欢
调试单片机速度
行驶速度
速度
电气仪表自动化安装与调试分析
调试新设备
调试机械臂
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
基于航拍无人机的设计与调试