出租车计价器剖析

上传人:壹****1 文档编号:508621943 上传时间:2023-02-19 格式:DOCX 页数:6 大小:178.95KB
返回 下载 相关 举报
出租车计价器剖析_第1页
第1页 / 共6页
出租车计价器剖析_第2页
第2页 / 共6页
出租车计价器剖析_第3页
第3页 / 共6页
出租车计价器剖析_第4页
第4页 / 共6页
出租车计价器剖析_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《出租车计价器剖析》由会员分享,可在线阅读,更多相关《出租车计价器剖析(6页珍藏版)》请在金锄头文库上搜索。

1、基于单片机的出租车计价器设计摘要出租车计价器的数字系统的设计正是基于一些专用的芯片,才发挥其有效特性,从而实现出租车的计价功能。此数字系统主要分为三个单元,即里程计数及显示单元、价格计数及显示单元、脉冲产生。本设计是一个基于单片机AT89C51的出租车自动计费设计,附有复位电路,时钟电路等。关键词:出租车计费器;单片机;控制AbstractTaximeterdesigndigitalsystemisbasedonsomespecialchip,toplaytheireffectivecharacteristics,thusrealizingthetaxivaluationfunction.Th

2、issystemismainlydividedintotheremodules,namelythemileagecountinganddisplayunit,anddisplayunitpricecounting,pulsing.ThedesignisbasedonasinglechipAT89C51taxisdesign,aresetcircuit,clockcircuit.Keywords:taximeter,asingle-chipmicrocomputer,control1引言1.1设计目的近几年来,出租汽车行业在各地得以蓬勃发展,但采用模拟电路和数字电路设计的计价器整体电路的规模较大

3、,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强。1.2功能要求(1)用前4位数码管实时显示里程数,单位为千米,最后一位为小数位;用后4位数码管时时显示金额数,单位为元,最后一位为小数位。(2)规定出租车里程小于2千米收费5元,超过2千米收费为8*(way-20)/5。1.3设计方法本设计采用AT89C5单片机为主控器,并用频率信号发生器模拟车速,利用AT89C5的定时器工作在方式1下定时实现对出租车的计价设计,输出采用共阴极的集成8位7段数码显示管。2设计方案及原理2.1设计方案采用AT89C

4、51单片机为主控器,并用频率信号发生器模拟车速,利用AT89C51的定时器/定时器T1工作在方式1下定时实现对出租车的计价设计,输出采用共阴极的集成8位7段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据里程来调节单价。22设计原理出租车计价是根据车所行驶的路程以及乘客乘车的里程综合决定的。出租车行驶总路程可以通过车轮的周长乘车轮旋转圈数得到。即可计算得到车轮旋转几周出租车能行驶一公里的路程。通过计数接收到的脉冲个数,计算出当前所行驶的路程。同时,通过数码管显示当前的行驶里程和需支付的车费。出租车计价器用于记录里程、起步公里数与价格的关系。模拟出租车计价器能根据总里程数、起步公

5、里数的情况作出相应报价等。这个系统以AT89C51单片机为主控器,单片机的计数器/定时器T1工作在方式1下来对外部脉冲计数,最后通过集成的8位7段LED数码管显示里程数和价钱。总体模块框图如图1所示。脉冲产生动态扫描数码管显示图1总体框图3硬件设计对于AT89C51的计数器/定时器T1,通过对寄存器TCON的设置,即使它的M1M0=01,计数器/定时器T1工作在方式1下,构成16位计数器/定时器。此时TH0、TL0都是8位加法计数器。此设计中,T1为计数工作方式,计数范围为12八16=165536(个外部脉冲)。当计数溢出时则置位并申请中断,进入中断服务执行中断程序。通过74HC138接P20

6、、P21、P22输出来对8位7段的智能扫描LED进行段选,并且通过P1口对LED进行位选,最后将结果显示在LED上。硬件设计图如图2所示。74HC138是三八译码器,在工作之前,使74HC138的使能端有效,再使74HC138的A、B、C接P20、P21、P22的输出达到对LED位选线的控制,使相应的位显示相应的结果。硬件总设计图如图2所示。LED显示ABCDEFGDP12345678工X5V_C1T30PF1KC322PF,R1cR2220P00/AD0XTAL1P01/AD1P02/AD2P03/AD3P04/AD4XTAL2P05/AD5P06/AD6P07/AD7RSTP20/A8P2

7、1/A9P22/A10P23/A11PSENP24/A12ALEP25/A13ENP26/A14P27/A15P10P30/RXDP11P31/TXDP12P32/INT0P13P33/INT1P14P15P34/T0P35/T1P16P36/WRP17P37/RDAT89C51C2二二30PFI12MHZ5VBC74HC138E1E2E3Y0-Y1-Y2Y3Y4-Y5-Y6.Y7-TLTL图2硬件设计原理图4软件设计根据设计的要求,在本系统中主要有主程序和延时程序,主程序中包括中断服务程序和键盘显示子程序、计算子程序等。现在应用更广泛的是单片机C语言,因其简单明了,故此次课程设计采用单片机C

8、语言编程。程序源代码如附录所示。总金额计算流程图如图3所示。图3总金额计算流程图根据该设计要实现的功能及其硬件电路图,程序流程图如图4所示开始否不到2处理图4程序流程图程序在KeilC51进行源程序编译及调试,其结果如图5所示图5KeilC环境下调试结果5系统仿真及调试在调试过程中,刚开始选数码管时,选了段选线16位的,结果8位数码管显示结果相同,只显示上半部分的一角,通过上网查找问题,找到了段选线为8位的集成数码管,通过再次调试,数码管显示正常,并且符合设计要求,显示结果正确。利用仿真软件protues进行仿真进行调试,其结果如图6所示。图6Protues调试结果6总结这次课程设计所做的出租

9、车计费器只实现了根据里程不同而进行计费的目的,源程序编译调试以及仿真结果都合适,但对于现在的经济,仅实现这样简单的功能远远不够,因为通常在不同的方式,不同的情况下都会有不同的收费标准单程、白天和中途等待,所以考虑后首选用开关来实现这些切换功能,简单方便,同时显示器会显示相应的指示,最大的方便了司机的计费控制。参考文献1 谭浩强著.C程序设计M.北京:清华大学出版社,2005.2 吴戈、李玉峰编著.案例学单片机C语言开发M.北京:人民邮电出版社,2008.10孙余凯传感器应用电路300例M.北京:电子工业出版社,2008.田立.51单片机C语言程序设计快速入门M.北京:人民邮电出版社,2007附

10、录源程序代码#includeunsignedcharr10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsignedchara8=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,arr8;#definePI3.1415926#defineD5定义车轮直径5米,大点便于显示观察voiddelay()显示延时intj,k;for(j=0;j20;j+)for(k=0;k20;k+);voidmain()unsignedchari;unsignedintsum,way,mon,n=0;/脉冲数sum,精确度为

11、0.1km的路程way,费用mondoubles;/精确路程TMOD=0x50;计数器T1,工作方式1TH仁0x00;/从0开始计数TL1=0x00;TR1=1;/开启T1while(1)sum=TH1;sum=sum8;sum=sum|TL1;求脉冲总数s=sum*(PI)*D*D/4;求精确路程way=s/100;/舍弃百位后的if(way=20)mon=50;/2km内5.0元elsen=(way-20)/5;mon=50+n*8;/2km后的费用arr0=way/1000;前4个数码管显示路程arr1=(way%1000)/100;arr2=(way%100)/10;arr3=way%10;arr4=mon/1000;后4个数码管显示费用arr5=(mon%1000)/100;arr6=(mon%100)/10;arr7=mon%10;for(i=0;i8;i+)P2=ai;位选if(i=2)|(i=6)/段选P1=rarri+0x80;/对应位添加小数点elseP1=rarri;delay();显示延时if(TF1:=1)/若计满则清零TF1=0;TH1=0x00;TL1=0x00;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号