ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:421.65KB ,
资源ID:5366819      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5366819.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的出租车计价器设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的出租车计价器设计.docx

1、基于单片机的出租车计价器设计摘 要 21世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高,出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。但是由于行业的特殊性,出租车行业总存在着买卖纠纷,困扰着行业的发展。因此,出租车计价器的研究和改良是十分有应用价值的。 该实验中出租车计价器系统以AT89C52单片机为中心,附加A44E霍尔传感器测距,实现对出租车计程、计时、计费存储等多种计算和测量功能于一体,采用AT24C02掉电存储单元实现在系统掉电时保存单价和系统时间等信息,输出采用8段数码显示管。本电路设计的计价器不仅能实现基本的计价功能,而且还可以根据

2、白天、黑夜、中途等待来调节单价,同时在不需要计价时还能作为时钟为司机提供方便。关键词:出租车计价器;AT89C52单片机;霍尔传感器;AT24C02掉电存储单元Abstract21st century, the taxi has been widely appeared around of us. As the living standard of people unceasing improvement, the taxis use frequency is also higher and higher, the taxi industrys high quality service als

3、o brings people the enjoyment of travel. But due to the particularity of the industry, the taxi industry is always exist trade disputes which is always puzzle the development of the industry. Therefore,it is very valuable for the research and improvement of the taxi meter. In this experimental the t

4、axi meter system uses AT89C52singlechip as the center, add A44E hall sensor ranging, realize the taxi meters storage function such as distance, timing, pricing calculations and measurements into an organic whole, used AT24C02 off storage unit for saving information such as the unit price and the sys

5、tem time when the system power down, the output used 8 segments digital display tube. The circuit design of the taxi meter can not only realize the basic valuation, but also according to the day, night, halfway to wait to adjust the unit price, at the same time it also can be used as clock when not

6、denominated provide convenient for the driver. Key words: the taxi meter; AT89C52 scm; A44E hall sensor; AT24C02 storage unit第1章 绪论1.1引言30年前,我国就已经出现了出租车,但由于当时的经济水平,出租车并没有普遍出现在生活中。伴随着改革开放,出租车行业的发展势头十分迅猛。如今出租车在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器,负责出租车营运收费的专用智能仪表1。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程

7、度2。采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,故障率高,难以调试,对于计数模式的切换用到的机械开关时间久了会造成接触不良,功能难以实现3。为此采用单片机进行设计,相对前者来说功能强大,用合适的硬件和软件相互配合可以很容易的实现设计要求,且灵活性强,同时可以通过软件编程来完成更多的附加功能4。1.2计费要求设计一个出租车计费器,计费包括起步价、行车里程计费、等待时间计费三部分,用8段LED数码显示管显示总金额。一、计费功能费用的计算是按行驶里程收费,设起步价为5元。1、当里程3km时,按以下规则计费: 白天(6:00-18:00):每公里按2元计费; 晚上(18:00

8、-6:00):每公里按3元计费。二、显示功能1、显示行驶总里程:用三位数字显示,显示方式为“XXX”,单位为公里。计价范围0-999公里,精确到1公里。2、显示总费用:总费用显示用三位数字显示,显示方式为“XXX”,单位为元。计价范围0-999元,精确到1元;3、显示单价:单价显示用一位数字显示,显示方式为“X”,单位为元。计价范围0-9元,精确到1元。4、时钟显示:显示方式为“XXXXXX”,分别对应“时分秒”5。1.3功能要求出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、实现在系统掉电的时候保存单价等信息等功能6。输出采用8 段数码管显

9、示,系统通电后默认显示原始的起步价,通过按键(S1S4)可以调节起步价,计费单价等。另外还具有系统运行和停止等状态,可以显示系统运行的路程、费用以及时钟,具有计费累加的功能。在出租车停止后数据显示部分能够显示行驶路程以及总费用等。1.4设计方案采用单片机控制方案,如下图所示。单片机控制方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能,单价显示和调整,时钟显示等不同功能。图 1-1 单片机控制方案图第2章 出租车计价器硬件设计系统硬件设计主要包括单片机AT89C52、数据

10、显示部分、A44E霍尔传感器电路、AT24C02 掉电存储单元、DS1302时钟芯片、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。2.1系统的硬件组成及相关功能介绍 出租车计价器的单片机控制方案图如单片机控制方案图所示。组成部分:单片机AT89C52、数据显示部件、键盘控制部件,AT24C02 掉电存储控制单元、里程计算单元、显示驱动电路等7,8。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节功能9。 2.2 AT89C52单片机 图2-1 AT89C52引脚图AT89C52是带8K字节闪烁可编程可擦除只读存储器

11、(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器10。它的外围电路简单,具有很高的性价比11。而且它与MCS-51的指令和引脚兼容,为嵌入式控制系统提供了一个灵活有效的解决方案。2.3 AT24C02掉电存储单元 图2-2 AT24C02引脚配置图 AT24C02掉电存储单元的作用是在电源断开的时候,存储当前信息。AT24C02掉电存储单元是ATMEL公司生产的2KB 字节的电可擦除存储芯片,采用的是两线串行的总线和单片机通信。最低电压可达到2.5V,额定电流为1mA,静态电流为10A(5.5V

12、)12。芯片内所存储的数据可以在断电情况下存储长达40 年以上,而且是采用8 脚的DIP封装,使用非常的方便。 图2-3 掉电存储单元电路原理图上图中R1、R2均是上拉电阻,作用是降低AT24C02掉电存储单元的静态功耗,由于AT24C02的数据线、地址线是复用的,采用串口的方式传输数据,所以仅用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据信息。每设定一次单价,系统就会自动调用存储程序,并将单价信息保存于芯片内;当系统重新上电时,会自动调用读存储器程序,将存储器内的单价等信息读到缓存单元中,以供主程序的使用。2.4键盘单元的设计键盘单元电路共采用了五个按键S1、S2、S3、S

13、4、S5,其功能分别是:(1)S1按键的功能:默认总费用显示,S1按第一次显示总路程,按第二次显示单价,按第三次时钟显示,按第四次返回默认总费用显示。(2)S2按键的功能:调整位设置按键。(3)S3按键的功能:调整位加一。(4)S4按键的功能:调整位减一。(5)S5按键的功能:新乘客上车时使用,对之前的数据初始化。2.5里程计算计价单元 里程计算是通过安装在车轮上的霍尔传感器A44E将检测到的信号送到单片机内部进行处理计算,并送给数据显示单元显示出来,其原理如下图所示。 图2-4传感器测距示意图 所谓霍尔效应,是指若把通有电流 I 的导体放于垂直它的磁场中,则在该导体的两侧P1、P2会产生一个

14、电势差U,它正比于电流 I 及磁感应强度B,反比于导体厚度D,即:Uk(I BD),其中k为霍尔系数。k越大,说明霍尔效应越显著; k越小,说明霍尔效应越微弱。人们通常利用一些半导体材料(如锗、锑化铟)的显著的霍尔效应这个性质来制成直流和低频磁场电压变换器。霍尔电流传感器是根据霍尔效应原理制作而成的。它有两种工作方式,即磁平衡式和直式。霍尔电流传感器一般是由原边电路、聚磁环、霍尔器件、次级线圈)和放大电路等部件组成13。由于A44E 属于开关型的霍尔元器件,其工作电压范围比较大(4.518V),其输出的信号符合TTL电平标准,可以将其直接接到单片机的I/O 端口上,而且其最高检测频率可以达到1

15、MHZ。选择P3.2 口作为信号的输入端,采用外部中断0(INT0),汽车车轮转一圈(假设车轮的周长是1米),当霍尔传感器检测到一次信号,就会向单片机传输一次数据,如此周而复始不断向单片机传输数据,引起单片机的中断,对脉冲计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动的变更相应的数值,计算公式为“总费用=起步价+当前单价(公里数起步公里数)”。2.6 DS1302时钟单元设计DS1302 是美国DALLAS公司生产的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行

16、同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。它是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。图2-5 DS1302的结构与引脚图DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如

17、果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。SCLK为时钟输入端。2.7数据显示单元设计1.数字时钟显示(23时12分31秒):2.总费用显示(32元):3.总里程显示(12公里): 4.单价显示(3元):5.LED数码管的结构:若采用共阳极接法,则它们的阳极为一个公共点,接电源的正极。八只发光二极管的阴极相互独立,哪一个阴极接地,哪一段即可以发光,阴极也接高电平者便呈暗淡。如果采用共阴极接法,那么阴极作为一个公共点接地,各阳极相互独立,且接高电平者发光,阳极接地者呈暗淡。此次设计采用共阴极接法。 (a)LED的结构和引脚 (b)共阴极接法 (c)共阳极接法 图

18、2-6 LED的结构与引脚图6.LED显示器显示方式: LED数码管显示器与单片机的接口一般有静态显示和动态显示两种方式。LED采用静态显示与单片机接口时,其阴极作为一个公共点接地。静态显示器接口电路,在显示位数较多时,电路比较复杂,需要的接口芯片也比较多,成本也会也较高;而LED动态显示接口电路,由于各个数码管共用一个段码输出口,分时轮流通电的,从而大大简化了硬件线路,降低了生产成本。本次设计就采用动态扫描显示14。2.8系统电路总体设计系统电路图如下图所示: 图2-6 系统电路图第3章 出租车计价器软件设计3.1总体程序流程图在主程序单元中,需要对各接口芯片进行初始化、出租车起步价和单价的

19、初始化设置、中断向量的设计以及开中断、循环等待等工作。另外,在主程序单元中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并进行初始化。然后,主程序将会根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同操作15。主程序流程图如下图所示。 图3-1 主程序流程图打开电源后,就默认启动计费显示,将根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价包含的公里数。若已超出,则根据里程值、单价数和起步价数来计算出当前的累计价格,并将计算结果存储于价格寄存器中,然后将运行时间和当前累计价格送给显示电路显示出来。当到达目的地时,由于霍尔开关不再有脉冲信号送来,系统就停止计价,显示当前

20、所应该付的总金额,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。3.2子程序1.里程计数中断服务子程序每当霍尔传感器输出一个低电平就使单片机产生一次中断,当里程计数器对里程脉冲信号计满1000 次时,使单片机进入到里程计数中断服务子程序中。在该子程序中,需要完成对当前行驶总里程数以及总费用的累加操作,并将累加结果存入里程和费用寄存器中。 图3-2 里程中断服务子程序2.键盘服务子程序键盘服务子程序采用查询的方式,放在主程序中,当没有按下按键的时候,单片机就循环主程序,一旦有按键按下,便会转向相应的子程序处理,处理结束再返回。 3.定时中断服务子程序在定时中断服务子程序中,每隔10

21、0ms 产生一次中断,当产生10 次中断的时候,时间就是1s,将数据送到相应的显示缓冲单元,并调用显示子程序进行实时显示。 图3-3 定时中断服务子程序4.显示服务子程序由于是要实现分屏显示各数据,所以就会用到5个显示子程序,分别是:时钟显示子程序、单价显示子程序、单价调节子程序、路程显示子程序以及费用显示子程序。第4章 出租车计价器系统调试与分析4.1编程软件介绍德国Keil公司开发的Keil uVision是基于Windows平台的开发软件,在全球已经得到广泛使用,它是基于仿真引擎SPICE的混合电路仿真软件16。它不但能仿真模拟电路、数字电路、模数混合电路,更具有特色的是它能够模拟仿真基

22、于单片机的电子设计系统。它完全支持MCS-51及其派生系列单片机的设计系统17。Keil uVision 支持8051的所有Keil工具,包括C编译器、宏汇编器、链接器/定位器和目标文件转换至HEX格式的转换器,其中Keil C51是专门为单片机设计的一种高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。图4-1 Keil uVision软件界面 具体C程序间附录。4.2 单片机开发板测试单片机技术自发展以来已有近20年的历史。单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出

23、较微处理器更具个性的发展势头18。小到遥控电子玩具,大到航空航天技术等行业都涉及到单片机的应用。针对单片机技术在电子行业自动化方面的重要应用,为满足广大学生、爱好者、产品开发者迅速学会掌握单片机这门技术,于是产生单片机开发板也称单片机学习板、单片机实验板19。将Keil中的C程序下载至开发板中的单片机内,并运行,结果如下图所示(以已行驶五公里,白天单价为三元为例):图4-2 总费用显示图4-2 总路程显示图4-3 白天单价显示图4-4 夜晚单价显示图4-5 时钟显示参考文献1郑晓峰.出租车多功能计价器安装与调试J.计量与测试技术,2009,(5):31-33.2张颖.多功能出租车计价器的设计J

24、.计算机与信息技术,2009,(9):96-97.3魏宋扬.出租汽车计价器常见故障及分析处理J.中国测试,2009,(5):17-19.4孙晓琳.16位单片机在出租车计价器中的应用J.计量与测试技术,2009,(1):39.5张辉杰.基于单片机的出租车计费器设计J.榆林学院学报,2010,(6) :51-57.6陈爱文.基于AT89C51单片机的多功能出租车计价器J.机电工程技术,2008,(11):15-19.7陈光东.微型计算机原理与接口技术M.武汉:华中理工大学出版社,1999.17-23.8陈渭红.多功能的出租车计价器的设计与实现J.科技信息,2011,(22)102-103.9舒涛.

25、基于AT89S51单片机的出租车计价器系统设计J.计算机应用技术,2010,(22):55-57.10蔡美琴.MCS-51系列单片机系统及其应用M.北京:高等教育出版社,2004.114-121.11Chirs J. Georgopoulos.Interface Fundamentals In MicroprocessorControlled SystemM.D.Reidel Publishing Company,1985.122-145. 12张友德.单片微型机原理、应用与实验M.上海:复旦大学出版社,2005:83-106.13张小虎,刘洁.基于单片机的出租车计价器编码传感器的设计J.自动

26、化技术与应用, 2005,(24):44-47.14Dabis.W.S. PCB and Design: A Structured ApproachM. Addison-Wesley Pub,2003.157-186.15马忠梅.单片机的C语言应用程序设计M.北京:北京航空航天大学出版社,2003.78-93.16王威.基于Proteus和Keil的单片机虚拟仿真平台的设计J.上海电力学院学报,2009,25(6):16-19.17李芳.基于Proteus_Keil的单片机实验仿真平台J.中国教育技术装备,2009,(4):67-69.18吴凌燕.基于Proteus 的单片机仿真设计J.仪表技

27、术,2011,(7):31-37.19郭天祥.新概念51单片机C语言教程M. 北京:电子工业出版社,2009:144-149. 附录一、 主程序:#includedisplay.h /#includeAT24C02.h#includeds1302.hsbit s1=P34; /界面切换按键sbit s2=P35; sbit s3=P36;sbit s4=P37;sbit ledla=P25; uint cost,meter,distance;uchar price,hour,minute,second,s1_count; uchar cost_div3;uchar distance_div3;

28、uchar clk_time3; /时,分,秒寄存器初始值uchar clock_div6;/时,分,秒分离后的值void init();void ds1302_proc();/ds1302时分秒BCD码分离函数 同时更新了hour、minute、secondvoid select_price();/选择单价 只在新乘客上车时调用void renew_distance();/更新路程distance显示数据void renew_cost();/更新总费用及其显示数据 根据distance和pricevoid adjust_price();/调整单价程序void adjust_time();vo

29、id display_cost();/显示总费用函数void display_distance();/显示总路程函数void display_price(uchar dat);/显示单价函数void display_time();/显示时间函数void main()/*只写一次*/ DS1302write();/写入初始时间/ i2c_w(0,0);/写入路程高八位/ i2c_w(1,5);/写入路程低八位/ i2c_w(2,2);/白天价格 / i2c_w(3,3);/夜间价格 /*/ init(); while(1) if(s1=0) delay(10); /延时消抖 if(s1=0) w

30、hile(s1=0) /松手检测 switch(s1_count) case 0:display_cost();break; case 1:display_distance();break; case 2:display_price(price);break; case 3:ds1302_proc();display_time();break; s1_count+; if(s1_count=4) s1_count=0; if(s1_count=0) /显示总费用 display_cost(); if(s1_count=1) /显示总路程 display_distance(); if(s1_count=2) /显示单价 display_price(price); if(s2=0) delay(10);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1