资源预览内容
第1页 / 共61页
第2页 / 共61页
第3页 / 共61页
第4页 / 共61页
第5页 / 共61页
第6页 / 共61页
第7页 / 共61页
第8页 / 共61页
第9页 / 共61页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于单片机的出租车计价器设计方案1 引言随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以快捷便利的服务给人们带来了出行的享受。但是,一直以来存在着的买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。 我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程,到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 鉴于目前有关出租车计费又出台了新的政策,在原有政策基础上新增了等待费用,为了与时俱进,设计一个计费功能较全面的系统也已是迫在眉睫。 凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时计费数字显示开始从起步价增加。当出租车到达某地需要在那里等候时,系统会自动根据时间进行计时,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有应用价值的。 2 出租车计价器的方案论证2.1 出租车计价器的基本功能本课题所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、计时计价、路程和总金额的统计,掉电数据储存。当按下按键后,启动计价器,开始采集脉冲信号,然后传送到单片机,单片机进行处理,计算出行驶路程以及总金额,将计算结果通过液晶显示屏显示,本电路设计的计价器不但能实现基本的计价,还能根据白天、黑夜、中途等待来调节单价,并且在计价器掉电后能将数据存储,不影响后续计费功能。2.2 出租车计价器的主要设计参数本课题对出租车计价器的设计要求如下:设计一个出租车自动计价器,计价包括起步价、行车里程计费、等待时间计费三部分,用1602液晶显示总金额,运行时间,最大值为999元,起步价为6元,等待时间单价为超过等待时间30秒后每分钟1元,用液晶显示总里程、等待时间和总金额。1、计费功能费用的计算是按行驶里程收费。设白天起步价为6元,晚上起步价为7元。等待时间超过30秒后按1元/min计费,未超过30秒时清零等待时间。2、显示功能(1)显示单价:用两位数字显示,显示方式“XX”,单位为1元/km.(2)显示行驶里程:用两位数字显示,显示方式为“XX”,单位为km。计程范围0-99km,里程精确到1km。(3)显示总费用:用三位数字显示,显示方式为“XXX”,单位为元。计价范围0-999元,精确到1元。2.3方案论证与比较方案一: 采用数字电子技术,利用555定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,计数芯片对脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示。方案二:用FPGA(可编程门阵列)实现:利用硬件描述语言编程,仿真调试后下载到可编程期间上(CPLD)上实现。可以对计程车整个过程进行判断、处理。整个过程完全实现了自动化和智能化。 方案三:采用单片机控制。以单片机为核心,设计上采用89S52单片机为主控器,利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格选择功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。通过各个方案的比较,我们知道采用数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,并且难调试,而采用单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,有较大的活动空间,可以通过软件编程来完成更多的附加功能,方便对系统进行升级和功能扩展。所以我们采用第三方案,用AT89S52单片机实现出租车计价的功能。系统结构如图2.1下:图2.1 系统结构图3. 系统硬件设计3.1 硬件设计说明单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。在这次设计中,我们用到P0口和P2口,P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;P2口为8位准双向口,与地址总线高八位复用;P0口和P2口都有一定的驱动能力,P0口的驱动能力较强。 在数据采集部分本系统采用霍尔传感器A3144,在数据显示部分本系统采用的是LCD1602这款液晶屏,由于采用LCD液晶屏显示器功能强大,可显示各种字体的数字、汉字、图像,还可以自定义显示内容,时尚美观,而且液晶的功耗和LED比起来要小的多。我们还设计了控制按键,能够很好的对出租车计价器控制,如启动/停止按键,清零按键,白天黑夜模式选择等。3.2 单片机的介绍AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。AT89S52基本特性:8 位的 CPU, 片内有振荡器和时钟电路,工作频率为024MHz片内有 256字节 数据存储器 RAM片内有 8K字节 程序存储器 ROM4个8位 的并行I/O口(P0、P1、P2、P3)1个 全双工串行通讯口3个16位 定时器/计数器(T0、T1、T2)可处理 6个中断源,两级中断优先级AT89S52的引脚如图所示3.1: 图3.1 AT89S52的引脚结构 图3.2 AT89S52封装图 AT89S52各引脚功能说明:P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,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位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在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位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.3 硬件电路组成本系统硬件电路组成主要包括:复位电路、晶振震荡电路、显示模块,掉电存储电路,按键电路。整体硬件原理图如图3.3所示图3.3 硬件电路原理图3.3.1 复位电路复位操作有两种基本形式:一种是上电复位,另一种是按键复位。本系统采用按键复位(如图3.4)。按键复位电路原理:在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RESET处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号