基于AT89S52的出租车计价系统设计.doc_第1页
基于AT89S52的出租车计价系统设计.doc_第2页
基于AT89S52的出租车计价系统设计.doc_第3页
基于AT89S52的出租车计价系统设计.doc_第4页
基于AT89S52的出租车计价系统设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于AT89C52的智能出租车计价系统设计 学校代码:10410 序 号:20050299 本 科 毕 业 设 计 题目:基于AT89S52的出租车计价系统设计学 院: 工学院 姓 名: 学 号: 专 业: 电子信息工程 年 级: 2005级 指导教师: 二O一O 年 五 月23摘 要 介绍一种以单片机 AT89S52 为核心的多功能出租车计价器的设计 ,阐述软硬件设计过程中关键技术的处理。表明该计价器具有集计程、 计时、 计费、 存储、 查看、 统计等多种计量功能 ,并且具有超速提醒、 防止司机作弊、 语音、打印和显示等多种功能。与已有的系统相比 ,该系统具有超速提醒等更强的功能。关键词:出租车计价器;多功能;AT89C52;软硬件设计. AbstractDesign of Multi2 function T aximeter B ased on Single Chip MicrocomputerXIAO Weichu ,CHEN Weihong ,YANG Ming( Hunan City University ,Yiyang ,413000 ,China)Abstract : The designs of a new type of taximeter based on single chip microcomputer AT89S52 are presented. How tosolve key problems in the process of designing sof tware and hardware system is also discussed. The simulation result s haveproved that the system is satisfied with the practical requirement s of distance ,time and fare counting ,storing ,examining ,accu2mulating data ,reminding of the excessive speed ,guarding against driver cheating ,and the print , speech and display function.Compared with the existing system ,this system has st ronger function ,such as reminding of the excessive speed and so on.Keywords : taximeter ;multi2 function ;AT89C52 ; sof tware/ hardware design. 引 言出租汽车因其方便、快捷已逐步成为人们生活中不可缺少的代步工具。随着出租汽车行业的迅猛发展, 作为结算出租汽车乘客应付费用的计价器已成为人们密切关注的计量仪器。 出租车计价系统是出租车营运收费的专用智能化仪表 ,多年来国内普遍使用的计价系统只具备单一的计量功能。随着电子技术的发展,出租车计价器技术也在不断进步和提高,国内出租车计价器已经经历了四个阶段的发展,从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器,再从集成电路式到目前的单片机系统设计的出租车计价器。随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费、语言报话和电脑串行通信及税控功能。它比市场上的一些计价器使用更方便 ,功能更全,还具有有效防止司机作弊和系统稳定性好的优点。 目前市场上大量存在两种类型的计价器:采用数字电路控制和采用单片机控制,由于计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。因此,本设计采用单片机控制,以单片机为主要芯片,以里程传感器用于计程,显示部分用于时间、价格、路程和金额的显示。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。因此 ,本文以单片机 A T89S52 为核心设计一款多功能出租车计价器,该计价器能实现里程计价与显示、数据存储与查询、 时钟显示、 超速提醒、 语音播报和票据打印等功能。它比市场上的一些计价器使用更方便 ,功能更全,还具有有效防止司机作弊和系统稳定性好的优点。其中的超速提醒功能可以提醒司机和乘客,以告诫司机不要超速行驶,以避免事故的发生。目录摘要1Abstract2引言3第一章绪论51.1出租车计价概述51.2 本设计任务51.2.1 基本要求51.2.2 发挥部分51.3 系统主要功能6第二章系统硬件设计72.1系统整体方案72.2硬件电路设计82.2.1 电源电路102.2.2 路程测量电路102.2.3 数据显示电路112.2.4 时钟电路132.2.5 语音播报电路132.2.6 票据打印电路142.2.7 数据存储电路142.2.8 超速提醒与按键设置电路15第三章 系统软件设计193.1 主程序设计193.2 几个关键子程序193.2.1 外部中断1里程计时程序203.2.2 T0中途等待计时程序203.2.3 键盘服务程序20 结束语22参考文献22附录23附录一 电路原理图23附录二 PCB24附录三 系统软件设计25 第一章 绪论1.1出租车计价概述如果车速大于一定的值,采用公里数计算价格,如果车速小于这个值,就可以用时间计算;计算公里数,应用单片机计算其公里数 ;计算时间可以用到定时器确定时间,或者用RTC中断采集到更精确的时间; 用数码管或液晶显示公里数、时间以及价格,可以学到如何用单片机驱动数码管或者用单片机驱动液晶。空车牌来提供计价器计价的信号;打印机来打印所需要的票据,通过排线连接计价器主机。1.2本设计任务1.2.1基本要求 (1) 不同情况具有不同的收费标准。 l 白天 l 晚上 l 途中等待(10min 开始收费) (2) 能进行手动修改单价。 (3) 具有数据的复位功能。 (4) IO 口分配的简易要求。 距离检测使用霍尔开关A44E; 白天/晚上收费标准的转换开关; 数据的清零开关; 单价的调整(最好使用和按键) (5) 数据输出(采用LCM103)。 单价输出 2 位; 路程输出 2 位; 总金额输出 3 位; (6) 按键。 启动计时开关; l数据复位(清零); l白天/晚上转换; 1.2.2.发挥部分 (1) 能够在掉电的情况下存储单价等数据。 (2) 能够显示当前的系统时间。 (3) 语音播报数据信息。1.3系统主要功能1.3.1计价:根据当地规定并根据实际运营里程、计费模式及行驶状态(单程/往返、昼/夜、低速等)自动计价。1.3.2 税控:本机装有国家指定的出租车专用税控组件,唯一控制显屏显示,完整保存各项业务数据。1.3.2营业数据存贮和检查:可存储和检查营业数据:单次营业数据、总累计营业断、数据和税务信息。1.3.4 停机受检:用户到期不检定,本机将自动停止工作。1.3.5 失电保护:计价器失电时,自动进入保护状态,复电开机计价器失电前状态。失电保护大于三年。1.3.6 自动打印:计价器与打印机一体,采用国家规定的点阵式打印机。可以打印国家规定的44.5cm*127cm或44.5*133cm规格的填空式出租车专用发票。1.3.7 语音提示:进入乘或退出乘状态播放礼貌用语。1.3.8 时钟校正:允许每个月进行一次时钟校正,每次可调整5分钟。1.3.9 符合出租车税控计价器定型大纲要求的Ic卡接口管理:目前国家税务机关虽然没有使用出租车税控计价器管理系统,但是一旦国家开始使用勿须更换计价器。特点:(1) 显示屏直接显示:时钟、单价、里程、计时、金额、单程/往返、夜间、低速、暂停及功能条码。(2) 高亮LED背光照明,亮度可以任意调节,可以根据实际需要开关背关灯。(3) 使用功能条码操作计价器各种功能,在无操作状态下该条码以循行递增的形式显示传感器信号。(4) 打印机使用进口点阵式打印机。符合国家标准,打印定位可以调整。(5) 使用大屏高亮LED空车灯,美观实用。(6) 安装方式灵活,独家设计安装支架,根据车型不同,可自用选择安装方式:,嵌入车体或安装在工作台等其它部位。 第二章 系统硬件结构及其功能2. 1 整体方案整体方案设计方框图如图 1 所示 ,整个系统由单片机 A T89S52 控制电路、 A44E 霍尔传感器电路、A T24C02 存储电路、 DS1302 时钟电路、 ISD2560 语音播报电路、 票据打印电路、 按键调整电路、 MAX7219 驱动显示电路及电源电路组成。 图1 出租车整体方案设计方框图单片机采集并判断空车灯信号及路程检测传感器信号 ,当出租车启动时 ,单片机检测到霍尔传感器的脉冲信号并进行里程计算。当无乘客时 ,单片机调用实时时间芯片 DS1302 程序和 MAX7219 串口显示驱动程序 ,用 4 只L ED 进行时钟显示;当空车灯掰下乘客上车时: ISD2560 语音播报电路进行语音播报 1 (欢迎乘客乘坐本出租车) ,通过 DS1302 获取时间信息分辨白天/晚上 ,然后调用 A T24C02 程序获取白天/晚上的单价及起始价 ,便开始计价并显示时间、 里程和金额等信息;当空车灯打上乘客下车时:进行播报 2 (谢谢再次乘坐本出租车 ,请交金额) ,并打印好票据 ,单片机将营运数据信息存储到 24C02 中 ,等待出租车再次启动后单次金额与里程等信息清零复位 ,就此完成一次计价。2. 2 硬件电路设计本设计由电源部分、 霍尔传感器路程测量部分、 数据显示部分、 时钟部分、 语音播报部分、 票据打印部分和数据存储部分等组成,各部分端口分别与单片机 AT89S52 的输出口相连,通过单片机的控制来实现计价器的功能实现。2. 2. 1 电源部分由于计价器的工作环境比较差 ,它要求有抗振动、抗高低温、 抗潮湿、 抗电磁干扰等能力 ,特别是电源方面的干扰,如出租车启动时 ,发动机打火、 电瓶充电等造成输入计价器的 + 12 V 电源不稳定。因此采用 + 12 V电瓶电源经过滤波和电源稳压管理芯片 7805 后得到+ 5 V的稳定电压输出 ,保证整个系统能够正常工作。如图 3 所示。图3 电源电路2. 2. 2 路程测量部分 出租车中需要一个能准确获得车轮转动即路程计量信号的装置 ,以得到标准的脉冲信号送入单片机的定时/计数器 T1 即 P3. 5 引脚 ,利用单片机的 T1 的计数功能完成 100 次的计数后产生一中断来完成路程的测量。(设车轮周长为 1 m ,则霍尔传感器每产生 100 个脉冲便表示车已行程 0. 1 km ,根据实际情况在程序中进行设置) 。汽车联轴器按圆周间隔嵌入磁钢 ,用霍尔传感器集成芯片 A44E检测并输出脉冲 ,其工作原理如图4所示,霍尔传感器集成芯片 A44E有信号转换、 电压放大、 整形输出等功能 ,为增加其抗干扰的能力 ,经过74L S14 对信号整形后再通过光偶送入 P3. 5 引脚。如图 5 所示。而在此电路中为了防止司机作弊 ,可采用加密传感器的方法 ,先对霍尔传感器采集到的计数脉冲加密 ,使计费脉冲以密文方式传输 ,最后解密为明文脉冲 ,传送到计价器计费。在密码传感器中 ,加密器向解码器发送的是密码 ,只有加密器和解密器固有密码相同时 ,解码器才向计价器发送计数脉冲 ,计价器才计费 ,因此 , 密码传感器提高了计价器计费可靠性 ,不法出租车司机也无法使车费增加,同时司机也不能私自更换计价器传感器 ,实现了计价器由国家计量部门统一安装、 维修和年检的统一管理。小磁铁 P3.5AT89C52单片机霍尔传感器霍尔传感器图4 A44E传感器工作原理图 5 传感器检测电路2. 2. 3 数据显示部分由于设计要求有单价(2 位) 、 中途等待时间(2 位) 、路程(4 位) 、 金额(4 位)显示、 时钟(4 位)输出 ,如果采用LCD 液晶显示 ,在距离屏幕 1 m 之外就无法看清数据 ,而且在白天其对比度也不能够满足要求 ,因此采用16 位的高亮度L ED 数码管显示。当为空车时 ,为了节电 ,只显示时间 ,为供司机查看时间提供方便 ,当司机要查询以往的营运数据时 ,按查询键可提供显示;在乘客时显示营运的单价、 等待时间、 路程、 金额及时钟。显示驱动器 MAX7219 具有串行输入/并行输出功能 ,最多可显示 8 个 L ED 数码管 ,同时有可以对亮度、译码方式、 显示位数、 工作模式进行编程 ,非常满足远距离数据显示;MAX7219 采用串行寻址方式,进入 DIN端的 16 位串行数据在每个 CL K的上升沿被移入到内部的 16 位移位寄存器中 ,在LOAD 端的上升沿被锁存到控制寄存器和数据寄存器中 ,接收到的第一位为最高位D15 ,在该电路中采用 89S52 的 P1. 5 为数据口 ,P1. 6 为LOAD 端 ,P1. 7 为时钟口。由于要显示 16 个 L ED ,所以采用 2 片 MAX7219级连进行驱动显示 ,把上一片的数据输出口和下一片的数据输入口连接使用。而主电路板上 TA89S52 输出的DIN ,LOAD ,CL K信号在传输到显示板的过程中可能会由于干扰而产生变形 ,所以在显示板电路板上对这3 个信号进行整形然后再通过光偶 ,以防止数据的错误显示或不显示的现象发生。如图6所示。图 MAX7219接口电路2. 2. 4 时钟部分计价器在出租车空车行驶时需要显示实时时钟 ,因为它的时钟是作为白天/晚上单价自动转换的一个基准 ,而且计价器的时钟显示能为司机和乘客提供方便 , 所以选择一个好的时钟芯片对计价器很重要。DS1302是美国DALLAS公司推出的一种高性能、 低功耗的实时时钟芯片 ,采用 SPI三线接口与CPU 进行同步通信;时钟可提供秒、 分、 时、 日、 星期、 月和年;通过设置DS1302 的控制/状态寄存器选择日历 ,时钟方式经过初始校准后即可工作使用;工作电压宽达 2. 55. 5 V ,采用双电源供电(主电源和备用电源) ,并设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力 ,在没有主电源的情况下启用备用电源能保存时间信息及数据。如图 7 所示。图7 时钟芯片接口电路2. 2. 5 语音播报部分考虑到计价器的微型化、 智能化 ,语音芯片采用集成度较高 ISD2560 芯片 ,其最大特点是采用 E2PROM进行模拟信息直接存取而不必经过 A/ D 和 D/ A 转换。它内部带有话筒放大器、 自动增益控制时钟、 扬声器驱动电路等 ,采用 + 5 V 电源供电。语音模块与单片机的接口如图 8 所示 ,设计过程中 ,先将固定语音部分 (上、下车用语 ) 信息存储到ISD2560 内部的不同起点地址中。营运过程中根据上、下车的不同营运状态来实现不同语音功能播放。在语音芯片工作时 ,系统首先主程序调用放音处理程序 ,根据发音地址寻找 ISD2560 中的发音单元 ,然后将信号送到扬声器发出声音。图8 语音播报电路2. 2. 6 票据打印部分当出租车到达指定地点 ,司机翻起空车牌 ,便产生一个信号通知单片机 A T89S52 ,单片机启动打印服务 ,将行车的中途等待时间、 营运里程、 单价、 金额、日期及上下车时间等数据打印成出租车专用发票 ,微型打印机接口电路如图 9 所示。该电路采用接口插板方式与单片机相连 ,这一特点使得计价器的票据打印在功能上与主系统一体化 ,而在检查、 维修时又可单独进行。本设计中所用微打是 EPSON 公司生产的 TP p216 微型打印机 ,微打与单片机通过并行接口相连 ,当所需要打印的数据出现在打印机 I/ O0I/ O7 上时 ,STB 只要从高电平转到低电平 ,再从低电平转到高电平 ,就可把数据送入打印机。这时打印机将 BUSY 线置为忙 (高电平) ,禁止新数据输入;当打印机取走数据并处理完毕后 ,BUSY线被置为闲(低电平) ,同时送出回答脉冲ACK通知系统 ,可以再次输入数据。图9 数据打印部分2. 2. 7 数据存储部分数据存储部分的作用是在电源断开时 ,存储当前设定的单价信息。A T24C02 是 A TMEL 公司的 2 kB 的电可擦除存储芯片 ,采用 2 线串行的总线和单片机通讯 ,电压最低可以到 2. 5 V ,额定电流为1 mA ,静态电流10Ua (5. 5 V) ,芯片内的资料可以在断电的情况下保存 40 年以上 ,而且采用 8 脚的 DIP 封装 ,使用方便。如图 10 所示。 图10 数据存储部分图 10 中的时钟信号线 SCL 与数据线 SDA 需外接5. 1 k的上拉电阻 ,其作用是减少 A T24C02 的静态功耗 ,24C02 采用 I2C 总线与 A T89S52 相连 ,A T89S52的 P1. 3 作为它的串行时钟线 ,P1. 4 作为它的串行数据线。当通过通过按键设定一次数据完毕后(如:昼夜单价、等候时间、起租里程、起租金额等) ,系统就自动调用存储程序 ,将数据信息保存在芯片内;当系统重新上电时 ,自动调用读存储器程序 ,将存储器内的数据信息 ,读到缓存单元中 ,供主程序使用。由于保存在 24C02 中的数据是不能随意进行改动的 ,因此它具有防作弊功能。此外出租车营运过程中的一些营运数据 ,如:单次出租的营运额和营运里程、 一段时间内的营运总额和总路程等,也存储在 24C02 中 ,以便出租车公司及司机查询 ,使出租车司机更方便的管理营运数据 ,出租车行业得到更有效的管理。2. 2. 8 超速提醒与按键设置部分有些出租车司机为了获取更多的时间来多送一个乘客 ,他们在送客过程中以高速行驶来榨取时间 ,而引起一些交通事故 ,为了制止这些事故发生 ,在系统程序中通过软件检测行驶速度 ,当速度高于设置的最高速度时即超速时以红色 L ED 显示 ,乘客观察后可以提醒司机不要超速行驶 ,以避免交通事故发生。如图 11 所示 ,按键部分有营运数据查询键和数据设置键,营运数据查询按键置于计价器的外面 ,司机通过该查询键可以查看 1 个月的总营运额与总营运里程 ,和单次的营运额与营运里程。图11 超速提醒与按键设置电路短按查看总营运数据 ,再次短按则循环依次往上翻阅过去单次的营运数据 ,长按 3 s 则跳出数据查询。数据设置键则秘密安放于计价器内部 ,且必须对计价器多处进行铅封 ,以防止司机通过该按键对营运的重要数据进行设置而作弊 ,该按键由出租车公司的专业人员来调整数据,由功能设置/确认键、 UP、 DOWN 键组成 ,其中功能设置/确认键对系统时间、 起步价、 白天/晚上单价、等待时间等数据调整进行设置 ,然后通过 UP 与DOWN 来对数据值进行加与减。然后再通过功能设置/确认键来对所设数据的确认。第三章 系统软件设计软件设计部分可分为:主程序控制程序、 外部中断 0空车灯信号中断程序、 外部中断 1 里程计算程序、T0 等待时间计数中断程序、 MAX7219 串口静态 16 位L ED 显示程序、 DS1302 时钟程序、 ISD2560 语音播报程序、 24C02 数据存储程序、 打印程序和键盘服务程序等;在整个软件中一些变量使用全局变量形式 ,以供主程序的调用并进行显示。3. 1 主程序设计在主程序模块中 ,需要完成对各芯片的初始化(MAX7219 ,A T24C02 , ISD2560 语音芯片及微型打印机的初始化) 、 各中断的初始化(外部中断 0、 外部中断 1、 T0 的初始化) ,另外 ,在主程序模块中还需要设置启动/清除标志寄存器、 里程寄存器和价格寄存器 ,并对它们进行初始化。然后 ,主程序将根据各标志寄存器的内容 ,分别完成启动、 清除、 计程和计价等不同的操作。主程序流程图如图 12 所示。当空车信号灯打下时 ,表示有乘客上车 ,就就进行语音播报 1 并启动计价 ,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过 ,则根据里程值、 每公里的单价和起价来计算出当前的累计价格 ,并将结果存于价格寄存器中 ,然后将当前时间和累计价格送 MAX7219 驱动的 L ED 显示电路显示出来。当中途塞车(等待或低速行驶)时 ,在一定时间内没有检测到传感器的脉冲信号就启动 T0 计时器进行计时 ,当超过规定的等待时间后 ,计价器就根据等待价格进行当前金额的累加与显示 ,并在计价器上显示等待时间;当到达目的地的时候 ,司机把空车灯打上 ,就停止计价 ,显示当前所应该付的金额和对应的单价 ,并进行语音播报 2 ,及票据打印。等乘客下车后 ,启动出租车 ,计价器检测到传感器的脉冲信号 ,系统自动对显示清零 ,并重新进行初始化过程 ,完成 1 次计价。3. 2 几个关键子程序3. 2. 1 外部中断 1 里程计数程序霍尔传感器输出的脉冲信号输入到单片机的外部中断 1 接口 ,车轮每转一圈就产生一个脉冲信号 ,单片机就进行一次中断 ,在中断程序中完成两项任务:(1) 启动定时器 0 ,表示出租车启动;(2) 单次里程与总里程的累加计算并将结果存入寄存器中(设车轮转 1 圈为 1 m ,则每中断 1 次 ,里程就增加 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论