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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

出租车计价器1.docx

1、出租车计价器1基于单片机控制的出租车计价器摘 要:出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的

2、附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。另外在本方案中那个使用了点阵的液晶,可以实现更加友好的使用界面。数据信息一目了然,并且即使是成品也可以方便的修改使用界面,更可根据不同的公司客户使用不同的局面。关键词:出租车计价器 单片机 控制Taximeter Based on MCUAbstract:Taximeter is both passengers and drivers of the transaction criteria, it is the taxi industry an important symbol, a taxi is

3、 the most important tools. It relates to the interests of both transactions. Has a good performance regardless of the meter is a vast number of taxi drivers or passengers are very necessary. Therefore, the car meter is also very much a study of value. The use of analog circuits and digital circuit d

4、esign of the meter as a whole circuit of a larger scale, using the device, a failure rate is high and difficult to debug, the pattern of switching need to use mechanical switches, mechanical switch will cause a long-time contacts Bad, functions not easy to achieve. SCM used for the design, a relativ

5、ely powerful, with less hardware and appropriate software can easily coordinate with each other to achieve the design requirements, flexibility and strong, can be programmed by software to complete more of the additional Function. Pricing model for the switch, software programming and can easily cit

6、e the achievement. To avoid a mechanical switch the destabilizing factors. Also in this programme that the use of a dot-matrix LCD, can be more friendly to use interface. Data information at a glance, and even the finished product can also facilitate the use of interface changes, according to differ

7、ent customers using a different situation.Keywords: Taximeter 89 S51 MCU control目 录1 绪论 12 方案设计 22.1功能要求 22.2方案论证 23 系统硬件的设计 33.1 AT89S52结构及其功能 33.2 LM358结构及其功能 83.3 单元电路 93.4 整体电路 104 系统软件的设计 114.1 初始化程序 114.2 主程序 115 调试及性能分析 135.1调试与测试 135.2性能分析 136 结论 13致谢 14参考文献 15附录 161 绪论步入21世纪,出租车已经广泛地出现在我们周围

8、。随着人们生活水平的不断提高,出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。但是由于行业的特殊性,出租车行业总存在着买纠纷,困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。 30年前,我国出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们生活中出现。随着改革开放的深入,出租车行业的发展势头已十分突出。如今出租车在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征

9、着一个城市的文明程度。 我们都知道,只要出租车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5KM)计费数字显示开始从起步价(如10元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。 采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来

10、说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。2 方案设计2.1功能要求利用单片机的软件编写功能,实现以5.0元为起步价,根据所行驶的距离进行计价,长时间时可等待启用等待计价,区分白天和晚上不同计价,以及采用数码管显示所计的价钱。2.2方案论证方案一:采用数字电路控制。其原理方框图如图21所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,故障率高,难调试,而且电路不够实用。图21 数字电路方案方案二:采用单片机控制。利用单片机丰富的IO端口,及其控制的

11、灵活性,实现基本的里程计价功能,途中等待等不同功能。通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。3 系统硬件的设计3.1 AT89S52结构及其功能3.11 AT89S52结构图31 AT89S52结构3.12 AT89S52主要性能与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz、三级加密程序存储器 、32个可编程I/O口线、三个16位定时器/计数器八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式、

12、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。3.13功能特性描述At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针

13、,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作

14、为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和

15、校验时,P1口接收低8位地址字节。 引脚号第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据

16、存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

17、在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下

18、,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在

19、此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。3.2 LM358结构及其功能3.21 LM358结构图32 AT89S52结构3.22 LM358功能特点1.内部频率补偿2.低输入偏流3.低输入失调电压和失调电流4.共模输入电压范围

20、宽,包括接地5.差模输入电压范围宽,等于电源电压范围6.直流电压增益高(约100dB) 7.单位增益频带宽(约1MHz) 8.电源电压范围宽:单电源(330V);9.双电源(1.5 一15V)10.低功耗电流,适合于电池供电11.输出电压摆幅大(0 至Vcc-1.5V)3.3单元电路3.3.1单片机工作模块要使主要的处理芯片工作起来,其外围必须有一定的支持电路,提供时钟频率的晶振电路以及供电路复位用的复位电路,具体接法如图3-3所示。图33单片机晶振及复位电路3.3.2 显示模块及指示灯模块电路采用LED7段数码管来显示所计的价钱,这里选用三位共阳数码管,其原理图接法如图3-4所示。图34显示

21、电路3.3.3光信息采集电路显示该电路是用于车轮转过次数的信息收集,通过车轮转过的次数来计算行驶路程,电路用红外发射和接收管和放大电路搭建,如图3-5所示。图35光信息采集电路3.4整体电路本设计以AT89S52单片机为核心,采用LED数码管实时显示实际计得的价钱,以红外发射接收管作为基本行程信息的采集工具,另外以一个锁控按键来启动等待计价的功能,当等待结束时,又可恢复原来的工作状态。此系统硬件设计简单,主要通过软件编程,实现工作状态的定义和等待情况的处理,系统另外还留有P1.2P1.7以及P2.3P2.7口的全部资源,使得系统具有一定的可升级性和可扩展性。图36系统整体电路4 系统软件的设计

22、4.1 初始化程序系统上电时,初始化程序将R1R5储存单元清0.4.2 主程序主程序中通过循环判断是否等待计价和车轮计数进行总体计价的实现。在等计价中,调用等待计价子程序,每4秒调用计数子程序对计数器加1,在车轮计数中,车轮每转过1周调用计数子程序对计数器加1。通过计数器中的累加值,判断数值并调用显示。计数子程序是通过对工作寄存器的循环累加实现的。 秒定时子程序通过2000循环调用定时器的2毫秒定时实现,对应调用相应子程序。 码管显示子程序通过动态扫描实现。 毫秒定时是通过软件延时来实现的。系统初始化后,判断P1.1口,是否等待计价.若是则进入等待计价处理,若否,则进入下一步,判断是否进行车轮

23、计数,若没有进行车轮计数则返回等待计价处理,若进行车轮计数,则由计数器加1,然后判断计数器是否加到50,若不到50,则由数码管显示,若到了50则由到50方式处理,最后由数码管显示计算的价钱。图4.1 主程序流程图5 调试及性能分析5.1调试与测试采用KeilC51编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作。硬件电路制作完毕,用万用表检测有无短路开路等现象,确定硬件电路没有问题后,用仿真头与硬件电路相连,运行程序进行调试。若调试不成功,则可再单独调试程序和硬件电路。程序用软件仿真运行,硬件电路再次检查有无焊错,或者元件与插座接触不良等方面问题;确认均无问题后,再次把软件和硬件联

24、机调试,直至功能正常。把程序烧录进单片机AT89C52结束调试。5.2性能分析制作完成后正式通电检测,用遮挡物使红外接收发射器产生信号,重复第51下时,数码管开始变化,当按下等待按键时,每4秒钟,数码管自动加0.1,表明进入计价等待状态。参考文献1 张友德 赵志英 涂时亮 编 单片微型机原理、应用与实验 上海:复旦大学出版社2005.12 全书2 徐光翔 单片机原理接口及应用 南京大学出版社3 张淑清等. 单片微型计算机接口技术及其应用 北京:国防工业出版社, 4 王晓君等. MCS-51及兼容单片机原理与选型 北京:电子工业出版社5 6 附录参考程序源程序 ORG 00H LJMP MAIN

25、 ORG 0100HMAIN: MOV R1,#00H ;初始化 MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H XHPD: JNB P1.1,JSD ;是否等待计价,若是调用计时子程序 JNB P1.0,XD ;是否有信号 LCALL PAND LCALL XIANS JMP XHPDXD: LCALL D2MS ;确定有信号 JNB P1.0,HF LJMP XHPDHF: JNB P1.1,JSD LCALL PAND LCALL XIANS JNB P1.0,HF ;信号是否结束 JB P1.4 ,JS ;调用计数子程序 JNB P1.4

26、 , JSS LCALL PAND LCALL XIANS LJMP XHPD;-;计时子程序;-JSD: JB P1.1,XHPD ;是否继续等待计价 LCALL D2S LCALL JS LCALL PAND LCALL XIANS JMP JSD ;-;计数子程序;-JS: INC R1 CJNE R1,#0AH,JS1 ;个位加1 MOV R1,#00H INC R2 CJNE R2,#0AH,JS1 ;十位加1 MOV R2,#00H INC R3 CJNE R3,#0AH,JS1 ;百位加1 MOV R3,#00HJS1: RETJSS: INC R1 INC R1 CJNE R1

27、,#0AH,JSS1 MOV R1,#00H INC R2 CJNE R2,#0AH,JSS1 MOV R2,#00HINC R3CJNE R3,#0AH,JSS1MOV R3,#00HJSS1:RET ;-;4S延时子程序;-D2S: LCALL PAND LCALL XIANS MOV 30H,#2D2S1: MOV 31H,#250D2S2: DJNZ 31H,D2S3 DJNZ 30H,D2S1 JMP D2S4D2S3: LCALL PAND LCALL XIANS JB P1.1,D2S4 LCALL D2MS JMP D2S2D2S4: RET;-;判断5.0是否到子程序;-PA

28、ND: CJNE R3,#00H,HIGH1NEQ1: CJNE R2,#05H,NEQ2 JMP HIGH1NEQ2: JC LOW1 JMP HIGH1LOW1: MOV R4,#05H ;不到5.0的处理 MOV R5,#00H JMP PAND1HIGH1: MOV A,R1 ;超过5.0的处理 MOV R5,A MOV A,R2 MOV R4,APAND1: RET;-;显示子程序;-XIANS: MOV A,R5 ;显示个位 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A CLR P2.0 LCALL D2MS SETB P2.0 MOV A,R4 ;显示十位 MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV P0,A CLR P2.1 LCALL D2MS SETB P2.1 MOV A,R3 ;显示百位 MOV DPTR,#TABLE MOVC A,A+DPTR MOV

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

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