基于单片机的出租车计价器.doc
《基于单片机的出租车计价器.doc》由会员分享,可在线阅读,更多相关《基于单片机的出租车计价器.doc(25页珍藏版)》请在沃文网上搜索。
1、 摘 要 由于科技的飞速发展,带动汽车行业快速发展,出租车日益普遍,而出租车上的计价器也不断发展,并且更加精确和智能化。对我们日常生活也有帮助。而使用单片机实现该系统,是深化单片机应用的良好途径。本系统由单片机AT89C51和一些外围原件组成,具有操作简单,显示明了,功能强大的特点。整个系统只有两个按键,一个“启动/停止”,一个“复位”;使用六个七段数码管作为显示器,可以显示数字、字母使系统信息一目了然;本系统除了里程统计和费用计算以外,还具有万年历和语音播报功能。万年历由时钟芯片DS1302实时提供时钟信号,再由单片机调用显示;语音播报由语音芯片ISD1420提供语音信息,语音信息放在不同的
2、地址里,由单片机从这些地址中调用合适的语音进行播放。本方案充分发挥人性化的特点,利用ISD1420的语音功能,模拟实现带语音提示的出租车计价系统。比较真实地模拟出租车的空车、载客、到站及对各状况的费率的计算、统计、显示和语音播报等功能。本系统涉及到的理论知识有: AT89C51单片机知识、ISD1420语音芯片的可擦、写的语音芯片的工作原理及应用、实时时钟芯片的工作原理及应用、 出租车计费系统的原理和实现方法。关键词: 时钟芯片DS1302;语音芯片ISD1420;单片机AT89C51;掉电保护芯片24C02; 目 录设计任务书.1摘要.2绪论.4第1章 出租车计价系统组成和设计方案. .X1
3、.1 出租车系统组成. X1.2 设计方案.X第2章出租车系统的硬件设计. .X2.1 出租车硬件框图.X2.2 AT89C51电路图和说明.X2.3 按键扫描模块.X2.4 显示模块.X2.5 掉电保护模块.X2.6 脉冲发生器模块.X2.7 时钟模块.X2.8 语音模块.X第3章出租车计价系统软件设计.X3.1系统主程序流程图.X3.2里程费率计算流程图.X结论/展望.X致谢.X参考文献.X附录.X 绪论出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车行业的发展,出租车已经是城市交通的重要组成部分,出租车计费器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最
4、重要的工具。它关系着交易双方的利益。具有良好性能的计费器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。要将出租车计价系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节单价以及计价方式。因此,研究出租车计价器及扩大其应用,有着非常现实的意义。多年来国内普遍使用的计价器只具备单一的计量功能。目前全世界的计价器中有90%为台湾所生产。现今我国生产计价器的企业有上百家,主要是集中在北京,上海,沈阳和广州等地。我国第一家生产计价器的是重庆市起重机厂,最早的计价器全部采用机械齿轮构,
5、只能完成简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。出租汽车计价器是一种专用的计量仪器,它安装在出租汽车上,能连续累加,并指示出行程中任一时刻乘客应付费用的总数,其金额值是计程和计时时间的函数。出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。随着电子技术的发展以及对计价器的不断改进和完善,便产生了诸多的附加功能。例如:(1)LED
6、显示功能,数码管的使用让计价器实现多屏显示的功能,可同时显示各项营运数据,使乘客一目了然;(2)永久时钟功能,在非营运状态下,日历时钟芯片的使用使计价器可以显示永久时钟;(3)存储功能,可存储多项营运数据,便于查询。新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年。 第1章 出租车计价系统组成和设计方案1.1 出租车计价器系统组成此出租车计费系统以单片机为系统核心,利用89C51单片机配合六个数码管组成的显示模块及ISD1420语音模块等,实现基本的出租车计价器功能。本系统是由89C51单片机、数码管显示模块、计数脉冲发生器、系统实时时钟及语音等模块组成。系统框图如图1-1
7、所示:89C51单片机脉冲发生器键盘电源掉电保护时钟模块语音模块图1-1 系统功能图1.2方案论证与比较方案一:采用数字电路控制。采用传感器件,输出脉冲信号过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。方案二:采用单片机控制。 利用单片机丰富的 I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。 通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能, 而且还可以方便的对系统进行升级, 所以我们采用后一种方案。第二章 出租车计
8、价系统的硬件设计2.1出租车的硬件框图89C51单片机键盘控制掉电存储里程计算单元串口显示驱动电路总金额显示单价显示 图2-2 单片机控制方案2.2 AT89C51单片机的电路图及说明AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机AT89C51提供了高性价比的解决方案。AT89C51是一个低功耗高性能单片机,40个引脚,3
9、2个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。管脚说明VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上
10、拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址
11、“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P
12、3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如
13、想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编
14、程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。图2-2 AT89C51引脚配置2.3按键扫描模块按键扫描模块电路图及说明: 整个系统只有五个按键,一个“启动/停止”,四个功能调整按键;本模块功能:扫描按键功能,返回扫描。 图2-3-1图2-
15、3-22.4显示模块 本设计是用六个七段数码管动态扫描来实现的时钟与计价的显示,每个数码管的每一个段码都由一个单片机的I/O端口进行驱动。图2-4 数码管封装图及数据线与数码管管脚关系2.5掉电保护模块本电路掉电保护采用了24C02芯片来完成此部分功能。掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02 是ATMEL 公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到 2.5V,额定电流为 1mA,静态电流 10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。24C02管脚功能如下:
16、管脚名称功能NC(1、2、3)器件地址选择SDA串行数据、地址SCL串行时钟WP写保护VCC+1.8V6.0V工作电压GND地掉电保护电路如图2-5所示。图2-5 掉电存储电路原理图图中 R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于 AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线 SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。2.6脉冲发生器模块图2-6 脉冲发生器模
17、块NE555定时器具有定时精度高、工作速度快、可靠性好、电源电压范围宽(3-18V)、输出电流大(可高达200mA)等优点,可组成各种波形的脉冲振荡电路、定时延时电路、是一种电路结构简单、使用方便灵活、用途广泛的多功能中规模集成电路。只需在外部配接适当的阻容元件,便可组成施密特触发器、单稳态触发器和多谐振荡器等多种应用电路,在这个电路中是多谐振荡器,它电路简单、性能稳定,波形标准。2.7时钟模块图2-7 时钟模块2.7.1 DS1302功能内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调
18、整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息时功率小于1Mw。2.7.2特性:1、实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力;2、31 8 位暂存数据存储RAM;3、串行I/O 口方式使得管脚数量最少;4、宽范围工作电压2.0 5.5V;5、工作电流2.0V 时,小于300nA;6、读/写时钟或R
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 出租车 计价器
