基于SPCE061A的出租车计费系统设计(完整C程序)_第1页
基于SPCE061A的出租车计费系统设计(完整C程序)_第2页
基于SPCE061A的出租车计费系统设计(完整C程序)_第3页
基于SPCE061A的出租车计费系统设计(完整C程序)_第4页
基于SPCE061A的出租车计费系统设计(完整C程序)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、 存档编号: 毕业论文(设计)毕业论文(设计)题题 目目: 基于凌阳单片机基于凌阳单片机 spce061a 的出租车计价器设计的出租车计价器设计 专 业: 电子信息工程 院 系: 电子工程系 年 级: 2005 级 学 号: 0506044008 姓 名: 孟 成 指导教师: 田 浩 职 称: 讲 师 湖北经济学院教务处 制2009 届普通本科毕业论文(设计)湖北经济学院本科毕业论文(设计)2目 录摘摘 要要.3abstract.4文献综述文献综述.5一、绪论一、绪论.81.1 课题理论与实际研究意义.81.2 本文主要研究内容.8二、方案的论证与比较二、方案的论证与比较.92.1 方案一.9

2、2.2 方案二.92.3 方案三.10三、三、 spce061aspce061a 单片机简介及开发单片机简介及开发.113.1 spce061a 芯片简介.113.2 splc501 液晶模组特性 .123.3 spce061a 硬件电路.13四、硬件系统设计四、硬件系统设计.15五、系统软件设计五、系统软件设计.165.1 主程序.165.2 液晶驱动程序.175.3 按键扫描程序.195.4 计价器管理程序.195.5 pwm 管理程序 .205.6 里程计量程序.205.7 时间管理程序.205.8 费用管理程序.21六、系统测试六、系统测试.256.1 预期达到效果.256.2 实际效

3、果.25七、七、总结总结.27致致 谢谢.28参考文献参考文献.29附附 录录.30湖北经济学院本科毕业论文(设计)3摘摘 要要随着我国交通事业的发展以及道路的不断改进,与人民生活密切相关的出租车行业正在飞速发展壮大。出租车计价系统作为出租车的一个重要组成部分,关系着整个出租车行业的发展,因此具有良好的计价系统是非常重要的。日常生活中所用的出租车系统有两种:第一种是采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,电路不够实用。第二种是采用传统的 51 单片机来控制,外接存储芯片和显示驱动电路(驱动数码管)来实现

4、计价,这种方案虽然比较实用,但是其显示部分太过单调,并且不方便整个系统的升级(比如说扩展语音功能)。本文论述了一种新的实现出租车计价器的方案,虽然其本质还是利用单片机来控制,但其效果却有很大的不同。该计费系统的控制部分采用 16 位的凌阳单片机来实现,显示部分则用 lcd 来处理,并且可以利用凌阳单片机自身的音频压缩算法来实现语音的播报。文中首先简述了出租车计价系统的意义和凌阳 spce061a 单片机和 splc051 液晶模组的特点,然后根据出租车计价器系统的控制要求,详细的阐述了设计方案的选择以及整个程序设计的过程。并以凌阳科技的 spce061a 单片机以及液晶模组建立智能出租车计价器

5、控制系统,并在此平台上完成对出租车状态进行模拟控制的软件设计。充分利用了 spce061a 具有直接输出可调 pwm 的特性,,通过改变 pwm 的频率以达到模拟出租车行驶速度的变化。经过实践,结果表明,该系统设计方案合理,可靠性高,达到预期目标,实现效果好。是一种操作性良好的设计方案。关键词关键词: spce061a ;splc501 液晶模组;出租车;计价器 湖北经济学院本科毕业论文(设计)4abstractwith the development of transport, as well as the continuous improvement of roads, taxis and

6、 peoples living standard as the industry is closely related to the rapid development and growth. pricing system as a taxi an important part of the relationship between the entire taxi industry, it has a good pricing system is very important. the daily life of the taxi used in several systems, there

7、are two: the first one is the use of sensors, the output pulse signal, after amplification of plastic as a shift register pulse, the realization of pricing, but taking into account that the circuit is too simple and not stable enough performance, but can not regulate price, we can not adjust billing

8、 based on the weather standards, lack of practical circuits. the second is the use of traditional single-chip microcomputer to control 51, an external memory chips and display driver circuit (driver digital tube) to achieve the pricing, although such programs more practical, but it showed some too m

9、onotonous, and the whole system is not convenient upgrade (for example, the expansion of voice-enabled). in this paper, the realization of a new taximeter program, although its nature or the use of single-chip microcomputer to control, but its effects are quite different. the accounting system used

10、to control part of the sunplus 16-bit single chip to achieve, with lcd display and partly to deal with, and can use their own sunplus single-chip audio compression algorithm to achieve the broadcast voice. first of all, the article outlines the significance of taximeter system and splc051 sunplus sp

11、ce061a mcu and the characteristics of lcd module, and then in accordance with taximeter control system and detailed design on the whole process of selection and design process. after practice, the results show that a reasonable design of the system, high reliability and to achieve the desired goal,

12、to achieve good results. interoperability is a good design. the program of spce061a sunplus lcd module, as well as the establishment of single-chip smart taximeter control system, and platform in this state of completion of the taxi to simulate the control of software design. spce061a full advantage

13、 of the direct output of the characteristics of adjustable pwm, pwm frequency by changing the simulation in order to achieve the changes in taxi speed.keywords : spce061a ;splc501 lcd module ; taxi ; taximeter湖北经济学院本科毕业论文(设计)5文献综述文献综述基于凌阳 spce061a 的出租车计价器的设计与研究摘要:随着电子技术的发展,出租车计价器的技术水平也在不断进步和提高,国内出租车

14、计价器已经经差不多历了四个发展阶段,从传统的全部由机械元件组成的机械式,到半电子式即用电路代替部分机械元器件的出租车计价器,再从集成电路式到目前的由单片机小系统组成的出租车计价器。本文综合了各种方案与方法,叙述了一种新型的出租车计价器的设计模型。关键词:出租车 计价器 单片机随着人们生活水平的提高,大家已经不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是就出现了出租车行业,它以低价高质的服务给人们带来了出行的享受。但是总存在着车主与顾客之间的纠纷,这困扰着行业的发展。而在出租车行业中解决这一矛盾的最佳方法就是改良计价器。用更加精良的计价器来为乘客提供更加快捷的服务。但凡坐过出租车

15、的人都应该知道,只要汽车一开动,随着行驶路程的增加,我们就会看到汽车前面的计价器里程显示的读数从零逐渐增大,而当行驶到某一值时(如 3km)计费数字显示开始从起步价(如 5 元)增加。当出租车到达某地需要在那里等候的时候,出租车司机只需按一下“等待”键,每等候一定时间,计费显示就增加一定该收的等候费用。当汽车继续行驶时,停止等候费用的计算,继续按里程计费。到达目的地时,就按显示的数字收取相应的费用。我国大约在 70 年代开始出现出租车,但那个时侯的计费系统大都是从国外进口的,不但不准确,而且价格还十分贵。随着经济水平的不断发展,出租车行业的发展势头已十分突出,国内很多机械厂家开始推出国产计价器

16、。出租车计价器的功能也从刚开始的只显示路程,到能够自主的计费,以及现在的能够打印发票和语音提示、按时间自主变动单价等功能。最早的出租车计价器是机械式,它是用齿轮比的方法来计算出租车所跑的公里数,并由路程来计算车费。但机械齿轮的体积比较大,计算不是很准确,而且易磨损。后来就采用模拟电路和数字电路设计的计价器。这种计价器整体电路的规模较大,用到的器件很多,造成故障率比较高,而且难调试,对于模式的切换需要用到机械开关,开关时间久了就会造成接触不良,功能不易实现。随着技术的发展,现湖北经济学院本科毕业论文(设计)6阶段越来越多的出租车计价器采用单片机或者 eda 来实现。用单片机进行设计,相对来说功能

17、强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。通过研究出租车计价器的发展,我们发现其本质就是对脉冲的计数。各个不同时期的计价器虽然实现的方法不同,但有一点事相同的:把里程转换为数字脉冲,然后对脉冲进行计数,然后对数字量处理,把最后处理的结果予以显示,就是我们看到的出租车计价器 。所以出租汽车计价器用传感器是出租汽车计价器的重要部件,传感器的准确性直接影响计价器的计价精度,是计价器日常修理中遇到的最多的问题。它的功能是将转动的机械信号变成电脉冲信号,传输给计价器的输入接口,根据输入的脉冲数来计算出租车行驶的里程。出租车计价器使用

18、的传感器可分为三类:光电式,磁电式和干簧管式。光电式传感器体积比较大,且不易安装,已经停止使用。现在主要用的是干簧管式和霍尔元件式传感器。干簧管式传感器灵敏度高,安装简单,价格便宜,体积小, 而且干簧管的接触簧片是在玻璃管里面,故可以在较潮湿的环境下使用。当传感器的转轴转动时,永久磁铁经过干簧管一侧,干簧管内的触点就接通一次,传感器就输出一个脉冲信号,这样完成了一次转换过程。但干簧管式也有致命的问题,由于它是机械接触,使用寿命不可能太长,易损坏,如果出现短路或者电流过大的情况,就会导致干簧管接点烧粘而无法使用。计价器用的传感器都靠在发动机旁边,温度很高,而使用的磁铁如果磁性减弱就会丢掉脉冲。传

19、感器的转轴磨损后,间隙变大,发动机的震动会使传感器转轴瞬间产生一个移位,而造成多个输出脉冲信号。所以近段时间以来,干簧管传感器使用越来越少。霍尔传感器是现在出租汽车计价器所选用的主流传感器,可以检测转数、转速,霍尔传感器性能可靠,应用电路简单,尺寸小,价格便宜,在计价器配套使用广泛。霍尔元件是在半导体薄片的两端通过电流控制,并在半导体薄片的垂直方向上施加磁场,垂直于电流和磁场方向上产生电压称为霍尔电压,这一现象就是霍尔效应。根据霍尔效应制造的元件就是霍尔元件。目前的霍尔元件、温度补偿电路、稳压电源及放大器做在一个芯片上,成为霍尔传感器,目前计价器用传感器大都是开关型霍尔传感器。它的工作原理是:

20、当外加磁场强度超过动作点时,传感器输出一个低电平,但磁场强度降到动作点以下时,传感器输出的电平保持不变,一直降到释放点时,传感器的输出才由低电平跳变至高电平。这些传感器最终都是把里程转换为脉冲信号进行处理。在本文中,考虑到实际测试情况,没有湖北经济学院本科毕业论文(设计)7用传感器来测量里程,而是直接一个平率可调的脉冲源来替代里程的转换部分。除了里程转换部分,计价器的显示也是一个很重要的模块。如何把里程数,费用等信息实时正确的显示,关系都服务双方切实的利益。在之前的计价器系统中,很多公司 采用的是51单片机来做控制 ,然后外加存储芯片和数码管实现里程和费用等信息 。该方法虽然适用,但是外部扩展

21、芯片太多,而且如果要显示多个状态的话数码管的数量也要相应的增加,这就会使系统整个的升级受到限制。并且,用数码管做显示不是很美观,它只能显示最基本的数字,其他的就无法满足需求。所以显示部分最后使用液晶屏,它不仅可以显示静态图片和文字,而且可以显示动态图片和组合图片。并且实现起来不复杂,不会像数码管那样需要大量的芯片来支持。本文中所采用的就是凌阳16位单片机配合液晶模组来实现整个出租车计价器的模拟。参考文献:1罗亚非.凌阳16位单片机应用基础m .北京:北京航空航天大学出版社,2003.2雷思孝,李伯成,雷向莉.单片机原理及实用技术凌阳 16 位单片机原理及应用 陕西:西安电子科技大学出版社,20

22、043凌阳科技.61板使用说明书s . 20054谭浩强.c程序设计m .北京:清华大学出版社,1999.5 侯媛彬.凌阳单片机原理及其毕业设计精选 科学出版社,2006.6薛均义.凌阳16位单片机原理及应用m .北京:北京航空航天大学出版社,2003.7凌阳科技.凌阳16位单片机开发实例m .北京:北京航天航空大学出版社,2006. 8段里仁,任大任.道路交通自动控制 m .北京:中国人民公安大学出版社,1991.9 陈德望,李灵犀,刘小明,等.城市高速道路交通控制方法研究的回顾与展望j .信息与控制,2002 .10 汪希时.智能铁路交通控制技术及其展望j .世界科技研究与发展,2002

23、.11凌阳单片机在大学生电子竞赛中的应用m.凌阳科技大学计划 北京航空航天大 学出版社,2005.12凌阳单片机课程设计指导m.凌阳科技大学计划 北京航空航天大 学出版社,2007.13 kreidl h.嵌入式flash微控制器简介(上) (embedded flash mcu) j .世界电子元器件,200214 kreidl h.嵌入式flash微控制器简介(下) (embedded flash mcu) j .世界电子元器件,2002 15 aseem vasudev prabhugaonkar . interfacing nand flash memory with adsp 2 2

24、126x sharc processors analog devices , inc ,2005. 16 samsung electronics corporation. k9f4 g08u0m 512m8bits / 1g8bits nand flash memory data sheet s , 2004.湖北经济学院本科毕业论文(设计)817wakerly j f. digital design principles and practices. new jersey: prentice 2 hall, 1990.18 凌阳大学计划网站( ) 湖北经济学院本科毕业论文(设计)9一、绪论一

25、、绪论1.1 课题理论与实际研究意义课题理论与实际研究意义但凡坐过出租车的人都应该知道,只要汽车一开动,随着行驶路程的增加,我们就会看到汽车前面的计价器里程显示的读数从零逐渐增大,而当行驶到某一值时(如 3km)计费数字显示开始从起步价(如 5 元)增加。当出租车到达某地需要在那里等候的时候,出租车司机只需按一下“等待”键,每等候一定时间,计费显示就增加一定该收的等候费用。当汽车继续行驶时,停止等候费用的计算,继续按里程计费。到达目的地时,就按显示的数字收取相应的费用。出租车计价器是顾客与司机双方的交易规则,它是出租车行业发展的一个标志,是出租车行业中十分重要的工具。它关系着买卖双方的既得利益

26、。具有性能良好的计价器无论是对广大出租车司机还是对顾客来说都是必要的。因此,汽车计价器的研究是十分价值的。随着人们生活水平的提高,大家已经不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是就出现了出租车行业,它以低价高质的服务给人们带来了出行的享受。但是总存在着车主与顾客之间的纠纷,这困扰着行业的发展。而在出租车行业中解决这一矛盾的最佳方法就是改良计价器。用更加精准的计价器来为乘客提供更加快捷的服务。1.2 本文主要研究内容本文主要研究内容出租车日益普遍,了解在出租车上应用的计价系统的工作原理并使用单片机实现该系统。本文所述方案充分发挥人性化的特点,利用 spce061a 的语音功

27、能,配合splc501 液晶模组,模拟实现带语音提示的出租车计价系统。湖北经济学院本科毕业论文(设计)10二、方案的论证与比较二、方案的论证与比较2.1 方案一方案一采用数字电路控制。其原理方框图如图 2.1 所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,电路不够实用。图 2.1 数字电路方案2.2 方案二方案二采用 51 单片机控制。利用单片机丰富的 io 端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。其原理如图 2.2 所示。湖北经济学院本科毕业论文(设计)11图 2.2

28、51 单片机控制方案2.3 方案三方案三采用凌阳公司 spce061a 16 位单片机做控制,利用其自带的强大的语音处理能力和液晶显示能力,模拟实现具有语音提示功能的出租车计价器系统。其原理图如 2.3 所示。图 2.3 spce061a 单片机控制方案通过以上几种方案的比较,单片机方案有比较大的活动空间,不但能实现所要求的功能,而已还有很大的扩展空间,并且方便以后的系统升级,所以我们选择单片机的方案来实现。在 8 位和 16 位单片机之间,我们选择了凌阳的 16 位单片机。因为考虑到用 51 单片机来实现人机交互界面的话,必须用到串口显示驱动电路和缓冲电路,而且其显示部分只能用 led 来实

29、现,不具有视觉吸引力,故我们选择了后者。spce061a 自身不仅拥有强大的语音处理能力,而且他可以便捷的同 lcd 配套使用,迅速的实现图像和文字的处理。通过分析,我们把本次设计分为硬件和软件设计两个部分来分别进行,其硬件设计划分为以下模块:spce061a 主控板模块和 splc501 液晶模块。采用spce061a 精简开发板作为核心控制部件,利用 spce061 板上的 3 个按键控制出租车的不同行驶状态,根据实际情况去模拟出租车计价器。在软件设计上,我们把他分成以下几个模块,即:主程序模块、液晶驱动程序模块、按键扫描程序模块、语音播放程序模块、计价管理程序模块。湖北经济学院本科毕业论

30、文(设计)12三、三、 spce061aspce061a 单片机简介及开发单片机简介及开发3.1 spce061a 芯片简介芯片简介spce061a 是一款基于 nsp 内核的 16 位单片机,其芯片特性如下: 工作电压:内核工作电压 vdd 为 3.03.6v(cpu),i/o 口工作电压 vddh为 vdd5.5v; 具备触键唤醒功能; 系统处于备用状态下(时钟处于停止状态),耗电小于 2a3.6v; 内置 2k 字 sram 和 32k 字闪存 rom; 2 个 10 位 dac(数-模转换)输出通道; 32 位通用可编程输入/输出端口; 2 个 16 位可编程定时器/计数器(可自动预置

31、初始计数值); 7 通道 10 位电压模-数转换器(adc)和单通道声音模-数转换器; 14 个中断源可来自定时器 a / b,时基,2 个外部时钟源输入,键唤醒; 内置在线仿真(ice,in- circuit emulator)接口; 低电压复位(lvr)功和低电压监测(lvd)功能; 具备串行设备接口; cpu 时钟:0.32mhz49.152mhzspce061a 的内部结构框图如图 3.1 所示:湖北经济学院本科毕业论文(设计)13图 3.1 spce061a 内部结构图3.2 splc501 液晶模组特性液晶模组特性splc501 液晶模组具有以下特: 显示格式:12864 点阵的图

32、形液晶; 显示模式:黄色模式stn 液晶; 输入数据:兼容68/80 系列mpu 时序。splc501液晶模组的实物图如图3.2所示:湖北经济学院本科毕业论文(设计)14图 3.2 splc501 液晶模组实物图3.3 spce061a 硬件电路硬件电路spce061a最小系统最小系统本方案使用 61 板作为单片机最小系统。61 板包括 spce061a 芯片及外围的基本模块,外围基本模块包括:锁相环外围电路(pll) 、晶振输入模块(osc) 、指示灯(led) 、复位电路(reset)等,如图 3.3 所示。湖北经济学院本科毕业论文(设计)15图 3.3 spce061a 最小系统lcd显

33、示器显示器splc501液晶模组提供的lcd显示器采用凌阳splc501液晶驱动芯片,点阵分辨率为12864。spce061a与splc501液晶模组的硬件连接如图 3.4所示。图 3.4 spce061a 与 splc051 液晶模组的硬件连接图湖北经济学院本科毕业论文(设计)16四、硬件系统设计四、硬件系统设计图4.1 为出租车计价器的系统框图,采用 spce061a 芯片作为主控制器,通过iob2 接收外部中断脉冲输入(在本文中使用 iob9 输出的 pwm 模拟传感器的脉冲),对脉冲进行计数,然后换算成里程数,并按照出租车计价系统的标准进行计费。图 4.1 出租车计价器系统框图下图为出

34、租车计价器的硬件连接图。湖北经济学院本科毕业论文(设计)17五、系统软件设计五、系统软件设计本系统软件中包括下面程序模块:本系统软件中包括下面程序模块:主 程 序:初始化系统涉及到的硬件模块,扫描键盘,根据按键启动/停止里程测量,并调用用户界面程序定时更新日期时间显示,实时更新单价、里程、低速时间、费用等信息显示。液晶驱动程序:lcd 显示驱动程序,图形显示、实现文本等功能。按键扫描程序:扫描按键,返回按键结果。语音播放程序:播放提示音,行驶费用、里程等。计价管理程序:完成传感器脉冲计数,然后转换为里程数,并根据转换标准计算对应的费用,同时,测量行驶速度,并统计低速时间,计算低速等待费用,然后

35、提供液晶显示更新函数,使主函数可以控制更新界面以及行驶路程、费用等信息的显示。该模块包括时间管理程序、pwm 管理程序、费用管理程序、里程计量程序、用户界面控制程序等部分。5.1 主程序主程序主程序流程如图 5.1:程序运行后首先初始化各个部件,同时打开 1khz 和 2hz时基中断,为键盘扫描模块和时间管理模块服务。然后,进入主循环,不断进行按键扫描,并根据按键返回的结果启动/停止里程计量,或进入系统设置模式。在主循环中同时还要对时间进行更新。湖北经济学院本科毕业论文(设计)18图 5.1 主程序流程图 5.2 液晶驱动程序液晶驱动程序lcd 显示部分采用 splc501 液晶模组附带的驱动

36、程序。该驱动的架构如图 5.2所示。湖北经济学院本科毕业论文(设计)19图 5.2 lcd 驱动程序架构 驱动程序由 5 个文件组成,分别为:底层驱动程序文件 splc501driver_io.asm 、splc501driver_io.inc;用户 api 功能接口函数文件 dataosforlcd.asm 、splc501user.c、splc501user.h。splc501driver_io.asm:该文件为底层驱动,负责与 splc501 液晶显示模组进行数据传输的任务,主要包括端口初始化、写指令、写数据、读数据等函数;这些函数仅供 splc501user.c 调用。splc501d

37、river_io.inc :该文件为底层驱动的头文件,主要对使用到的寄存器进行定义,还对 spce061a 和 splc501 液晶模组的接口进行配置;用户可以根据自已的需求来配置此文件,但要使端口的分配符合实际硬件的走线。dataosforlcd.asm:该文件中提供了一些供 api 功能函数调用的数据处理子程序,主要完成画圆偏差量的计算、显示效果的叠加等。splc501user.c:文件中定义了 lcd 显示的各种 api 功能函数。splc501user.h:该文件为用户 api 函数文件的头文件,主要对一些记住符定义,及配置 lcd 的一些设置,另外文件里还对 splc501user.

38、c 中的函数作了外部声明,用户需要使用 lcd 的 api 功能函数时,需要把该文件包含在用户的 c 文件中。湖北经济学院本科毕业论文(设计)205.35.3 按键扫描程序按键扫描程序系统使用 1khz 时基中断对 ioa 低八位进行扫描,并进行长短按键判断、去抖等工作。按键扫描程序提供下面三个 api 函数供用户使用按键功能:void keyscan_init();入口参数:无出口参数:无功 能:按键扫描初始化。void keyscan_serviceloop();入口参数:无出口参数:无功 能:按键扫描后台服务程序。unsigned int keyscan_getkey(unsigned

39、int *keytype);入口参数:按键类型出口参数:键值功 能:该函数将返回当前按键值,并通过入口参数 keytype 返回该按键类型。5.45.4 计价器管理程序计价器管理程序本系统的核心是对传感器脉冲进行计量,并把它转换为相应的公里数,进而根据规则计算行驶费用,与此同时,还要对行驶速度进行测量,判断当前车子是否处于低速状态,以实现对低速状态的计时,并计算等待费用。计价管理程序包括如下几个组成部分:时间管理程序、pwm 管理程序、费用管理程序、里程计量程序、用户界面控制程序等,各部分共同协调,完成计价管理的核心工作以及用户界面的管理。5.5 pwm 管理程序管理程序本方案中,使用了 ti

40、merb 产生 pwm 波,以用来模拟实际的出租车上的里程传感器脉冲。通过改变 pwm 的频率,来改变车速,对 pwm 波的脉冲进行计数,就湖北经济学院本科毕业论文(设计)21如同于对里程传感器的脉冲进行计数。对 pwm 的管理包括:启动 pwm、减小 pwm 频率、增大 pwm 频率、停止pwm 等。系统中为 timerb 设置的时钟源为 96k,以产生一定范围的 pwm 波,改变timerb 的计数初始值,将会改变 pwm 的溢出频率,从而实现管理 pwm 频率的目的。5.6 里程计量程序里程计量程序本方案中使用了外部中断 1 来实时响应由 iob2 输入的脉冲。并在外部中断服务程序中对中

41、断次数进行计量,并由此统计输入脉冲的数量。一般情况下,运行一段时间后由 iob2 输入的脉冲数量会比较大,容易导致计数结果溢出。故在计量子程序中使用了两个变量对脉冲进行计数。uipulsenum 变量用来记录中断次数(也就是脉冲个数) ,当达到一公里对应的脉冲个数后,使另外一个记录公里数的变量 uidistance 加 1,并使 uipulsenum 归零重新计数。这样以来,便将公里数的整数与小数部分分开统计,使结果不容易溢出,也易于结果的转换。另外,程序中使用了 2hz 时基中断来计算车辆的行驶速度。统计 0.5s 内的脉冲个数,即可以得到车辆的行驶速度。5.7 时间管理程序时间管理程序系统

42、使用 2hz 时基中断实现计时。中断服务程序流程如图 5.3 所示。其中,2hz计数器 ultimer 用来为其他模块提供两个 2hz 的计数器以方便的实现计时等操作。湖北经济学院本科毕业论文(设计)22图 5.3 时钟服务程序流程图5.8 费用管理程序费用管理程序费用管理程序的作用是监测行驶里程、系统时间和低速等待时间,并根据一定规则换算成费用。图 5.4 所示的是启动计费的程序流程图。启动计费时,需要判断当前时间是属于那个时间段,以便执行不同的起步价和单价。湖北经济学院本科毕业论文(设计)23图 5.4 启动计费程序流程图启动计费后,主程序需要在主循环中不断调用计费子程序。计费子程序是按照

43、规则计算费用的核心程序。在这里,程序记录当前行驶路程,并判断是否出现昼夜交替现象,以便对单价进行调整;并判断行驶里程是否超过规定的空返路程,一旦超过则将价格上涨 50;从里程测量模块得到车辆行驶的速度,判断是否出现低速状态,并利用时钟管理模块提供的 2hz 计数器对低速行驶进行计时,从而计算出低速等待时间。图 5.5 所示的是计费服务程序的流程图。湖北经济学院本科毕业论文(设计)24图 5.5 启动计费服务程序流程图根据计费服务程序中统计的低速等待时间,可以按照图 5.6 所示的流程换算成低速等待费用。图 5.6 等待时间换算成费用程序流程图湖北经济学院本科毕业论文(设计)25行驶结束后,停止

44、里程测量程序,即可完成此次计费。系统将保留本次的费用、里程等数据,直至下一次计费时自动清除。湖北经济学院本科毕业论文(设计)26六、系统测试六、系统测试6.1 预期达到效果预期达到效果 在空车状态下,按下 key3 可以播放语音 在行驶状态下,按 key1、key2 可以改变行驶的速度 在行驶状态下,直接拔掉 iob2 与 iob9 之间的跳线,可以模拟刹车 在行驶状态下,按下 key3 可以停车,并播放语音6.2 实际效果实际效果系统实物图如图 6.1 所示:图 6.1 系统实物图湖北经济学院本科毕业论文(设计)27空车状态下实物图如图 6.2 所示:图 6.2 空车状态在空车状态下,系统播

45、放“上午(中午/下午/晚上)好,欢迎乘坐本公司出租汽车,如果您对我们的服务不满意,可以拨打 12345678 反馈您的意见,谢谢”的提示音,同时启动里程测量。行驶状态时的实物图如 6.3 所示:图 6.3 行驶状态湖北经济学院本科毕业论文(设计)28在行驶状态下,可以通过 key1、key2 来改变行驶的速度,并且可以刹车;在按下 key3 时,系统播放“您好,行驶里程 xxx 公里,应付 xxx 元,请检查您的随身物品,欢迎再次乘坐,再见”的提示音。在空车状态下,可以通过按键对系统的时间进行设置。整体测试效果基本达到预期,完成了基本的设计要求。湖北经济学院本科毕业论文(设计)29七、七、总结

46、总结此次设计到此已经趋于结束,下面做一些个人在设计中的总结。首先,在设计中我采用的是凌阳公司的 spce061a,它的性能特点及其相关的开发平台为设计提供了极其方便的条件,本系统只是 spce061a 的一个基本应用。而在实现出租车计价器的路程模拟时,不仅仅只有利用 spce061a 内部输出脉冲这一种方案,通常我们用的比较多的是霍尔传感器来实现量程的模拟。在最开始的设计方案中 ,我们本打算直接引用 a44e(开关型霍尔传感器)来实现量程的模拟,但在实际检测中,发现霍尔传感器的输出脉冲不是标准的矩形规则,经常出现尖脉冲的情况 ,如果我们把这样的脉冲型号直接输入到单片机,不仅会对单片机造成很大的

47、压力,而且量程的准确性也得不到保证,所以我们最后放弃了这种用传感器获得模拟脉冲的方案。后来准备直接用函数型号发生器直接产生矩形波,来计量路程,这样一来,整个系统在测试时必须附加很多不必要的要求。因此最终我们选择了本文中所采用的方案,事实也证明该方案是可行的。另外在系统软件的设计部分中,我们运用到 spce061a 的外部中断。在整个系统初步设计完成以后,我们曾测试过外部脉冲,当时结果怎么调试也不对。后来才发现在设置 spce061a 的外部中断时,必须要注意他们的初始化条件。spce061a有两个外部中断:iob2 是外部中断 1 的输入引脚,iob3 是外部中断 2 的引脚;如果要涉及到外部

48、中断时,必须在初始化时把 iob2 设置成带上拉电阻的输入端口,把 iob3 设置成带上拉电阻的输入端口位高阻输入;并且触发中断的是负脉冲,这几点是一定要处理好的,否则外部中断不能被响应。由于时间紧张,整个系统还存在某些不甚完善的地方。例如在测量里程时误差部分的处理、启动和停止时不具有账单打印功能等,这些都是要不断完善的地方。湖北经济学院本科毕业论文(设计)30致致 谢谢本论文是在导师田浩老师的悉心指导下完成的。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了

49、基本的研究方法,还使我明白了许多待人接物与为人处世的道理。本论文从选题到完成,每一步都是在导师的指导下完成的,倾注了导师大量的心血。在此,谨向导师表示崇高的敬意和衷心的感谢!本论文的顺利完成,离不开各位老师、同学和朋友的关心和帮助。在此感谢田浩老师的指导和帮助。在大学四年的学习期间,得到全班每一个同学的关心和帮助,在此表示深深的感谢。没有他们的帮助和支持是没有办法完成我的论文的,同窗之间的友谊永远长存。 孟成 2009 年 3 月 28 日湖北经济学院本科毕业论文(设计)31参考文献参考文献1罗亚非.凌阳16位单片机应用基础m .北京:北京航空航天大学出版社,2003.2雷思孝,李伯成,雷向莉

50、.单片机原理及实用技术凌阳 16 位单片机原理及应用 陕西:西安电子科技大学出版社,20043凌阳科技.61板使用说明书s . 20054谭浩强.c程序设计m .北京:清华大学出版社,1999.5 侯媛彬.凌阳单片机原理及其毕业设计精选 科学出版社,2006.6薛均义.凌阳16位单片机原理及应用m .北京:北京航空航天大学出版社,2003.7凌阳科技.凌阳16位单片机开发实例m .北京:北京航天航空大学出版社,2006. 8段里仁,任大任.道路交通自动控制 m .北京:中国人民公安大学出版社,1991.9 陈德望,李灵犀,刘小明,等.城市高速道路交通控制方法研究的回顾与展望j .信息与控制,2

51、002 .10 汪希时.智能铁路交通控制技术及其展望j .世界科技研究与发展,2002 .11凌阳单片机在大学生电子竞赛中的应用m.凌阳科技大学计划 北京航空航天大 学出版社,2005.12凌阳单片机课程设计指导m.凌阳科技大学计划 北京航空航天大 学出版社,2007.13 kreidl h.嵌入式flash微控制器简介(上) (embedded flash mcu) j .世界电子元器件,200214 kreidl h.嵌入式flash微控制器简介(下) (embedded flash mcu) j .世界电子元器件,2002 15 aseem vasudev prabhugaonkar .

52、 interfacing nand flash memory with adsp 2 2126x sharc processors analog devices , inc ,2005. 16 samsung electronics corporation. k9f4 g08u0m 512m8bits / 1g8bits nand flash memory data sheet s , 2004.17wakerly j f. digital design principles and practices. new jersey: prentice 2 hall, 1990.18 凌阳大学计划网

53、站( ) 湖北经济学院本科毕业论文(设计)32附附 录录相应的程序代码段主程序:#include .keykey.h#include cal.h#include cost.h#include speed.h#include interface.h#include playservice.h#include setinterruptstatus.h#include distance.h#include playsnd.hstatus sysstatus;/系统状态 /status 结构体在 interface.h 中定义/=/ 语法格式:int main(void)/ 实现功能:主函数/ 参数:

54、无/ 返回值:无/=int main()unsigned int key, keytype;sysstatus = idle;keyscan_init();setintstatus(c_irq5_2hz);setintstatus(c_irq4_1khz);_asm(irq on);interface_init();/初始化用户界面interface_normal();/显示常规界面interface_updatestatus(sysstatus);/显示当前系统状态(空车)while(1)key = keyscan_getkey(&keytype);/按键扫描switch(key)case

55、c_startstopkey:if(c_sreleasekeystate = keytype)if(idle = sysstatus)湖北经济学院本科毕业论文(设计)33sysstatus = run;/如果是空车状态,则进入行驶状态cost_startrunning();/启动计费interface_updateprice();interface_updatestatus(sysstatus);/更新显示playsnd(cal_gethello(cal_gethour() + voice_morning, no_wait);playsnd(voice_welcom, wait_other_e

56、nd);/播放提示音else if (run = sysstatus)sysstatus = idle;cost_stoprunning();/如果是行驶状态,则停止计费interface_updateprice();interface_updatestatus(sysstatus);playsnd(voice_bye1, no_wait);/播放提示音playdistance();/播放行驶里程playsnd(voice_bye2, wait_other_end);playcost();/播放费用playsnd(voice_bye3, wait_other_end);break;case c

57、_modekey:if(c_sreleasekeystate = keytype)if(idle = sysstatus)sysstatus = sysset;/如果是空车状态,则进入日期时间设定模式interface_updatestatus(sysstatus);interface_systemset();/显示系统设定界面,并对日期时间进行设定sysstatus = idle;/设定结束,回到空车状态interface_updatestatus(sysstatus);else if(run = sysstatus)speed_down(10);break;case c_setkey:if

58、(c_sreleasekeystate = keytype)if(idle = sysstatus)cost_clearcost();/清除计费记录湖北经济学院本科毕业论文(设计)34interface_updatewaittime();/更新显示interface_updatedistance();interface_updatecost();interface_updatestatus(sysstatus);else if(run = sysstatus)speed_up(10);break;default:break;interface_updatetime();/更新时间显示inter

59、face_timeflash();/秒闪烁,同时更新低速等待时间if(run = sysstatus)cost_serviceloop();/计费服务程序(用于监测行驶速度)interface_updatedistance();/实时显示行驶里程interface_updateprice();interface_updatecost();/实时显示费用return 0;按键处理 key.c#include key.hunsigned int ui_keyscanstate;unsigned int ui_keystate;unsigned int ui_keyid;unsigned int u

60、i_keycount;unsigned int ui_keycountbk;unsigned int ui_repeatcount;unsigned int ui_repeatevent;/=/ 语法格式:void keyscan_init(void)/ 实现功能:按键初始化/ 参数:无/ 返回值:无/=void keyscan_init(void)ui_keyscanstate = c_keystatefirst;湖北经济学院本科毕业论文(设计)35ui_keystate = c_nullkey;ui_keycount = 0;ui_keycountbk = 0;ui_keyid = c_n

温馨提示

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

评论

0/150

提交评论