出租车计价器设计论文_第1页
出租车计价器设计论文_第2页
出租车计价器设计论文_第3页
出租车计价器设计论文_第4页
出租车计价器设计论文_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 摘要本设计是出租车计价器的系统设计。本系统的硬件设计以AT89S52单片机为核心控制元件,利用灵敏的霍尔传感器器件测速,输出采用4位LED数码管,通过开关S1分屏控制金额、路程的显示。系统的软件设计主要有:主程序模块、定时器中断服务程序、里程计数中断服务程序、中途等待中断服务程序、显示子程序服务程序和键盘服务程序。本系统设计的计价器主要功能有:数据的复位、数据的输出、计时计价、单价输出与调整、路程输出、数据的查询。本设计的计价器功能简单实用,显示明了,不但能实现基本的计价,而且还能根据行驶和等待来调节单价,同时在行驶途中能显示总金额和时间,字迹清晰,方便旅客和司机查看。当旅客到达

2、目的的要求查看路程时,司机能快捷的调出路程供乘客查看。关键词:单片机 霍尔传感器 数码管 分屏显示目录1 概述31.1 出租车计价器概述31.2 单片机概述31.3设计任务42系统总体方案与硬件设计52.1总体方案的设计52.2 里程计算设计方案论证与比较52.3 设计总框图62.4 硬件设计概述62.5 AT89S52介绍72.6 里程计算设计92.6.1 霍尔传感器简介92.6.2 里程计算单元设计102.7 显示原理设计112.8 按键单元设计133 软件设计143.1 模块介绍143.2 系统主程序设计143.3 定时中断服务程序163.4 里程计数中断服务程序173.5 中途等待中断

3、服务程序173.6 显示子程序服务程序173.7 键盘服务程序184 Proteus软件仿真18参考文献20附1:源程序代码21附2:系统原理图271 概述1.1 出租车计价器概述出租车计价器是出租车行业发展发的终重要标志,是出租车必须配备的设备。计价器关系着乘客和司机交易双方的利益,是双方的交易准则。具有良好的性能是司机和乘客对计价器的共同要求,因此,出租车的计价器的研究有很大的应用价值。 现在各大城市出租车行业都已经普与自动计价器,随着技术的发展,计价器的成本越来越低,而其本身的实现功能却越来越多。出租车计价器的功能从刚开始的只显示路程,到能够自主计费,以与现在的能够打印发票和语音提示,按

4、时间自主变动单价等功能,充分展现了现在出租车行业的蓬勃发展的势头。尤其现在,基于单片机的计价器生产以后,计价器的功能又再增加,而其价格将会随着成本的变换而变换。从另一方面看,随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。本次设计的目的在于现在各大城市出租车行业都已普与自动计价器,所以计价器的发展已成定局。而部分小城市尚未普与,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普与将毫无疑问,所以研究计价器还很有市场发展前景的。1.2 单片机概述计算机的巨大运算速度和处理能力,以与其解决复杂系统计算和高速数据处理能力,比如系统仿真和模拟、实时运

5、算和处理,广泛的为大众接受。单片机的微型化的计算机,是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。单片机部硬件结构和指令系统主要是针对自动控制应用而设计的,所以单片机又称微控制器MCU。用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫嵌入式为控制器。单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪表测试、工业过程控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。据估计我国的单片机年容量已达13亿片,且每年以

6、大约16%的速度增长,但相对于国际市场我国的占有率还不到1%。这说明单片机应用在我国有着广阔的前景。单片机的应用十分广泛,特别是机电一体化产品中,都有着重要的用途 其主要的用途可以分为以下几个方面:l 显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符l 机电控制:用单片机控制机电产品做定时或定向的动作l 检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生l 通信:通过RS-232串行通信或者是USB通信,传输数据和信号l 科学计算:用来是实现简单的算法l 本次设计中利用52单片机和传感器联合使用,综合实现计价器的功能。1.3 设计任务 采用单片机设计一台出租车计价器

7、。 其工作原理是:汽车行走的距离通过霍尔传感器变成脉冲信号,汽车轮子转动一周产生N个脉冲,并走了S距离,出租车计价器计量汽车脉冲数,然后进行各种数据计算并通过数码管显示出结果。1.3.1基本要求(1)能显示里程,单位为公里,最后一位为小数位。(2)能显示金额数,单位为元,最后一位为小数位。(3)可设定单程价格和往返价格,单程价格为2元/公里,往返价格为1.5元/公里。(4)车速<5公里/小时的时间累积为总等待时间,每5分钟等待时间相当于里程数增加1公里。(5)起步公里数为3公里,价格为5元,若实际距离大于3公里,按规则3计算价格。(6)按暂停键,计价器可暂停计价,按查询键,可显示总等待时

8、间。注:空车信息、语音提示、信息存储等为自由发挥部分,可不做此次设计的要求。2系统总体方案与硬件设计2.1总体方案的设计设计方案:本设计采用单片机控制,利用单片机丰富的IO端口,与其控制的灵活性,实现基本的里程计价功能和暂停计价,时间等待计价功能。其原理方框图如图所示。总路程89S52单片机总金额键盘控制采用单片机设计此电路在很大程度上可以扩展功能,还可以方便的对系统进行升级,单片机功能强大,用较少的硬件和适当的软件配合可以很容易的实现设计要求。2.2 里程计算设计方案论证与比较方案一:采用红外发射和接收模块,此模块体积较大方案二:采用霍尔传感器器采用单片机设计此电路在很大程度上可以扩展功能,

9、还可以方便的对系统进件,将按汽车车轮转速的高低,发出相应的脉冲传给给单片机,从而达到计算里程的目的。通过比较以上两种设计方案,方案一虽然运行可靠,但体积大,精度低,相对于出租车计价器而言较为繁琐,不适用,因此采用方案二。2.3 设计总框图总金额显示89S52单片机键盘控制启动清除开关总路程显示里程传感器图2.3 总体设计框图2.4 硬件设计概述此次电路设计,主电路是AT89S52单片机,它完全兼容传统的8051,8031的指令系统和引脚,而且是当今较为流行的一款单片机,综合考虑,本次设计核心采用AT89S52型单片机。在里程测速方面,霍尔元件体积小,重量轻,寿命长,安装方便,功耗小,因此采用霍

10、尔传感器。在显示方面,采用4位7段LED数码管显示,亮度明显,字迹清晰,便于观察;在按键方面,我们采用四个按键来控制不同的功能。图2.4 硬件设计主电路2.5 AT89S52介绍AT89S52是一个低功耗,高性能CMOS 8位单片机,片含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统与80C51引脚结构,芯片集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的

11、解决方案。   AT89S52具有如下特点:40个引脚,8k Bytes Flash片程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个 全双工串行通信口,看门狗(WDT)电路,片时钟振荡器。AT89S51芯片的40个引脚功能为:VCC 电源电压。GND 接地。RST 复位输入。当RST变为高电平并保持2个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISKRTO位缺省为RES

12、ET输出高电平打开状态。XTAL1 反向振荡放大器的输入与部时钟工作电路的输入。XTAL2 来自反向振荡放大器的输出。P0口 一组8位漏极开路型双向I/O口。也即地址/数据总线复用口。作为输出口用时,要求外接上拉电阻。P1口 一个带部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P2口 一个带部上拉电阻的8位双向I/O口。P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3口 一个带部上

13、拉电阻的8位双向I/O口。P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。作输入端口使用时,被外部拉低的P3口将用上拉电阻输出电流。图2.5 AT89S52引脚配置2.6 里程计算设计本次里程设计采用霍尔传感器,时下已得到广泛应用。2.6.1 霍尔传感器简介霍尔传感器是一种当交变磁场经过时产生输出电压脉冲的传感器。脉冲的幅度是由激励磁场的场强决定的。因此,霍尔传感器不需要外界电源供电。霍尔传感器可广泛应用于: 1、电子式水表、气表、电表和远程抄表系统 。2、控制设备中传送速度的测量。3、无刷直流电机的旋转和速度控制。4、在工程中测量转动速度和其他机械上的自动化应用。5、转速仪、速

14、度表以与其他转子式计量装置。2.6.2 里程计算单元设计霍尔传感器检测转速示意图如下。在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。   没有信号产生时,可以改变一下磁钢的方向,霍尔对磁钢方向有要求。没有磁钢时输出高电平,有磁钢时输出低电平。接线图:测速原理图: 计算是通过安装在车轮上的霍尔传感器检测到的信号,送给单片机,经处理计算,送给显示单元。其原理如图2.6.3所示。我们选择了P3.2 口作为信号的输入端,部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1 米),霍尔开关就检测并输出信号,引起单片机的中断,对

15、脉计数,当计数达到1000 次时,也就是1 公里,单片机就控制将金额自动的加增加,其计算公式:当前单价×公里数=金额。U 18传 感 器车轮小磁铁89S52单片机P3.2图2.6.3传感器接线原理图2.7 显示原理设计本次设计中采用共阴极数码管作为显示器。LED的驱动电路简单,使用方便,具有耗电少、成本低廉、配置简单灵活、安装方便、耐振动、使用寿命长等优点。LED显示器与单片机的接口一般有动态显示与静态显示接口两种电路。本次设计中,由于单片机本身提供的I/O口有限,本次设计采用动态显示,数码管采用的是共阴极接法。用AT89S52的P0口作段码输出时, 驱动能力相当大,但由于输出极为漏

16、极开路电路,驱动拉电流负载,引脚上应外接上拉电阻。因此,在本次设计中我们将数码管各段加上拉电阻后接单片机P0口。我们把P2口的输出信号直接接到数码管的位选端作为位选信号,低电平有效。00000000里 程 显 示金 额 显 示图2.7.1 数码管显示容示意图图2.7.2数码管实物图里程显示 图2.7.3 数码管实物图金额显示显示单元由2个4位7段共阴极数码管实现,采用动态扫描进行显示。两个数码管的段位显示均由单片机的P0口控制,由单片机的P2口控制数码管的位显示。如图2.7.4所示。码管显示总路程,第二个数码管显示总金额。图2.7.4 数码管接线示意图2.8 按键单元设计当单价等信息需要进行修

17、改时,就要用到按键等进行修改。由于信息不多,故采用4个独立按键即可,可分别实现复位、等待切换、单程往返设定和暂停功能。按键设计单元如图2.8.1所示。 图2.8.1 按键单元电路图S1:接P1.0口,对上一次计费进行复位,为下次载客准备S2:接P1.1口,实现等待时间和总路程的切换S3:接P1.2口,实现单程和往返单价的设定S4:接P1.3口,实现计价器的暂停3 软件设计3.1 模块介绍本系统的软件设计主要可分为主程序模块、定时计数中断程序、里程计数中断服务程序、中途等待中断服务程序、显示子程序服务程序、键盘服务程序六大模块。下面对各部分模块作介绍。3.2 系统主程序设计在主程序模块中,需要完

18、成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以与开中断、循环等待等工作。然后,主程序将根据各标志寄存器的容,分别完成启动、清除、计程和计价等不同的操作。主程序流程图如图3.2所示按下S1时,就启动计价,将根据里程寄存器中的容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。开始初始化键盘扫

19、描程序按键按下没扫描键值单程函数调用单程键2往返函数调用暂停键3T0暂停计时显示全部清零清零键0显示等待时间查询键1 图3.2 主程序流程图3.3 定时中断服务程序在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。其程序流程如图 3.3所示。中断开始中断初始化脉冲计数到100次测量速度返回图3.3 定时中断服务程序3.4 里程计数中断服务程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000 次时,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数

20、和总额的累加操作,并将结果存入里程和总额寄存器中。3.5 中途等待中断服务程序当在计数状态下霍尔开关没有输出信号,片的T1 定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候,也就自动切换到正常的计价。3.6 显示子程序服务程序由于是分屏显示数据,所以就要用到3个显示子程序,分别是:金额单价显示子程序、路程单价显示子程序、单价调节子程序。如图3.6所示。开 始Key1flag是否为真接收里程数,价格显示数据接收等待时间显示数据转为为字型码输出显示短延时返回 图3.6 显示子程序服务程序3.7 键盘服务程序键盘采用查询

21、的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。4 Proteus软件仿真用Proteus软件绘制出租车计价器的原理图,将调试好的程序装进单片机中,仿真结果如下图所示:5 课程设计体会通过本次课程设计,又使我学到了许多书本上无法学到的知识,也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,充分体会到了自己设计东西的艰难和乐趣,知道了查阅资料和对别人的东西融会变通的重

22、要性,也明白了很多知识光靠在书本上学是学不到其中的精髓的,必须亲自去试着实践。只有亲自去经历才能对它们真正的掌握。当然在实践中难免遇到困难,但你一定要有耐心和信心,永远不要沮丧气馁。在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识。这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的学习和实践来提高其他方面的知识。通过本次课程设计,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣,更懂得了合作的重要性和必要性。同学之间的讨论可以扩宽你的思维,触发你自己未曾想的另一方面。参考文献【1】 余发山,王福忠主编 单片机原理与应用技术M 中国

23、矿业大学出版,2007【2】 周志光,定良单片机技术与应用M:中南大学,2005附1:源程序代码#include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar qianwei,baiwei,shiwei,gewei; /显示数据各个位置数字的临时变量 char led_seg_code10=0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/段码表示0-9 uint tt,aa,pulse,wait,dengdai,distance,co

24、st,danjia;/定义路程、价钱、等待时间与一些全局的变量等;/按键的定义,所有按键按下去为低电平sbit key0=P10; /清零sbit key1=P11; /切换路程与等待时间sbit key2=P12; /单程还是往返设置sbit key3=P13; sbit key5=P15; sbit key6=P16; sbit key7=P17; bit key1_flag;/由于按键会自动复位,这个为标志位bit key2_flag;bit key3_flag;bit flag;/初始化函数void initial_data(void)distance=0;cost=0;wait=0;

25、key1_flag=1;key2_flag=0;key3_flag=1;flag=0;pulse=0;dengdai=0;/暂停程序void zanting(void) if(key3_flag) EX0=0; /关闭中断 定时器TR0=0;elseEX0=1;TR0=1; key3_flag=!key3_flag; /计算数据处理 void jisuan()if(pulse<=1800) distance=pulse/60+dengdai/3000;cost=50; /60角 danjia=20; /单程价格 if(key2_flag)danjia=15; /往返价格 if(pulse

26、>1800) distance=pulse/60+dengdai/3000;cost=danjia*(distance-30)/10+50;wait=dengdai/100; /显示的辅助程序,分离一个数的各个数字 void fenli(uint temp) /数据的分离处理 if(temp>9999) temp=9999;qianwei=temp/1000;baiwei=temp/100%10;shiwei=temp%100/10;gewei=temp%10; /延时约1ms,数码管显示时使用void diplay_delay(void) uchar i; for(i=0;i&l

27、t;240;i+); /显示程序;void led_show() /-显示路程或者等待时间-if(key1_flag) fenli(distance);else fenli(wait); P2=0xfe; P0=led_seg_codegewei; diplay_delay(); P2=0xfd; if(key1_flag) P0=led_seg_codeshiwei|0x80; /如果是路程,点亮小数点儿else P0=led_seg_codeshiwei; /如果是时间,不需要点亮小数点儿 diplay_delay();P2=0xfb;P0=led_seg_codebaiwei; diplay_delay();P2=0xf7;P0=led_seg_codeqianwei; diplay_delay();/-显示价格-fenli(cost);P2=0xef;P0=led_seg_codegewei; diplay_delay();P2=0xdf;P0=led_seg_codeshiwei|0x80; diplay_delay();P2=0xbf;P0=led_seg_codebaiwei; diplay_delay();P2=0x7f;P0=led_seg_codeqianwei;

温馨提示

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

评论

0/150

提交评论