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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

出租车计价器.docx

1、出租车计价器编号:J乙2101出租车计价器摘 要本设计是以单片机AT89S52为核心设计的一款多功能出租车计价器,本文系统的阐述了软硬件设计过程中关键技术的处理。演示结果表明该计价器能够很好的实现里程计价与显示、数据存储与查询、时钟显示、语音播报、超速报警和票据打印等功能。它比市场上的一些计价器使用更方便,功能更全。【关键词】出租车计价器、AT89S52单片机、语音播报、票据打印、 时钟显示Abstract This design is the core of the monolithic integrated circuit AT89S52 design for a multi-functi

2、onal meter taxi, this paper elaborates the system hardware and software design process of the key technology. Demonstration results indicate that this meter can realize mileage valuation with the display, data storage and inquiry, the clock display, speech broadcast, print and speeding alarm functio

3、ns. It is on the market is more convenient, use some meter function more completely.【Keywords】Taximeter; AT89S52 MCU; voice broadcast; ticket printing; clock display 1 总体方案及系统框图 整个系统由单片机AT89S52控制电路、RPR220传感器电路、AT24C02存储电路、DS1302时钟电路、SYN6288语音播报电路、票据打印电路、按键调整电路、74HC595驱动显示电路、蜂鸣电路、L298电机驱动电路及电源电路组成,能顺

4、利完成基本要求和发挥部分。如图1-1所示:图1-1 系统框图2 方案的选择与比较2.1 控制器的选择方案一:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力强、可靠性高、功耗低、结构简单、遇有语音处理、运算速度快等优点。方案二:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K字节 在系统可编程Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。综合以上方案凌阳的单片机采用微处理器我们小组并不熟悉,使用起来并不方便,因此我们选择了我们更为熟悉的ATL89C52单片机为我们的整个系统的控制核心。2.2 数码管显示驱动的选择方案一:74H

5、C595是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片,低功耗,具有锁存器。方案二:74HC164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出,没有锁存器。方案二能较好的好符合系统的要求,而且74HC595可以驱动更多的数码管,因此我们选择了此方案。2.3 语音芯片的选择方案一:ISD1420此芯片为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。方案二:SYN6288芯片硬件接口简单、低功耗、音色清亮圆润、极高的性/价比;除此之外,SYN6288在识别文

6、本/数字/字符串更智能、更准确,语音合成自然度更好、可懂度更高。经过实验,我们小组发现ISD1420录音再播放,而且自己录的音质不好,而SYN6288直接由软件控制,更容易实现我们的功能,所以我们选择方案二。2.4 测速模块的选择 方案一:A44E霍尔传感器电路方案二:反射式光电传感器综合以上两个方案,霍尔传感器电路只能够跟磁性物质组成曲线,成本高,而反射式传感器采用一体化结构,灵敏度比较高,体积小,安装方便,所以我们选择方案二。3 硬件系统设计3.1 单片机模块AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K字节在系统可编程Flash 存储器,片上Flash允许程序存储器在系

7、统可编程,亦适于常规编程器。在单片机芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash。电路图如图3-1所示: 图3-1 单片机最小系统电路3.2 电源模块由于计价器的工作环境比较差,它要求有抗振动、抗高低温、抗潮湿、抗电磁干扰等能力,特别是电源方面的干扰,如出租车启动时,发动机打火、电瓶充电等造成输入计价器的+12 V电源不稳定。因此采用+12 V电源经过滤波和两个降压稳压器后得到+5 V的稳定电压输出,保证整个系统能够正常工作。电路图如图3-2所示: 图3-2 电源电路3.3 光电开关测速模块我们设计的测速模块是通过RPR220光电开关对码盘进行测量,以得到标准的脉冲信号送入单片机,

8、把码盘(如图3-3)分成40份,码盘的黑白为一个脉冲,这样就可以算出在单位时间内的脉冲数,从而计算出速度来。 图3-3 码盘3.4 按键设置部分键盘部分我们采用4个I/O口控制16个按键,大大的节省了I/O的资源,功能分别是例程、查询、清楚、调速、1、2、3、4、5、6、确定、取消、单程、往返、暂停、输密码。电路图如图3-4所示: 图3-4 按键电路3.5 显示模块 显示模块我们选用的是3组8位共阳的数码管,用74HC595来驱动数码管,节省了I/O的资源。第一组的前四位显示行车里程数,后四位显示金额数;第二组的前四位显示车速,后四位显示累计等待时间;第三组数码管用来显示实时时间。电路图如图3

9、-5所示: 图3-5 数码管电路3.6 语音播报模块 语音播放方面我们选择的是SYN6288芯片,SYN6288芯片具有清晰、自然、准确的中文语音合成效果,可合成任意的中文文本,不需要人工录入,直接用单片机发送指令,简单快捷,本电路用来启动提示、停车提示、报时和超速提醒功能。电路图如图3-6所示:图3-6 语音电路3.7 时钟模块 时钟方面我们选择的是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,采用SPI三线接口与CPU进行同步通信;时钟可提供秒、分、时、日、星期、月和年;通过设置元器件与应用肖卫初等:基于单片机的多功能出租车计价器的设计DS1302的控制/状态寄存器选择日历,

10、时钟方式经过初始校准后即可工作使用;工作电压宽达2.55.5 V,采用双电源供电(主电源和备用电源),并设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力,在没有主电源的情况下启用备用电源能保存时间信息及数据。本电路用来实时显示时间,电路图如图3-7所示: 图3-7 时钟电路3.8 信息存储模块数据存储部分的作用是在电源断开时,存储当前设定的单价信息。AT24C02是ATMEL公司的2 kB的电可擦除存储芯片,采用2线串行的总线和单片机通讯,电压最低可以到2.5 V额定电流为1 mA,静态电流10Ua(5.5 V),芯片内的资料可以在断电的情况下保存40年以上而且采用8脚的DIP封装

11、,使用方便。时钟信号线SCL与数据线SDA需外接5.1 k的上拉电阻,其作用是减少AT24C02的静态功耗,24C02采用I2C总线与AT89S52相连,AT89S52的P1.0作为它的串行时钟线,P1.1作为它的串行数据新型元器件 线。当通过通过按键设定一次数据完毕后(如:昼夜单价、等候时间、起租里程、起租金额等),系统就自动调用存储程序,将数据信息保存在芯片内;当系统重新上电时,自动调用读存储器程序,将存储器内的数据信息,读到缓存单元中,供主程序使用。由于保存在24C02中的数据是不能随意进行改动的,因此它具有防作弊功能。电路图如图3-8所示: 图3-8 存储器电路3.9 票据打印模块当出

12、租车到达指定地点,司机翻起空车牌,便产生一个信号通知单片机AT89S52,单片机启动打印服务,将行车的中途等待时间、营运里程、单价、金额、日期及上下车时间等数据打印成出租车专用发票。该电路采用接口插板方式与单片机相连,这一特点使得计价器的票据打印在功能上与主系统一体化,而在检查、维修时又可单独进行。本设计中所用的是迅普电子技术公司生产的SP-E1610SK-12系列微型打印机。3.10 直流电机驱动模块我们采用两个L298芯片来驱动电机,L298芯片输出电压最高可达5V,直接可以通过电源来调节输出电压,可以直接用单片机的I/O口提供信号,而且电路简单,使用比较方便。电路图如图3-9所示: 图3

13、-9 电机驱动电路3.11 继电器模块我们的系统需要连接打印机和语音芯片,需要两个串口,可是单片机只有一个串口,所以我们加上继电器来进行切换,以保证打印机和语音芯片的工作。当触点常闭的时候语音芯片工作,当触点吸合的时候打印机工作。电路连接图如3-10所示: 图3-10 继电器电路4 测试仪器及结果 激光测速仪、数字万用表等;测试结果分析见附录A。5 软件设计5 结束语经过测试,我们的出租车计价器能顺利完成基本要求和发挥部分。在这四天三夜的时间里,我们经历了很多很多,我也学习到了很多,车体完全是我们自己摸索着打造出来的,我的动手能力也提高了很多,当然这是我们这一个团队的成果,更进一步提高了我的团

14、队意识。这次竞赛培养了我们创新意识,让我们所学的理论知识得以实际运用,让我们更有信心在电子行业中继续学习下去。 当然,我们的知识能力和水平有限,有些地方还不是很完善,恳请各位老师批评指正,以便我们下一次做的更好。参考文献: 1C语言程序设计 谭浩强 清华大学出版社 20092模拟电子技术 胡宴如 高等教育出版社 20073电路设计与制版Protel99高级应用 赵晶主 北京人民邮电出版社 20004单片机原理及应用 杨恢先,黄辉先. 国防科技大学出版社 2003 5电子技术基础数字部分 康华光 北京高等教育出版社 20036模拟电子技术基础 童诗自,华成英 北京高等教育出版社 20037单片机

15、原理与应用 戴胜华,蒋人明 北京清华人学出版社 20058Prote12004电路设计与电路仿真 陈学平,兰帆 北京清华人学出版社 2007 附录A出租车模拟测速装置相关计算及计算结果一、相关计算:1、小车车轮周长直径D=6.37cm,则车轮周长为L=D=20cm2、单个方波脉冲对应的弧长3、车轮光电编码盘采用40分黑白相间的圆纸盘,对应每份的弧长是0.5cm,对应光电传感器测速装置产生20个方波脉冲,每个方波脉冲对应的弧长是1cm。3、转速计算设光电传感器每分钟检测到的脉冲数是x个,每转光电传感器测速装置检测到20个方波脉冲,则转速n=(rpm)4、车速计算若里程用S表示,时间用T表示,车速

16、用V表示,车速V=S/T赛题规定转盘转速为5转/分对应车速5公里/小时,转盘转速为50转/分对应车速50公里/小时,依此类推,按实际转盘转速换算对应车速。5、双程模式计价:起步价8元;非等待计费(车速5km/h),若1.5元/km,若非等待里程用X2表示,则非等待计费为1.5X2元;等待计费(车速5km/h,每5分钟,按1.5元/km计算),若等待时间为T2,则等待计费为元。双程计价金额=起步价+非等待计费+等待计费 =8+1.5X2+ =8+1.5X2+0.3T测试结果如下:设定转速(rpm)测试转速(rpm)转速误差理论车速(km/h)测试车速(km/h)车速误差理论里程(km)测试里程(

17、km)里程误差理论金额(元)实际金额(元)金额误差5505 5 05 50111101010010 10 010 10018.518.502020020 20 020 20 033.533.503030030 30 030 30 048.548.5040412.5%40 41 2.5%40 41 2.5%63.5652.36%50524%50 52 4%50 52 4%78.5801.91%6、单程模式计价:起步价8元非等待计费(车速5km/h),若2元/km,若非等待里程用X1 km表示,则非等待计费为2X1元。等待计费(车速5km/h,每5分钟,按2元/km计算),若等待时间为T1,则等待

18、计费为元。(1)单程6km有回空费回空费就是出租车行驶到6公里以上加收的那部分费用。出租车在6公里内不收回空费,超过6公里的部分,每车每公里加收基本租价50%的空驶费,非等待计费若2元/km,总行驶里程用X3表示,回空费为X3-6元。单程计价金额=起步价+非等待计费+等待计费+回空费 =8+2X1+X3-6 =2+2X1+0.4T1+X3测试结果如下:设定转速(rpm)测试转速(rpm)转速误差理论车速(km/h)测试车速(km/h)车速误差理论里程(km)测试里程(km)里程误差理论回空费(元)实际回空费(元)理论金额(元)实际金额(元)金额误差33033033000323205505505

19、500012120101001010010100442626020200202002020014145656030300303003030024248686040412.5%40412.5%40412.5%34351161192.58%50524%50524%50524%44461461524.1%7、速度变化时单程模式无回空费的测试结果如下:0-30S30S-60S设定转速(rpm)测试 转速(rpm)转速 误差理论 车速(km/h)测试 车速(km/h)车速 误差理论等待时间(min)测试等待时间(min)等待时间误差设定转速测试 转速转速 误差理论 车速(km/h)测试 车速(km/h)

20、车速 误差理论等待时间(min)测试等待时间(min)等待时间误差理论金额(元)实际金额(元)误差金额550550000330330303002222010 10010100000330330303002727020 20020200000330330303003737030 30030300000330330303004747040 412.5%40412.5%0003303303030057581.7%50 524%50524%0003303303030067693%8、速度变化时双程模式测试结果如下:0-30S30S-60S设定转速(rpm)测试 转速(rpm)转速 误差理论 车速(km

21、/h)测试 车速(km/h)车速 误差理论等待时间(min)测试等待时间(min)等待时间误差设定转速测试 转速转速 误差理论 车速(km/h)测试 车速(km/h)车速 误差理论等待时间(min)测试等待时间(min)等待时间误差理论金额(元)实际金额(元)误差金额5505500003303303030018.518.5010 100101000003303303030022.2522.20.22%20 200202000003303303030029.7529.70.17%30 300303000003303303030037.2537.20.13%40412.5%40412.5%0003

22、303303030044.7545.51.67%50524%50524%0003303303030052.2553.72.77%附录B控制板原理图附录C 部分程序: void init()TMOD=0x11;TH0=0x3C;/50MS中断一次TL0=0xB0;TH1=0x3C;TL1=0xB0;TR0=1;ET0=1;EX0=1;IT0=1;EA=1;void chesu() sudu=ll*6; _595(numbersudu%10); _595(numbersudu/10%10); _595(numbersudu/100%10); _595(numbersudu/1000); _595(

23、0xff);_595(0xff);_595(0xff);_595(0xff); CS=0; CS=1;void wait() _595(numberwaitmiao%10); _595(numberwaitmiao/10); _595(numberwaitfei%10&0x7f); _595(numberwaitfei/10);void makejine()/算金额 if(qianflag=0) if(licheng=30) jine=800; else if(ch=2) jine=800+(licheng-30)*20; else if(ch=1) jine=800+(licheng-30)

24、*15; else jine=0;void dislijin()/显示里程金额 mode=0时 wait(); chesu();/显示车速 makejine(); jine=jine/10; _595(numberjine%10); _595( (number(jine/10)%10)&0x7f ); _595(number(jine/100)%10); _595(number(jine/1000)%10); _595(numberlicheng%10); _595( (numberlicheng/10%10)&0x7f ); _595(numberlicheng/100%10); _595(

25、numberlicheng/1000%10); CS=0; CS=1;void distime()/第一屏显示时间 _595(0xff);_595(0xff);_595(0xff);_595(0xff);_595(0xff);_595(0xff);_595(0xff);_595(0xff); _595(numbertimemiao%10); _595(numbertimemiao/10); _595(numbertimefei%10&0x7f); _595(numbertimefei/10%10); _595(numbertimefei/100%10);_595(0xff);_595(0xff);_595(0xff);CS=0;CS=1

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

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