出租车计费系统之电路的设计与实现

更新时间:2024-06-17 11:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

长春师范学院 毕业设计(论文)

题目 出租车计费系统之电路的设计与实现 院系名称 计算机科学与技术 班 级 06级计算机科学与技术 学生姓名 林岩 学号 0611240112 指导教师 李晓宁 评阅教师 时 间

长春师范学院毕业论文 摘要

摘要

现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。

本文介绍了利用 SPCE061A 作为主控制器,配合 SPLC501 液晶模组设计出租车计价器的过程。该系统可以接受里程传感器的脉冲输入(在本方案中使用 PWM 模拟替代传感器脉冲),并对脉冲进行计量,继而实现转换成里程的过程;采用现行出租车计价系统的计算方法,对行驶里程进行计费;并具有友好的语音提示界面。

关键词:SPCE061A SPLC501 液晶模组 出租车 计价器

I

长春师范学院毕业论文 Abstract

Abstract

It is now the major cities in the taxi industry have universal automatic meter, meter technology development is a foregone conclusion. And some small cities not yet universal, but with increasing speed up urban construction, a symbol of urban landscape taxi industry will also accelerate development, and the popularity meter is no doubt, therefore, the future of the automobile market valuation is still potential .

describes SPCE061A as the main controller, with SPLC501 taximeter LCD module design process. The system can accept the mileage sensor pulse input (in this program using alternative sensors analog PWM pulse), and pulse measurement, then the process of realization into mileage; use of the existing taxi pricing system is calculated on the mileage to billing; and have a friendly voice prompts interface.

Key words: SPCE061A SPLC501 LCD module Taximeter

II

长春师范学院毕业论文

目录

1 引言 ......................................................................................................................................... 3 1.1 开发背景...........................................................................................................3 1.2 开发方案...........................................................................................................4 1.3 功能简介...........................................................................................................4 2 系统硬件设计.........................................................................................................5

2.1 SPCE061A芯片简介......................................................................................6 2.1.1 SPCE061A 特性.....................................................................................6

2.1.2SPCE061A接口说明 ..............................................................................7 2.2 SPLC501芯片................................................................................................ 8 2.2.1 SPLC501简介.......................................................................................8 2.2.2 SPLC501功能.......................................................................................9 2.2.3 SPLC501 液晶模组特性......................................................................9 2.3 硬件电路.....................................................................................................10 2.3.1 SPCE061A最小系统............................................................................10 2.3.2 LCD显示器...........................................................................................10 3 系统软件设计........................................................................................................................12

3.1 主程序........................................................................................................ 12 3.2 液晶驱动程序.............................................................................................13 3.3 按键扫描程序.............................................................................................15 3.4 计价管理程序.............................................................................................21 3.4.1 PWM管理程序......................................................................................21 3.4.2 里程计量程序.....................................................................................21

I

长春师范学院毕业论文

3.4.3 时间管理程序......................................................................................22 3.4.4 费用管理程序......................................................................................22 3.4.5 用户界面控制程序..............................................................................25 4 调试及检测..............................................................................................................26

4.1在线调试........................................................................................................... 26

4.1.1在线调试器(PROBE)和EZ-PROBE简介.................................................26 4.2 SPCE061A的检测.............................................................................................27 4.2.1程序下载.............................................................................. ....................27 4.2.2检测...........................................................................................................28 5 设计时应注意的问题.............................................................................................29 6 计价器发展前景.....................................................................................................29 7 结语语.....................................................................................................................30 8 参考文献.................................................................................................................................31

II

长春师范学院毕业论文 第一章

1引言

本方案在深入了解在出租车上计价系统的工作原理基础上,充分发挥人性化的特点,利用 SPCE061A 的语音功能,配合 SPLC501 液晶模组,模拟实现带语音提示功能的出租车计价系统。

1.1开发背景

汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。

随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。 现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。

计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因此,具有良好性能的计价器对广大出租车司机朋友来说是很必要的。

我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只

3

长春师范学院毕业论文 第一章 1引言

显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。

1.2开发方案

采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。

采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。

单片机的基本知识和部分应用,进行的汽车计价器设计。然后详细介绍了系统硬件设计和软件设计,以及单片机相关技术知识,对程序中用到的系统函数也做了简单介绍。

出租车计价器显示的营运金额是营运里程与价格的函数(等候时间一般折算成一定比例的里程来计算)。出租车计价器通过传感器与行驶车辆连接。出租汽车的实际里程通过传感器的脉冲信号在计价器里折算成一定的计价营运里程。

1.3功能简介

本方案可以通过里程传感器的脉冲输入实现里程的转换和行驶里程计费过程,并提供了有好的用户界面和语音提示功能。

4

长春师范学院毕业论文 第一章 1引言

2 系统硬件设计

图 2.1 为出租车计价器的系统框图,采用 SPCE061A 作为主控制器,通过 IOB2 接收传感器的脉冲输入(在本方案中使用 IOB9输出的 PWM 模拟传感器的脉冲),对脉冲进行计数,然后换算成里程数,并按照现行的出租车计价系统的标准进行计费。

图 2.1 出租车计价器系统框图

图 2.2 为出租车计价器的硬件连接图。

图 2.2 出租车计价器硬件连接图

5

长春师范学院毕业论文 第一章 1引言

2.1 SPCE061A 芯片简介

61 板是 SPCE061A EMU BOARD 的简称,是以凌阳 16 位单片机 SPCE061A为核心的精简开发-仿真-实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。61 板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含 MIC 输入部分和 DAC 音频输出部分)、复位电路等,并采用电池供电,方便随身携带。

2.1.1 SPCE061A 特性

其芯片特性如下:

1、工作电压:内核工作电压 VDD为 3.0~3.6V(CPU),I/O口工作电压 VDDH 为 VDD~5.5V;

2、CPU时钟:0.32MHz~49.152MHz;

3、内置 2K字 SRAM 和 32K字闪存 ROM;

4、系统处于备用状态下(时钟处于停止状态),耗电小于 2μA@3.6V; 5、具备触键唤醒的功能;

6、32 位通用可编程输入/输出端口;

7、2 个16 位可编程定时器/计数器(可自动预置初始计数值); 8、7 通道10 位电压模-数转换器(ADC)和单通道声音模-数转换器; 9、2 个10位 DAC(数-模转换)输出通道;

10、14 个中断源可来自定时器 A / B,时基,2 个外部时钟源输入,键唤醒; 11、具备串行设备接口;

12、低电压复位(LVR)功和低电压监测(LVD)功能; 13、内置在线仿真(ICE,In- Circuit Emulator)接口。

6

长春师范学院毕业论文 第一章 1引言

2.1.2 SPCE061A接口说明

1、电源接口

电源输入端口,是61板的能源供应中心,整块板子的电源都由此提供进去,可采用电池或稳压电源提供5V输入,并且必需至少保证电流在50mA以上,否则会造成系统无法倍频和下载出错。 2、IO电压选择接口

IO电压参考电压可选择5V或3.3V,选择5V时为TTL电平;选择3.3V时为LVTTL电平,输出:3.3V LVTTL (可直接驱动5V TTL) ,输入:3.3V LVTTL或5V TTL 。 3、音频输出接口

音频输出接口是为输出语音准备的,主要包括两个DAC接口和一个喇叭接口,可用来进行语音提示和运算结果的播报。 4、MIC输入口

MIC是语音输入接口,可用于语音数据的采集,在做语音录入和语音识别都离不开它。 5、IO接口

IO接口是微处理器最重要的接口,可以通过IO进行外部数据的采集和外挂芯片的操作。

6、AD外部参考电压输入口和2V参考电压输出口

通过调整AD外部参考电压可调整低于3.3V输入模拟电压的精度,以适合不同应用的需求。

通过2V参考电压输出口,我们可以查看ADC工作状态是否满足我们的需求。 7、在线调试器(PROBE)、EZ-PROBE接口和选择跳线

7

长春师范学院毕业论文 第一章 1引言

SPCE061A的内部结构框图如图 2.3 所示。

图 2.3 SPCE061A 内部结构图

SPCE061A主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、 串行设备输入输出、通用异步串行接口、低电压监测和复位等部分,并且内置在 线仿真电路ICE接口,较高的处理速度使其能够快速的处理复杂的数字信号。

2.2 SPLC501芯片

2.2.1 SPLC501简介

SPLC501 液晶显示模组采用的驱动控制芯片为凌阳科技的 SPLC501A芯片,SPLC501A为液晶显示控制驱动器,集行、列驱动器和控制器于一体,广泛应用于

8

长春师范学院毕业论文 第一章 1引言

小规模液晶显示模块。

SPLC501A单芯片液晶驱动,可以直接与其他微控制器接口总线相连。微控制器可以将显示数据通过 8 位数据总线或者串行接口写到 SPLC501A的显存中。 下列是 SPLC501A的特点:

1、内置 8580 位显示 RAM。RAM 中的一位数据控制液晶屏上的一个象素点的亮、暗状态。“1”亮“0”暗。

2、具有 65 行驱动输出和 132 列驱动输出(注:模组中的液晶显示面板仅为 64 行、128 列) 。

3、可以直接与 80 系列和 68 系列微处理器相连。 4、内置晶振电路,也可以外接晶振 。

5、工作温度范围为-40 摄氏度~+85 摄氏度。

2.2.2 SPLC501功能

SPLC501 液晶显示模组为 128X64 点阵,面板采用 STN(Super Twisted Nematic)超扭曲向列技术制成并且由 128 Segment 和 64 Common 组成,LCM 非常容易通过接口被访问。

模组上的液晶显示器采用凌阳科技的 SPLC501 芯片作为 LCD驱动和控制器,为 128X64 点阵图形液晶显示器。

2.2.3 SPLC501 液晶模组特性

SPLC501 液晶模组具有以下特性: 1、显示模式:黄色模式 STN 液晶; 2、显示格式:128×64 点阵的图形液晶; 3、输入数据:兼容 68/80 系列 MPU 时序。

9

长春师范学院毕业论文 第一章 1引言

2.3 硬件电路

2.3.1 SPCE061A最小系统

本方案使用 61 板作为单片机最小系统。61 板包括 SPCE061A芯片及其外围的基本模块,外围模块包括:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图 2.4所示。

图 2.4 SPCE061A 最小系统

2.3.2 LCD显示器

SPLC501 液晶显示模组采用 GPG12063YS3 LCD模块,此模块内嵌 SPLC501A芯片,采用先进的COG技术,将芯片嵌在 LCD玻璃上,图 2.5 为此液晶显示器系统框图。

10

长春师范学院毕业论文 第一章 1引言

2.5 液晶显示器系统框图

SPLC501 液晶模组提供点阵分辨率为 128×64。SPCE061A与 SPLC501 液晶模组的硬件连接如图 2.6 所示。

图 2.6 SPCE061A 与 SPLC501 液晶模组的硬件连接

11

长春师范学院毕业论文 第一章 1引言

3系统软件设计

本系统软件中包括下面程序模块:

主 程 序:初始化系统涉及到的硬件模块,扫描键盘,根据按键启动/停止里程测量,并调用用户界面程序定时更新日期时间显示,实时更新单价、里程、低速时间、费用等信息显示。

液晶驱动程序:LCD显示驱动程序,实现文本、图形显示等功能。 按键扫描程序:扫描按键,返回扫描结果。 语音播放程序:播放提示音,行驶里程、费用等。

计价管理程序:完成传感器脉冲计量,然后转换为公里数,并根据规则计算对应的费用,同时,监测行驶速度,统计低速时间,计算低速等待费用,提供液晶显示更新函数,以便主函数可以控制更新用户界面以及行驶里程、费用等信息的显示。该模块包括 PWM 管理程序、里程计量程序、时间管理程序、费用管理程序、用户界面控制程序等部分。

3.1主程序

主程序流程如图 3.1:程序运行后首先初始化各个硬件部件,同时打开 1KHz 和 2Hz 时基中断,为键盘扫描和时间管理模块服务。然后,程序进入主循环,不断进行按键扫描,并根据按键启动/停止里程计量,或进入系统设置模式。在主循环中同时还对时间显示进行更新。

12

长春师范学院毕业论文 第一章 1引言

图 3.1 主程序流程图

3.2液晶驱动程序

LCD显示部分采用 SPLC501 液晶模组附带的驱动程序。该驱动程序的架构如图 3.2所示。

13

长春师范学院毕业论文 第一章 1引言

图 3.2 LCD驱动程序架构

驱动程序由 5 个文件组成,分别为:底层驱动程序文件 SPLC501Driver_IO.inc、SPLC501Driver_IO.asm;用户 API 功能接口函数文件 SPLC501User.h、SPLC501User.c、DataOSforLCD.asm。

SPLC501Driver_IO.inc:该文件为底层驱动程序的头文件,主要对使用到的寄存器(如端口控制寄存器等)进行定义,还对 SPCE061A 与 SPLC501 液晶显示模组的接口进行配置;用户可以根据自已的需求来配置此文件,但要使端口的分配符合实际硬件的接线。

SPLC501Driver_IO.asm:该文件为底层驱动程序,负责与 SPLC501 液晶显示模组进行数据传输的任务,主要包括端口初始化、写控制指令、写数据、读数据等函数;这些函数仅供 SPLC501User.c 调用,不建议用户在应用程序中调用这些函数。

SPLC501User.h:该文件为用户 API 功能函数文件的头文件,主要对一些记

14

长春师范学院毕业论文 第一章 1引言

住符进行定义,以及配置LCD 的一些设置,另外该文件里还对 SPLC501User.c 中的函数作了外部声明,用户需要使用 LCD 的 API功能函数时,需要把该文件包含在用户的 C 文件中。

SPLC501User.c:文件中定义了针对 LCD显示的各种 API 功能函数。 DataOSforLCD.asm:该文件中提供了一些供 API 功能函数调用的数据处理子程序,主要完成显示效果的叠加、画圆偏差量的计算等。

3.3按键扫描程序

系统使用 1024Hz 时基中断对 IOA口低八位进行扫描,并进行去抖、长短按键判断等工作按键扫描程序提供如下三个 API 函数以供用户使用按键功能: 语法格式:void KeyScan_Init(void); 入口参数:无 出口参数:无 返回值:无

功 能:按键扫描初始化。调用该函数将同时初始化按键扫描使用的 I/O口。 void KeyScan_Init(void) { }

ui_KeyScanState = C_KeyStateFirst; ui_KeyState = C_NullKey; ui_KeyCount = 0; ui_KeyCountBK = 0; ui_KeyID = C_Null; ui_RepeatEvent = 0; ui_RepeatCount = 0; DrvKeyInit();

15

长春师范学院毕业论文 第一章 1引言

语法格式:void KeyScan_ServiceLoop(); 入口参数:无 出口参数:无 返回值:无

功 能:按键扫描后台服务程序。该函数一般被安置在 1KHz 时基中断中。 void KeyScan_ServiceLoop(void) {

switch(ui_KeyScanState) {

case C_KeyStateFirst:

if(C_Null != DrvGetKeyID()) { } break;

if(ui_KeyCount > C_DebounceLimit) {

if(C_Null != DrvGetKeyID()) {

if(DrvGetKeyID() == ui_KeyID) {

ui_KeyState = C_SKeyState;

ui_KeyScanState = C_KeyStateRepeat;

ui_KeyID = DrvGetKeyID();

ui_KeyScanState = C_KeyStateDebounce; ui_KeyCount = 0; ui_RepeatEvent = 0; ui_RepeatCount = 0;

case C_KeyStateDebounce:

16

长春师范学院毕业论文 第一章 1引言

}

}

} else { }

ui_KeyScanState = C_KeyStateFirst;

else { }

ui_KeyScanState = C_KeyStateFirst; ui_KeyCount = 0;

//

else { } break;

if(C_Null != DrvGetKeyID()) {

if(DrvGetKeyID() == ui_KeyID) {

if(ui_KeyCount > C_FirstRepeatTim - C_RepeatTim) {

if(++ui_RepeatCount >= C_RepeatTim) { }

ui_RepeatCount = 0; ui_RepeatEvent = 1;

ui_KeyCount++;

case C_KeyStateRepeat:

// // // // // // //

17

长春师范学院毕业论文 第一章 1引言

//

}

}

}

if(ui_KeyCount > C_LKeyLimit) { } else { }

ui_KeyCount++;

ui_KeyScanState = C_KeyStateAfterLKey; ui_KeyState = C_LKeyState;

else { }

ui_KeyScanState = C_KeyStateFirst;

else { } break;

if(ui_KeyCount > C_DebounceLimit) {

if(C_Null == DrvGetKeyID()) {

ui_KeyScanState = C_KeyStateFirst; ui_KeyScanState = C_KeyStateReleaseDebounce; ui_KeyCountBK = ui_KeyCount; ui_KeyCount = 0;

case C_KeyStateReleaseDebounce:

18

长春师范学院毕业论文 第一章 1引言

}

}

if(C_SKeyState == ui_KeyState)

ui_KeyState = C_SReleaseKeyState; ui_KeyState = C_LReleaseKeyState; else if(C_LKeyState == ui_KeyState)

else { }

ui_KeyCount = ui_KeyCountBK; ui_KeyScanState = C_KeyStateRepeat;

else { } break;

if(++ui_RepeatCount >= C_RepeatTim) { }

if(C_Null == DrvGetKeyID()) { }

else if(DrvGetKeyID() != ui_KeyID) {

ui_KeyScanState = C_KeyStateFirst;

ui_KeyScanState = C_KeyStateReleaseDebounce; ui_RepeatCount = 0; ui_RepeatEvent = 1; ui_KeyCount++;

case C_KeyStateAfterLKey:

19

长春师范学院毕业论文 第一章 1引言

}

}

} break; break;

default:

unsigned int KeyScan_GetKey(unsigned int *KeyType); 语法格式:入口参数:按键类型 出口参数:键值 返回值:键值

功 能:该函数将返回当前按键的键值,并通过入口参数 KeyType 返回该按键的类型。

unsigned int KeyScan_GetKey(unsigned int *KeyType) { }

unsigned int Key;

if(C_NullKey == ui_KeyState)

Key = C_Null; Key = ui_KeyID; else

*KeyType = ui_KeyState;

if(C_KeyStateFirst == ui_KeyScanState) { }

return(Key);

ui_KeyID = C_Null; ui_KeyState = C_NullKey;

20

长春师范学院毕业论文 第一章 1引言

3.4 计价管理程序

本系统的核心是对传感器脉冲进行计数,并转换为公里数,进而根据规则计算行驶费用,同时,还需要对行驶速度进行监测,判断当前车辆是否处于低速运行状态,以实现对低速运行状态的计时,计算等待费用。

3.4.1 PWM 管理程序

计价管理程序包括如下几个组成部分:PWM 管理程序、里程计量程序、时间管理程序、费用管理程序、用户界面控制程序等,各部分共同协调工作,完成计价管理的核心工作以及用户界面的管理工作。3.4.1 PWM 管理程序

本系统中,使用了 TimerB 产生 PWM 波,模拟实际的出租车上的里程传感器脉冲。改变 PWM 的频率,就相当于改变了车速,对 PWM 波的脉冲进行计数,等同于对里程传感器的脉冲进行计数。

对 PWM 的管理包括:启动 PWM、增大 PWM 频率、减小 PWM 频率、停止 PWM 等。

系统中为 TimerB 设置了 96K的时钟源,以产生一定频率范围的 PWM 波,改变 TimerB 的计数初值,将会改变 PWM 的频率,从而达到管理 PWM 频率的目的。

3.4.2 里程计量程序

本系统中使用了外部中断 1 来实时检测由 IOB2 输入的脉冲。在外部中断服务程序中对中断次数进行计数,便可以统计输入脉冲的数量。

一般情况下,运行一段时间后输入单片机的脉冲数量会比较大,容易导致计数结果溢出。故程序中使用了两个变量对脉冲进行计数。uiPulseNum 变量用来记录中断次数(脉冲个数),当达到一公里对应的脉冲数量后,使另外一个记录公里数的变量 uiDistance 加一,并使 uiPulseNum归零重新计数。这样,便将公里数的整数部分和小数部分分开统计,使结果不容易溢出,也便于结果转换。

另外,程序中使用了 2Hz 时基中断用来计算车辆的行驶速度。统计 0.5s内

21

长春师范学院毕业论文 第一章 1引言

的脉冲数量,即可以得到车辆的行驶速度。这一速度将提供给费用管理程序用来判断是否处于低速等待状态。

3.4.3 时间管理程序

系统使用 2Hz 时基中断实现计时。中断服务程序流程如图 3.3 所示。其中,2Hz 计数器 ulTimer 用来为其他模块提供两个 2Hz 的计数器以方便的实现计时等操作。

图 3.3 时钟服务程序流程图

3.4.4 费用管理程序

费用管理程序的作用是监测系统时间、行驶里程和低速等待时间,并根据一定规则换算成费用(费用的具体计算过程请参考出租车计价器礼包的方案简介,

22

长春师范学院毕业论文 第一章 1引言

在此不做说明)。图 3.4 所示的是启动计费的程序流程图。启动计费时,需要判断当前时间是否属于夜行,以便执行夜行起步价和单价。

图 3.4 启动计费程序流程图

启动计费后,主程序需要在主循环中不断调用计费服务程序。

计费服务程序是按照规则计算费用的核心程序。在这里,程序记录当前行驶里程,并判断是否出现昼夜行交替现象,以便对单价进行调整;判断行驶里程是否超过规定的空返距离,一旦超过此距离则将价格上涨 50%;从里程测量模块得到车辆行驶的速度,判断是否出现低速行驶状态,并利用时钟管理模块提供的 2Hz 计数器对低速行驶时间进行计时,从而计算低速等待时间。图 3.5所示的是计费服务程序的流程图。

23

长春师范学院毕业论文 第二章

图 3.5 计费服务程序流程图

根据计费服务程序中统计的低速等待时间长度,可以按照图 3.6 所示的流程换算成低速等待费用。

24

长春师范学院毕业论文 第二章

图 3.6 等待时间换算成费用程序流程图

行驶结束后,停止里程测量模块的测量程序,即可完成此次计费。系统将保留本次的里程、计费结果等数据,直至下一次计费时自动清除。

3.4.5 用户界面控制程序

使用液晶驱动程序提供的功能函数,可以方便的在液晶屏上显示需要的信息或图片。系统上电后首先绘制固定不变的部分,如一些汉字提示等。其他如单价、行驶里程等内容在车辆处于行驶状态时需要实时更新。界面控制程序将从里程计量模块、时间管理模块和计费管理模块得到必要数据进行显视。

25

长春师范学院毕业论文

4 调试及检测

4.1在线调试

4.1.1在线调试器(PROBE)和EZ-PROBE简介

PROBE即是一个编程器(即程序烧写器),又是一个实时在线调试器。用它可以替代在单片机应用项目的开发过程中常用的两件工具——硬件在线实时仿真器和程序烧写器。

图4.1 采用PROBE开发时的硬件连接图

相对于61板来说它只是一跟下载线,工作的时候将配合61板上的74HC244电路实现程序的烧写和在线调试,在功能上和probe是一样的。

26

长春师范学院毕业论文

图4.2 采用下载线和61板开发时的硬件连接图

SPCE061A单片机的调试接口只有2根控制传输线,在线调试器和下载就是通过这两跟传输线加上一些同电脑并口商量好的规则来进行联络,由于并口的信号是多个口一同发出的,要把它转换成两跟线的传输方式SPCE061A才能识别,正是在这里出现了下载线和在线调试器速度上的差别,在线调试器是通过设计一些硬件的逻辑关系进行转换的,而下载线是通过电脑进行软件编程来进行转换的,根据硬件处理通常比软件处理快的常识,我们就可得出在线调试器速度快的结论了。

4.2 SPCE061A的检测 4.2.1程序下载

程序下载步骤如下:

1、双击附带的光盘里如下路径“\\IDE1.16.1”的IDE安装文件,根据提示安装开发环境

2、从附带的光盘里如下路径“\\精简开发板-61板\\自检程序”的“61a测试.rar”文件拷贝到本地目录下,如D:\\ 61a测试。

3、连接好硬件PC->下载线->61板,并确认电源开关已打开,且S5的2、3脚已短接。

4、打开IDE开发环境。

27

长春师范学院毕业论文

4.2.2检测

关掉电池盒上的电源,把下载线从61板上拔下来,并把S5的1、2脚短接。根据声音提示进行检测。 检测步骤如下: 1、连接喇叭和电源。

现象:当电源接通时,红色的发光二极管会点亮。同时会有语音提示:“欢迎进入自检模式”,此时因为还没有连线,所以会听到:“I/O测试失败”的警告,所以就要进行第二步的操作。

2、用连线分别将I/OA口的低8位和IOB口的低8位相连,IOA口的高8位和IOB口的高8位相连,然后按下REST复位键。

现象:当按下复位键后,程序从第一条开始运行开始执行,语音提示“欢迎进入自检模式”,当听到语音:“I/O测试成功”后,进行第三步操作。 3、按K1键进行睡眠功能测试。

现象:如果测试成功,会看到绿色的发光二极管亮灭一下,并有语音提示“睡眠测试成功”,否则提示“睡眠测试失败”,然后进行第四步操作。 4、按下K2键进行A/D转换的测试。

现象:语音提示:“A/D测试成功”,否则提示“A/D测试失败”,进入最后一步操作。

5、拔掉第一步测试时的连接线,并按下K3键测试MIC输入及D/A转换输出是否正常。

现象:可以在MIC上轻轻的拍几下,同时听是否有声音输出,如果有,则说明MIC输入和D/A转换输出部分正常。

28

长春师范学院毕业论文

5设计时应注意的问题

为了计价器能适应不同地区的需要,软件编程及调试比较复杂,需要特别小心。为了使计费器稳定、可靠地工作,软件设计主要考虑了以下几个方面: 1、为了防止计费器死机,软件编程时采用了指令冗余技术、软件陷阱技术以及软件看门狗技术。

2、为了防止程序“乱飞”而非法修改计费器所设置好的各种参数,从软件的角度对计费器的各种参数进行了多重保护。必须通过“合法”的途径才能修改参数,而程序“乱飞”也不能修改计费器所设置好的参数。

3、任何时候均要注意保存好计费器所处的状态及各种数据,复位后计费器能够回到原来的状态。如计费器处于载客状态,复位后计费器仍然回到载客状态,且车资、收费里程、收费时间及单价同复位前一样。

6 计价器发展前景

由于计价器收费规则越来越复杂,简单的显示金额已不足以解释整个计费的构成。另外香港电子作弊装置的侵入,在计价器公正计费上引起乘客的恐慌,迫切要求在计价器上加防作弊报警装置。出租车辆的单车承包,也要求驾驶员与乘客之间结算清楚,管理部门也对计价器提出大存储量,计算机数据采集管理以及计价器与顶灯、空车灯、电门开关联动。如此种种,都对计价器设计制造提出新的要求,要以高质量,多功能适应行业市场需要。

计价器的研制应用成功由简单到复杂,再由复杂到简单,向高性能多功能方向发展,这是符合客观发展规律的。出租汽车的发展,也对计价器的开发应用提出更高的要求,目前各方共同努力研制各类新产品,预计将有下列新型计价器出现。

29

长春师范学院毕业论文 结束语

结束语

经过这两个月来不懈的努力与奋斗,我终于在老师的指导下完成了我的毕业设计,虽然它还有诸多需要完善的地方,但是拿着这件设计,我仍然有止不住的兴奋。高兴之余,我仍需深思:

这件作品虽能初步解决出租车计算价钱的问题,但它仍有它的局限性,首先它不能显示车行驶的总路程,不能让乘客知道已经行驶的路程,其次它没有显示路程的单价,不符合明码标价的规定,第三,它没有设置单价的调整这一功能。这些功能我需要以后的设计中逐一努力完善,另外,如果配上语音效果那就更方便了司机和乘客,更加显的人性化和快捷化。

通过这次设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高。从方案形成到准备电路图,到买材料,到焊接,到调试??每一个小小的步骤,我都得到了很好的锻炼。我学会了怎样有效的收集整合资料;我学会了怎样耐心地焊接电路;我学会了怎样细心地检查电路;我学会了怎样虚心地寻求帮助;我学会了也明白了,很多书本上的东西光靠趴在书本上学是学不到其中的精髓的,我们必须亲自去试着实践了,亲自去经历失败了才能对它们真正的掌握。理论必须联系实际,而实践试检验真理的唯一标准,我真正的懂得了这句话的真谛。在我以后的工作和生活中,我从此可以汲取很多经验,凡事都要自己去动下手,去实践一下,遇到困难,永远不要丧失一颗胜利的心,有耐心,有信心,有细心,有恒心,有虚心,只有这样,我才会在逆境中不断前进。

30

长春师范学院毕业论文

参考文献

[1] 罗亚非.凌阳16 位单片机应用基础[M]. 北京:北京航空航天大学出版社,2003

[2] 凌阳大学计划网站www.unsp.com.cn

[3] 曾繁泰,陈美金.VHDL程序设计[M].北京:清华大学出版社,2001 [4] 潘松,等.VHDL实用教程[M].成都:电子科技大学出版社,2000

[5] 高健, 沈庆宏, 高敦堂. ITS 中车辆检测器设备的研究与实现[J ].交通与计算机, 2002. 20 (5):15218

[6] 王小平, 王彦芳, 等. 基于EDA 技术的出租车费计价单片系统

[7] 刘艳. EDA 技术在数字系统电路设计实验中的应用[J ]. 实验室研究与探索, 2002, 21 (3) : 63264

31

长春师范学院毕业论文

致谢

时光匆匆如流水,转眼便是大学毕业时节,春梦秋云,聚散真容易。离校日期已日趋临近,毕业论文的的完成也随之进入了尾声。从开始进入课题到论文的顺利完成,一直都离不开老师、同学、朋友给我热情的帮助,在这里请接受我诚挚的谢意!

在这里首先要感谢我的导师李晓宁老师。李老师平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是李老师仍然细心地纠正图纸中的错误。除了敬佩李老师的专业水平外,她的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。

此外,本文最终得以顺利完成,也是与我院其他老师的帮助分不开的,虽然他们没有直接参与我的论文指导,但在开题时也给我提供了不少的意见,提出了一系列可行性的建议,在此向他们表示深深的感谢!

还要感谢我的父母,给予我生命并竭尽全力给予了我接受教育的机会,养育之恩没齿难忘,而且也为我能够顺利的完成毕业论文提供了巨大的支持与帮助。在未来的日子里,我会更加努力的学习和工作,不辜负父母对我的殷殷期望!我一定会好好孝敬和报答他们!

还有许多人,也许他们只是我生命中匆匆的过客,但他们对我的支持和帮助依然在我记忆中留底了深刻的印象。在此无法一一罗列,但对他们,我始终心怀感激。

32

长春师范学院毕业论文 致谢

指导教师评语:

指导教师:

33

长春师范学院毕业论文 致谢

指导教师评语:

指导教师:

33

本文来源:https://www.bwwdw.com/article/h4k3.html

Top