版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于单片机的出租车计价装置设计基于单片机的出租车计价装置设计学院名称: 专 业: 班 级: 姓 名: 指导教师姓名: 指导教师职称: 基于单片机的出租车计价装置设计摘摘 要要:为了满足出租车分时计费、分段计费、等候计费等功能的要求,实行自动计费,本系统采用单片机为核心控制单元,利用霍尔传感器进行瞬时速度测量,采用四位数码管显示,应用电擦除存储器对系统掉电时的系统信息进行存储。实验测试结果表明:本装置能实现可靠的出租车分时、分段、等候计费等功能,已达到设计任务要求。关键词关键词:计价装置;单片机;霍尔传感器 design of the taxi accumulative device base
2、d on microcontrollerabstract: in order to meet the taxi functions of requirements such as timeshare billing, subsection billing, waiting for billing, the realization of automatic billing and so on, this system use microcontroller as the core control elements, and use hall sensors for instantaneous v
3、elocity measurement, four digital tube displayed. when power lost, system applies electric erased the memory to store system information. the test results show: this device can achieve taxi timeshare, segmented, waiting for billing and other functions reliably, and has achieved the design task requi
4、rements. .keywords: taxi accumulative device; microcontroller; hall sensor;目 录前 言.1第 1 章 绪论.21.1 课题的目的及意义.21.2 研究内容.21.3 技术要求.3第 2 章 系统总体设计方案.42.1 方案的选择与论证.42.2 系统各模块功能的设计.62.2.1 单片机模块.62.2.2 传感模块.62.2.3 数据存储模块.62.2.4 输入模块.62.2.5 显示模块.62.2.6 供电电路.6第 3 章 系统硬件设计.73.1 单片机模块设计.73.1.1 时钟电路.73.1.2 复位电路.83
5、.2 传感模块.93.3 数据存储模块.103.4 显示模块.113.5 输入模块.133.6 电源模块.13第 4 章 系统软件设计.144.1 软件设计思路.144.2 程序模块.144.2.1 主程序.144.2.2 定时子程序.154.2.3 按键扫描子程序.164.2.4 显示子程序.174.3 主程序设计.18第 5 章 出租车计价装置的调试.205.1 硬件调试.205.1.1 上电前的调试.205.1.2 上电后的调试.205.1.3 霍尔开关检测部分.205.2 软硬件联调.215.2.1 里程计价测试.215.2.2 掉电存储测试.22第 6 章 总结.24参考文献.25致
6、 谢.27附录 1 电路原理图.28附录 2 程序.29附录 3 元器件清单.38 基于单片机的出租车计价装置设计基于单片机的出租车计价装置设计前 言随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着收费纠纷困扰着出租车行业的发展,而解决这一矛盾的最好的方法就是改善计价器,用更加精良的计费器更好的为乘客提供方便快捷的服务。我国在 70 年代开始就出现出租车,但那时的计费系统大都是国外进口的,不但不够准确,价格还十分的昂贵。随着改革开放的深入,出租车行业的发展势头已十分的突出。出租车计费器从最开
7、始的只显示路程,需要司机自己定价,按四舍五入法计算,到能够自动计费,以及现在的能够打印发票和语音提示,按时间自动变换单价等功能。随着城市的旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。现在各大中城市出租车行业都已普及自动计费器,所以计费器技术的发展已成定局。而部分小城市尚未普及,着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来出租车计费器的市场还是十分潜力的。出租车计费器时乘客与司机双方的交易准则,它是出租车行业的重要标志,具有良好性能的计费器无论是对广大出租车司机还是乘客来说都是有必要的。因此,出租车计费器的研究也是十分有
8、价值的。近些年出租车计价器都是应用了单片机技术制造出来的,单片机是微型机的一个主要分支,在结构上的最大特点是把 cpu、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。所以本次设计中采用 51 系列单片机作为控制芯片进行设计,用较少的硬件和适当的软件相互配合可以轻易的实现设计要求,且灵活性强,用汇编语言进行编程。利用单片机丰富的 i/o 端口,以其控制的灵活性实现对里程计费、价格调整和时钟显示功能。第 1 章 绪论1.1 课题的目的及意义课题的目的及意义30 年前,我国出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们生活中出现。随着改革开放的深入,出租车行业
9、的发展势头已十分突出。如今出租车在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。步入 21 世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高,出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。但是由于行业的特殊性,出租车行业总存在着买纠纷,困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务1。随着社会的进步,电子类产品也得到了广泛的发展。
10、尤其是单片机的发展异常迅速。由于单片机的特殊结构形式,在某些应用领域中,它承担了一些通用的微型计算机无法完成的工作,它是一种高性能,低价格的处理器。集成度高,体积小,可靠性又高,控制功能强,电压低2。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受,使用更加精良的计价器来为乘客提供更加方便快捷的服务。采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,接触不良,功能不易实现。为此此次采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合
11、可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能,有性能可靠、电路简单、成本低等特点3。1.2 研究内容研究内容本次课题设计主要是以单片机 at89c51 为核心,结合可擦除存储器 at24c02 的功能,实现出租车计价3。具体课题设计研究内容如下:1. 在了解出租车分时、分段、等候等计费原则的基础上,对各种计费装置电路设计与可实现方案进行对比、论证。2. 设计系统供电电路、按键输入电路、单片机主控制电路、a/d 转换电路、数字显示电路、过载保护等各模块电路来满足出租汽车计价器各种性能指标要求的硬件电路。3. 针对硬件平台运用 c 语言进行设计单片机程序,实现分时计费
12、、分段计费、等候计费等功能进行软件设计,来完成出租汽车的里程计价装置。4. 最终完成系统板的制作安装,对其软硬件的进行综合调试,并进行测试数据的分析。1.3 技术要求技术要求根据课题的意义和目的,经分析本次课题需要研究的内容,提出了该课题相应的设计任务的要求,具体如下:1. 输入电压 dc 24v5%;2. 时间从 7:0021:00 实行基价,从 21:007:00 实行基价上浮 20%;3. 里程从 0km 3km 基价,4km 9km 实行价格 1,10km 20km 实行价格 2,超过 20km 后实行价格 3;4. 用数码管直接显示里程、当前计费标准、需支付总金额数,显示清晰直观;5
13、. 系统稳定性好,能可靠工作。移位寄存器移位寄存器金额金额显示显示单价单价显示显示里程传感器里程传感器电源电路电源电路及保护电路及保护电路第 2 章 系统总体设计方案在了解课题研究的目的意义,认真分析研究任务内容与技术指标的基础上,为了满足出租车计价装置分时、分段计价的要求,首先进行系统方案的论证与确定。2.1 方案的选择与论证方案的选择与论证方案一:方案一:采用数字电路控制,其实现方案框图,数字电路实现方案图,如图 2-1 所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过
14、于简单,性能不够稳定,而且电路不够实用。模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。图 2-1 数字电路实现方案框图方案二:方案二:采用单片机控制。利用单片机丰富的 i/o 端口,及其控制的灵活性,实现基本的里程计价功能,途中等待等不同功能4。采用单片机控制。利用单片机丰富的 i/o 端口,及其控制的灵活性,有较大的活动空间,便于修改。不但能实现基本的里程计价功能和价格调节、显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。为此我们采用了单片机进行设计,相对
15、来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。单片机控制实现方案框图,如图 2-2 所示。按键控制89c51单片机 数码管显示驱动电路单 价显 示总 价显 示可擦除存储器霍尔测速图 2-2 单片机控制实现方案框图综上对比,采用方案一数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而方案二单片机有较大的活动空间,利用单片机丰富的 i/o 端口,及其控制的灵活性,不但能实现基本的里程计价功能和价格调节、时钟显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行
16、升级。采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。因此采用方案二作为本次设计的实现方案。2.2 系统各模块功能的设计系统各模块功能的设计2.2.1 单片机模块单片机模块本设计是利用单片机作为核心控制器件,它将键盘输入的控制信号内部进行处理和转换,再将处理后的数字信号一方面送给 d/a 转换电路进行数模转换,另一方面送给显示电路,显示输出数值5。2.2.2 传感模块传感模块通过安装在车轮上的霍尔传感器 a44e 检测到的信号,送到单片机,经处理计算,送给显示单元的。当车轮转动一周时,霍尔传感器将有一个脉冲的低电平,单片机外部中断检查到传递给单
17、片机进行转速计算6。2.2.3 数据存储模块数据存储模块每当设定一次单价,系统就自动调用存储程序,将单价信息保存在 at24c02 电可擦除存储存储器内。当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用7。2.2.4 输入模块输入模块本设计中需要用到七个按键,通过行列扫描才驱动键盘,由于单片机的内部上拉,按键没按下时,处于稳定的高电平,当有按键按下时,单片机可扫描检查到低电平。而不会引起按键的误操作,提高按键电路的抗干扰能力。2.2.5 显示模块显示模块采用四个共阳级的 8 段数码管,用单片机一组 i/o 口作为数据口向数码管发送数据信息,而用另
18、一组 i/o 口对数码管进行位选,从而实现动态显示。在位选信号中采用 74ls07 实现对数码管进行驱动8。2.2.6 供电电路供电电路220v 市电经 220v/9v 变压器降压后得到的 9v 交流电压,经三端稳压器 7805 得到+5v 的电压。第 3 章 系统硬件设计确定了出租车计价装置的方案设计,根据系统实现方案中各模块的设计要求,对出租车计价装置各模块硬件电路进行设计,其主要包括以下四个模块单片机模块设计、霍尔检测模块、掉电存储 eeprom 模块、按键模块、数码管显示模块。3.1 单片机模块设计单片机模块设计3.1.1 时钟电路时钟电路at89c51 中有一个用于构成内部振荡器的高
19、增益反相放大器,引脚 xtal1 和xtal2 分别为该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或 8051 单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。本设计主要是用内部振荡方式完成的9。在引脚 xtal1 和 xtal2 外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振频率,以 19.2k波特率为例,19.2k 波特率的晶振为19200(256-0fdh)3842 =11.0592 (smod=1)选用 11.0592mhz 只是为了得到
20、精确的通信波特率,串口通信的可靠性高。外接石英晶体及电容 c2、c3 接在放大器的反馈回路中构成并联谐振电路,起稳定振荡频率、快速起振的作用。对外接电容 c2、c3 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度的稳定性,一般在 2060pf 之间选择,本次采用 22pf10。时钟电路设计图,如图 3-1 所示。图 3-1 时钟电路设计图3.1.2 复位电路复位电路单片机有一个复位引脚 rst,它是施密特触发输入,当振荡器起振后,该引脚上出现 2 个机器周期以上的高电平,使器件复位,只要 rst 保持高电平,单片机保持复位状态11。此
21、时 ale、psen、p0、p1、p2、p3 口都输出高电平。rst 变为低电平后,退出复位,单片机从初始状态开始工作。对于复位电路,本设计采用上电复位电路,由于 89c51 是高电平复位,因此通过在 reset 端接一个电阻到地,并接一个电容到电源的方式完成上电复位,上电时电源给电容充电,电容导通,因此 reset 脚就相当于连接到+5v 电源,开始复位,当电容充电完成后,电容断开,reset 脚被下拉电阻钳位在低电平,则退出复位状态12。复位电路设计图,如图 3-2 所示。图 3-2 复位电路设计图3.2 传感模块传感模块本设计中,当车轮转动一周时,霍尔传感器将有一个脉冲的低电平,单片机外
22、部中断检查到传递给单片机进行转速计算。传感器检测图,如图 3-3 所示。图 3-3 传感器检测示意图电路中的霍尔传感器到单片机的电路设计图,如图 3-4 霍尔传感器接线电路所示。图 3-4 霍尔传感器接线电路电路中所使用的霍尔传感器为 a44e,可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件以霍尔效应为其工作基础。霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达 1mhz),耐震动,不怕灰尘,油污,水汽及盐雾等的污染或腐 13。霍尔线性器件的精度高,线性度好;霍尔开关器件无触点,无磨损,输出波形清晰,无抖动,无回跳,位置重复精度高。取
23、用了各种补偿和保护措施的霍尔器件的工作温度范围宽,可达-55150,非常适合测速使用。3.3 数据存储模块数据存储模块本次设计利用的 atmel 公司的 at24c02 作为掉电存储器。at24c02 是一个 2k位串行 cmos eeprom,内部含有 256 个 8 位字节,该器件通过 iic 总线接口进行操作14。可擦除存储电路设计图,如图 3-5 所示,图中 r2、r3 为 10k 欧姆的上拉电阻,写保护(wp)接地,增加抗干扰性能。图 3-5 可擦除存储器电路设计图3.4 显示模块显示模块本设计中采用四位一体共阴的数码管,数码管的位选信号即每个数码管的公共端,通过同相电平驱动芯片 7
24、4ls07 驱动。由于是共阴的数码管,因此当 p2.0-p2.3 输出为高电平时,数码管位选位被关闭,当 p2.0-p2.3 输出为低电平时,数码管位选位被打开15。数码管显示电路图,如图 3-6 所示。图 3-6 数码管显示电路数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划a, b, c, d, e, f, g, dp的同名端连在一起,另外为每个数码管的公共极 com 增加位选通控制电路,位选通由各自独立的 i/o 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 com
25、端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮16。通过分时轮流控制各个数码管的的 com 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果能够节省大量的 i/o 端口,而且功耗更低17。3.5 输入模块输入模块本设计中需要用到七个按键,通过行列扫描才驱动键盘,由于单片机的内部上拉,按键没按下时,处于稳定的高电平,当有按键按下
26、时,单片机可扫描检查到低电平。而不会引起按键的误操作,提高按键电路的抗干扰能力18。键盘电路图,如图 3-7 所示。图 3-7 键盘电路3.6 电源模块电源模块电源电路设计,如图 3-8 所示。220 v 市电经 220 v9 v 变压器降压后得到的 9v交流电压,变压器输出的 9v 电压经四个二极管组成的桥式整流并电容滤波,再经三端稳压器 7805 得到+5 v 的电压19。以作为系统本身的工作电源。稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成20。图 3-8 电源电路设计第 4 章 系统软件设计根据硬件各模块的设计,结合硬件电路实现预计的各种功能再来进行软件部分的设计。通过软硬件
27、的结合,达到分时、分段计费的要求。4.1 软件设计思路软件设计思路根据出租车计价装置的设计功能要求,系统程序必须完成以下任务:弄台扫描,按键扫描处理,时钟信号产生。51 单片机实现多任务运行的方法就是分时复用,在程序设计的时候要相应的分配好各自的 cpu 时间21。对通过分析可以看出,动态扫描、按键扫描对时钟任务可用单片机定时器实现。该程序子程序包括定时子程序,按键扫描显示子程序,显示子程序。软件程序结构图,如图 4-1 所示。主程序定时子程序按键扫描子程序显示子程序图 4-1 软件程序结构图4.2 程序模块程序模块4.2.1 主主程序程序系统在上电复位后,先对定时器0和定时器1进行设置和赋值
28、,再进行系统各参数初始化设置,开启用于显示模块的定时器0,再进行按键扫描,通过键处理函数对各模块进行控制。在硬件没有任何触发信号时,主程序进行反复循环执行,并时刻检测触发端口是否有触发信号22。系统初始化完成后,启动时钟系统随后进入正常工作状态。系统主程序流程图,如图4-2所示。开 始初始化按键扫描里程输入计费处理结束收费开始计费启动计价器图 4-2 系统主程序流程图4.2.2 定时子程序定时子程序时间子函数部分主要用于产生时钟信号,实现对等待计时部分电路的等待计时。该部分主要采用单片机定时器 0 来实现,编程时需要对定时器进行各项设置并对计数器输入初始值,每次对单片机进行复位时都要重复以上步
29、骤23。在该程序中定时器0,工作于方式 1,16 位定时方式。定时子程序流程图,如图 4-3 所示。开 始重设定时器初值数据送显示缓冲单元位 选返 回保护现场调用显示子程序图 4-3 定时子程序流程图4.2.3 按键扫描子程序按键扫描子程序在本设计中采用了按键来切换各种不同状态,而系统需要时刻查询按键信息,因此需要采用按键扫描来实时查询按键情况,在该程序中单独编写了按键扫描子程序,在有按键信息时进行程序调用和跳转,该按键扫描子程序中还嵌套了按键扫描程序以处理在有客情况下的状态切换24。按键扫描子程序流程图,如图 4-4 所示。是否开 始等待按键执行按键功能结 束按键扫描消抖延时有键按下? 图
30、4-4 按键扫描子程序流程图4.2.4 显示子程序显示子程序程序利用定时器每 1ms 产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示25。显示子程序流程图,如图 4-5 所示。否否否否是是是是开 始led 初始化led 写命令led 判忙p0.7=0? 写完成? 设置字符位置写数据判 忙p0.7=0? 写完成? 结 束 图 4-5 显示子程序流程图4.3 主程序设计主程序设计/主程序/void main(void)timer0_init();it0 = 1;ex0 = 1;if(read24c02_
31、onebyte(0 xff) != 0 x55)write24c02_onebyte(0 x00, 1);write24c02_onebyte(0 x01, 2);write24c02_onebyte(0 x02, 3);write24c02_onebyte(0 x03, 4);write24c02_onebyte(0 xff, 0 x55);elseprice0 = read24c02_onebyte(0 x00);price1 = read24c02_onebyte(0 x01);price2 = read24c02_onebyte(0 x02);price3 = read24c02_on
32、ebyte(0 x03);ea = 1;while(1)*定时子程序 *按键扫描子程序*显示子程序* 第 5 章 出租车计价装置的调试完成系统的硬件软件设计后,需要通过调试,并进行数据测试,由测得的数据来验证上述的设计方案是否达到课题要求的功能及指标。5.1 硬件调试硬件调试硬件调试主要是针对霍尔计数,可擦除存储器at24c02电路,led驱动,按键电路等等进行检测。这一部分硬件调试主要分成两大块:上电前的调试和上电后的调试26。5.1.1 上电前的调试上电前的调试在上电前,必须确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工具
33、是万用表,用来完成检测电路中是否存在断路或者短路情况等。通过万用表的检测,没有发现短路和断路的地方,电路基本正常27。5.1.2 上电后的调试上电后的调试在确保硬件电路正常,无异常情况(断路或短路)方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确28。5.1.3 霍尔开关检测部分霍尔开关检测部分观察测量霍尔信号,用小磁铁的来回晃动检查霍尔器件的信号脚的高低电平变化,确定霍尔的好坏,观察波形是否为标准的方波29。5.2 软硬件联调软硬件联调5.2.1 里程计价测试里程计价测试由于试验条件有限,我们采小磁铁车轮,每靠近一次,代表走了一公里,系统自动将当前的单价加到总金额上。
34、(1)当时间设定在早晨 7 点点到当日夜晚 23 点时,里程数是以 1 公里计算的,假设单价在 03 公里为 1 元,49 公里以上为 2 元,920 公里为 3 元, 21 公里以上为4 元。 当里程数行到 3 公里时,数码管显示单价为 1 元/km,里程为 3,总价为 3 元; 当里程数行到 49 公里时,数码管显示单价为 2 元/km,总价为 13+(x-3)2 元; 当里程数行到 1020 公里时,数码管显示单价为 3 元/km,总价为 13 +(9-3)2+(x -9)3 元;当里程数行到 20 公里以上时,数码管显示单价为 34 元/km,总价为 13+(9-3)2+(20-9)3
35、+(x-20)4 元30。白天价格测试表,表 5-1 所示,测试条件是:设定白天 0km3km 是 1 元,4km9km 是 2 元 1,10km20km 是 3 元,超过 20km 后是 4 元。表 5-1 白天价格测试表1km3km4km9km10km20km21km理论1.0 元1.0 元2.0 元2.0 元30 元3.0 元4.0 元单价实际1.0 元1.0 元2.0 元2.0 元3.0 元3.0 元4.0 元理论1.0 元3.0 元5.0 元15.0 元18.0 元48.0 元52.0 元总金额实际1.0 元3.0 元5.0 元15.0 元18.0 元48.0 元52.0 元(2)当
36、时间设定在夜晚 23 点到早晨 6 点日时,基价上浮 20%,为 1.2 元。夜间价格测试表,表 5-2 所示,测试条件是:设定夜间 0km3km 是 1.2 元,4km9km 是 2 元,10km20km 是 3 元,超过 20km 后是 4 元。表 5-2 夜间价格测试表1km3km4km9km10km20km21km理论1.2 元1.0 元2.0 元2.0 元3.0 元3.0 元4.0 元单价实际1.2 元1.0 元2.0 元2.0 元3.0 元3.0 元4.0 元理论1.2 元3.6 元6.0 元18.0 元21.6 元57.6 元62.4 元总金额实际1.2 元3.6 元6.0 元1
37、8.0 元21.6 元57.6 元62.4 元里程测试数据的分析:通过表 5-1、表 5-2 的数据,我们可以看到系统的计价功能很稳定,误差很小,几乎为零,测试结果表明设计达到预期成果。5.2.2 掉电存储测试掉电存储测试掉电存储测试结果,如表 5-3 白天/夜间掉电存储表所示。表 5-3 白天/夜间掉电存储表白天单价0km3km4km9km10km20km超过 20km掉电前数据1.0/1.2 元2.0/2.0 元3.0/3.0 元4.0/4.0 元重新上电后数据1.0/1.2 元2.0/2.0 元3.0/3.0 元4.0/4.0 元掉电存储测试分析:如表 5-3 白天/夜间掉电存储测试图,
38、测试结果表明,掉电前与重新上电后的数据误差几乎为零,因此掉电存储的设计达到了预期的效果。第 6 章 总结本出租车计价器具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。但是在我们设计和调试的过程中,也发现了一些问题,譬如计价的金额位数有限,实际的里程可能会很远,会超出我们的显示范围。计价器的设计还不够人性化,比如加上语音的提示功能,可能会更有生命力,争取使该系统慢慢趋向完美。在学习了相关的文献的基础上,本文设计了基于单片机的出租车自动计费系统。介绍了基于单片机的汇编语言来实现的出租车计价器。本系统解决了以往计价器计价不准确、使用寿命短等缺点。本次设计的出
39、租车计费系统符合了开始预期的设计指标:在了解出租车分时、分段、等候等计费原则的基础上,对各种计费装置电路设计与可实现方案进行对比、论证,设计能满足出租汽车计价器各种性能指标要求的硬件电路,并针对硬件平台进行软件设计,来完成出租汽车的里程计价装置。本款出租车计价器比目前市场现在的增加了不少功能,其中包括单价输出、单价调整、路程输出、显示当前的系统时间。另外,出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。通过本次设计,又使我学到了许多书本上无法学到的知识,也使我深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,
40、同时也对单片机这一门课程产生了更大的兴趣。参考文献1 张鑫, 华臻陈书谦. 单片机原理及应用m. 北京工业出版社. 2005.2 张齐. 单片机原理与应用系统设计m. 北京: 电子工业出版社, 2010.3 阎石. 数字电子技术基础m. 北京: 高等教育出版社, 2006.4 潭浩强. c 程序设计m. 北京:清华大学出版社, 2004.5 张毅刚, 刘杰. mcs-51 单片机原理及应用m. 哈尔滨: 哈尔滨工业大学出版社, 2004.6 李萍. at89s51 单片机原理、开发月应用实例m. 北京: 中国电力出版社, 2008.7 蔡美琴, 何为民, 何金儿, 毛敏, 陶苏正, 毛义梅.m
41、cs-51 系列单片机系统及其应用m. 北京: 高等教育出版社, 2004.8 万福君, 潘松峰, 刘芳. mcs-51 单片机原理、系统设计及应用m. 北京:清华大学出版社, 2008.9 马忠梅, 籍顺心等. 单片机的 c 语言应用程序设计m. 北京: 北京航空航天大学出版社, 2005.10 黄遵熹. 单片机原理接口与应用m. 西安: 西北工业大学出版社, 2000.11 楼然苗, 李光飞. 51 系列单片机设计实例m. 北京: 北京航空航天大学出版社, 2003.12 吴秀清, 周荷琴. 微型计算机原理与接口技术m. 北京: 中国科学技术大出版社, 2004.13 马忠梅, 籍顺心等.
42、 单片机的 c 语言应用程序设计m. 北京: 北京航空航天大学出版社, 2005.14 郁有文, 常健, 程继红. 传感器原理及工程应用m. 西安: 电子科技大学出版社, 2000.15 张国雄. 测控电路m. 天津: 机械工业出版社, 2008.16 杨世品, 陈林.基于 proteus 的单片机出租车计价器的设计j. 中文核心期, 2007, (23): 4-2.17 张小虎, 刘洁. 基于单片机的出租车计价器编码传感器的设计j. 自动化技术与应用, 2005, (24): 10.18 王伟. 高性能、低功耗带 ram 实时时钟芯片 ds1302(下)j. 电子世界第四期, 1995, (
43、5): 32-41.19 liu zhenyu. dual butterfly matched filter asic designj.chinese journal of electronics, 2001, 10(4): 563-566.20 陈勇, 黄石红. 液晶显示模块与单片机接口技术j. 南京林业大学学报(自然科学版), 2002, 26(5): 24-25.21 feng ji chao, huang jian ping. design of automobile hand brake fastener efficiency testing machine j. wuhan uni
44、versity of technology, 2008, (11): 53.22 魏宋扬. 出租汽车计价器常见故障及分析处理j. 中国测试, 2009, 35(5): 126-127.23 刘光潭. 中外集成电路简明速察手册m. 上海: 电子工业出版社, 1991.24 张勇. 制作基于 ds1302 电子时钟时的难点分析j. 济南职业学院学报. 2006, 06(3): 74-75.25 孙超, 郭勇新. 电力电子技术的应用j. 南京航空航天大学. 2009, 43(4): 88-90.26 李华, mcs251 系列单片机实用接口技术报j. 北京航天航空大学学报, 2003. 1(13):
45、 11-12.27 孙育才, 苏字成. 微型计算机应用系统设计与实现j. 东南大学出版社, 1990, 1(14): 12-13.28 何立民. 单片机应用技术选编j. 北京航天航空大学出版社, 1999, 2(13) : 13-14.29 黄再银. 出租车多功能计费器的设计j. 电子技术应用, 2002, (08): 74-76.30 吴冬梅, 吴延海, 邓玉玖. 基于 cpld/fpga 的出租车计费器j. 现代电子技术, 2004, (11): 71-73.致 谢为期两个月的毕业设计已经结束,而在这短短的时间里却有着很深的感受和体会,期间不仅丰富和拓展了单片机的接口技术与 led 液晶显
46、示器的知识,懂得了如何深入细致的研究设计上遇到的问题;同时真切地感受到理论联系实际的重要性。毕业设计是对我们在大学里所学知识的一个融会贯通,充分利用我所学的每一点每一滴,同时也是走向工作的初步尝试。不仅可以扩大我们所学知识的范围,开阔视野,而且有助于培养独立思考解决问题的能力,积累经验,为以后工作中实际解决问题打下基础。设计过程中,遇到了很多问题,有软件的也有硬件的,有属于粗心大意造成的,也有的是因为知识水平所限。在老师的指导下,将其一一排除,增长了知识,积累了经验。除此之外,老师在繁忙的工作中帮我细心地修改论文。在此对老师的帮助表示忠心的感谢。通过此次毕业设计,使我熟悉了开发电子系统的基本过
47、程,对软硬件的开发有了更深一步的理解,51 单片机的开发和汇编语言的应用,也积累了一些经验和心得,使我在专业知识上有了很大提高。同时,我更清楚了自己在知识上的不足,我将继续努力学习,不断提高自身的综合素质!此外感谢学校领导为我们提供设备先进的实验室,使我们能够方便地进行设计。附录 1 电路原理图附录 2 程序include #include type.h#include ds1302.h#include at24cxx.hcode unsigned char segcode = 0 x3f, 0 x06, 0 x5b, 0 x4f, 0 x66, 0 x6d, 0 x7d, 0 x07, 0
48、x7f, 0 x6f, 0 x77, 0 x7c, 0 x39, 0 x5e, 0 x79, 0 x71, 0 x00;uint8 hour = 18;uint8 min = 0;uint8 sec = 0;uint8 costtype = 0;uint16 cost;uint16 costh, costl;uint8 price0 = 1;uint8 price1 = 2;uint8 price2 = 3;uint8 price3 = 4;uint8 price = 1;uint8 km = 0;uint8 dispbuf4 = 1, 2, 3, 4;code uint8 com4 = 0
49、xfe, 0 xfd, 0 xfb, 0 xf7; uint8 disptype = 0;bit fgadjust = 0;uint8 pricesave4 = 1,2,3,4;sbit startkey = p22;sbit adjkey = p21;sbit adjprice1 = p26;sbit adjprice2 = p25;sbit adjprice3 = p24;sbit adjprice4 = p23;sbit testkey = p20;bit fgstart = 0;void delay_ms(uint16 z)uint16 x,y;for(x=z;x0;x-)for(y=
50、113;y0;y-);void disp(void)uint8 i;for(i=0; i 7) & (hour = 9)pricesave0 = 0;elsepricesave0+;if(adjprice2 = 0)disp();if(adjprice2 = 0)while(adjprice2 = 0)disp();if(pricesave1 = 9)pricesave1 = 0;elsepricesave1+;if(adjprice3 = 0)disp();if(adjprice3 = 0)while(adjprice3 = 0)disp();if(pricesave2 = 9)pr
51、icesave2 = 0;elsepricesave2+;if(adjprice4 = 0)disp();if(adjprice4 = 0)while(adjprice4 = 0)disp();if(pricesave3 = 9)pricesave3 = 0;elsepricesave3+;if(testkey = 0)disp();if(testkey = 0)while(testkey = 0)disp();if(hour = 23)hour = 0;elsehour += 5;void timer0_init(void) tmod = tmod & 0 xf0; tmod = t
52、mod | 0 x01; th0 = 0 x3c;/50ms 12mhz tl0 = 0 xb0; tr0 = 1; et0 = 1; /允许定时器中断 void time0() interrupt 1 using 1 static uint8 ccnt,cntswitch; if(+ccnt=20)/1 秒到 ccnt=0;/50ms 中断计数器清零 sec+;/秒计数器加 1 if(sec=60) sec=0;/如果 60 秒到 秒计数器清零 min+;/分计数器加 1 if(min=60) min=0;/如果 60 分到 分计数器清零 hour+;/时计数器加 1 if(hour=24)
53、/如果在 24 小时制下 24 时到则清零时计数器 hour=0; if(+cntswitch = 20)cntswitch = 0;if(disptype = 2)disptype = 0;elsedisptype+;th0=0 x3c; tl0=0 xb0;void int0(void) interrupt 0 using 2 if(fgstart)km+;void vfilldispbuf(void) if(!fgadjust) switch(disptype) case 0:dispbuf0 = 1;if(fgstart)dispbuf1 = price/100%10;dispbuf2
54、 = price/10%10;dispbuf3 = price%10;elsedispbuf1 = 0;dispbuf2 = 0;dispbuf3 = 0;break;case 1:dispbuf0 = 2;if(fgstart)dispbuf1 = km/100%10;dispbuf2 = km/10%10;dispbuf3 = km%10;elsedispbuf1 = 0;dispbuf2 = 0;dispbuf3 = 0; break;case 2:dispbuf0 = 3;if(fgstart)dispbuf1 = costh/10;dispbuf2 = costh%10;dispbu
55、f3 = costl;elsedispbuf1 = 0;dispbuf2 = 0;dispbuf3 = 0;break;default: break; else dispbuf0 = pricesave0;dispbuf1 = pricesave1;dispbuf2 = pricesave2;dispbuf3 = pricesave3; void main(void) timer0_init(); it0 = 1;ex0 = 1;if(read24c02_onebyte(0 xff) != 0 x55)write24c02_onebyte(0 x00, 1);write24c02_onebyte(0 x01, 2);write24c02_onebyte(0 x02, 3);write24c02_onebyte(0 x03, 4);write24c02_onebyte(0 xff, 0 x55);elseprice0 = read24c02_onebyte(0 x00);price1 = read24c02_onebyte(0 x01);price2 = read24c02_onebyte(0 x02);price3 = read24c02_onebyte(0 x0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年口译员技能提升及认证服务合同3篇
- 增强现实工程价款组成详解
- 家政服务办事处招聘协议
- 民宿建设施工协议
- 广告公司创意人员招聘合同
- 建筑检测净化工程协议
- 2025版电力设施安装与环保验收服务协议3篇
- 高空作业工具协议
- 矿山通风管涵施工协议
- 贷款审批与风险管理
- 新员工入职培训手册PPT
- 医药公司开票业务技巧课件
- 门窗安装施工组织设计方案
- 华能玉环电厂1000MW汽轮机培训讲义-课件
- NB∕T 10626-2021 海上风电场工程防腐蚀设计规范
- 教学第11章组合逻辑电路-课件
- 幼年特发性关节炎1课件
- PCB常见不良品图片及改善措施汇总
- 甲状腺功能检测医学课件
- 电梯维保服务质量年度考核表格
- HSK一到六级分等级词汇
评论
0/150
提交评论