基于单片机的出租车计价器设计本科毕业设计论文.doc

上传人:爱问知识人 文档编号:3314953 上传时间:2019-08-11 格式:DOC 页数:48 大小:1.26MB
返回 下载 相关 举报
基于单片机的出租车计价器设计本科毕业设计论文.doc_第1页
第1页 / 共48页
基于单片机的出租车计价器设计本科毕业设计论文.doc_第2页
第2页 / 共48页
基于单片机的出租车计价器设计本科毕业设计论文.doc_第3页
第3页 / 共48页
基于单片机的出租车计价器设计本科毕业设计论文.doc_第4页
第4页 / 共48页
基于单片机的出租车计价器设计本科毕业设计论文.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于单片机的出租车计价器设计本科毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的出租车计价器设计本科毕业设计论文.doc(48页珍藏版)》请在三一文库上搜索。

1、 基于单片机的出租车计价器设计 毕业设计(设计)毕业设计(设计) 题目:基于单片机的出租车计价器设计题目:基于单片机的出租车计价器设计 基于单片机的出租车计价器设计 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教师的 指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和 致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不 包含我为获得 及其它教育机构的学位或学历而使用过的材料。 对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的 说明并表示

2、了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文) 的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本; 学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅 览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在 不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名: 日 期: 基于单片机的出租车计价器设计 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容

3、外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权 大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期:

4、 年 月 日 基于单片机的出租车计价器设计 注 意 事 项 1.设计(论文)的内容包括: 1)封面(按教务处制定的标准封面格式制作) 2)原创性声明 3)中文摘要(300 字左右) 、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论) 、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于 1 万字(不包括图纸、程序清单 等) ,文科类论文正文字数不少于 1.2 万字。 3.附件包括:任务书、开题报告、外文译文、译文原文(复印件) 。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹

5、工整,打印字体及大小符合要求,无错别字, 不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸 应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写, 不准用徒手画 3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文) 2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订 基于单片机的出租车计价器设计 基于单片机的出租车计价器设计基于单片机的出租车计价器设计 摘摘 要要 随着国内城市现代化的发展,出租车行

6、业突飞猛进,出租车计价器的市场需求量 也大大增加。出租车计价器是乘客与司机双方的交易准则,是出租车行业发展的重要 标志,关系着乘客和出租车司机双方的利益。具有良好性能的计价器无论是对广大出 租车司机朋友还是乘客来说都是很必要的。 传统机械式和半机械式出租车计价器主要依靠传感器接收的脉冲进行计数,依靠齿 轮比进行计价,不可避免的造成计价器易损耗,精度低,不易调整价格,容易作弊等 问题。从加强出租车行业管理及服务质量并且节约成本出发,考虑到单片机已经再各 个领域成熟的应用了几十年,其技术可靠,参考资料丰富,价格低廉,因此本文选取 了 AT89S52 这一单片机做为计价器的核心。运用霍尔传感器检测车

7、轮转数,读取掉电 存储单元里面的价格信息,经单片机处理之后显示到 LED 数码管上。用单片机进行的 设计,相对来说功能强大,用较少的硬件和适当的软件相互配合很容易实现设计要求, 且灵活性强,可以通过软件编程来完成更多的附加功能。通过软件就可以轻易的实现 计费模式的切换。本设计采用 LED 数码管提供了友好易读的界面,数据信息一目了然, 极大的方便了司机朋友的使用。 关键词:出租车计价器;AT89S52;单价调节; 软硬件设计 基于单片机的出租车计价器设计 A DESIGN OF TAXIMETER BASED ON SINGLE CHIP DESIGN ABSTRACT With the de

8、velopment of modern domestic cities, the taxi industry by leaps and bounds,and the rental car mileage fare meters market demand is also greatly increasing. Taximeter is both passengers and drivers of the transaction criteria, a taxi is the most important tools. It relates to the interests of both tr

9、ansactions. Has a good performance regardless of the meter is a vast number of taxi drivers or passengers are very necessary. Traditional mechanical and semi-mechanical Taximeter rely mainly on the sensor to receive the pulse count, relying on the pricing of gear ratio, the inevitable result of the

10、meter easy to wear and tear, low precision, easy to adjust the price, easy to cheat and other issues.In order to strengthen the rental car trade management and the grade of service,and saves the cost to embark,The single-chip circuitry to AT89S52 as the center, an additional Hall sensor A44E ranging

11、, to realize Taximeter statistics, using AT24C02 realize when the system power- down unit prices and save information such as system time. MCU used for the design, a relatively powerful, with less hardware and appropriate software can easily coordinate with each other to achieve the design requireme

12、nts, 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 cite the achievement. Also in this programme that the use of a 8 digital display tube, can be more friendly to use interface. This

13、 design uses LED digital tube to provide a friendly and easy to read interface and data information at a glance, which greatly facilitates the use of the driver friends。 Key words: Rental car mileage fare meter;AT89S52 ;unit price adjustment;software and hardware design 目录 1 绪论1 1.1 课题背景1 1.2 本文研究目的

14、.2 1.3 本文主要内容2 2 总体方案设计3 2.1 方案论证与比较3 2.2 单片机系统总体设计4 2.3 芯片简介5 2.3.1 AT89S52.5 2.3.4 DS13026 2.3.5 A44E .7 2.3.6 AT24C02.8 2.3.7 74LS13810 3 硬件电路设计11 3.1 CPU 模块.11 3.2 路程测量部分.12 3.3 数据显示部分.13 3.5 时钟部分.14 3.6 掉电存储电路.14 3.7 按键部分电路.15 3.8 章节总结.16 4 系统软件设计17 4.1 主程序设计.17 4.2 里程计数中断服务程序.18 基于单片机的出租车计价器设计

15、 4.3 仿真结果.19 4.3.1 仿真软件 Proteus19 4.3.2 Proteus 界面介绍.20 4.3.3 Proteus 仿真结果.20 5总 结22 参考文献23 致谢25 附录 A 系统总原理图26 附录 B 各部分程序.27 附件 附件 1 开题报告(文献综述) 附件 2 译文及原文影印件 第 1 页 共 40 页 1 绪论 1.1 课题背景 出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车行业的 迅速发展,出租车已经成为了城市交通不可分割的部分,出租车计价器是乘客 与司机之间的一把秤,它关系着交易双方的利益,是出租车中最具标志性的工 具。一个性能良好的计价器

16、无论是对广大出租车司机朋友还是乘客来说都是非 常重要的1。 出租汽车计价器是一种专用的计量仪器,它安装在出租汽车上,能连续累 加计算,并指示出行程中任一时刻乘客应付费用的总数,其金额值是计程和计 时时间的函数。出租车计价器在最初使用时具备的主要功能是根据行驶里程计 价,要求精度高,可靠性好。要将出租车计价系统产品化,应该根据客户不同 的需求进行不同的设计,在程序中增加一些可以人为改变但又不是可以在运行 中随意改变的参数,以便客户根据不同的需要随时调节单价以及计价方式。 多年来国内普遍使用的车租车计价器计量功能少,操作不便,而且目前世 界上 90%的计价器产自台湾。现今国内生产计价器的企业仅有数

17、百家,主要是 集中在珠江三角和江苏等地。这些企业也大都是一些中小型的企业,研发水平 有限,技术水平不高,国际竞争力也不强2。 我国最早的计价器几乎都采用机械齿轮构成,只能完成简单的测量功能, 从某种程度上说,早期的计价器就只是个特殊的里程表。随着科学技术的发展, 产生了采用了手摇计算机与机械结构相结合的新一代的计价器。它在计程的同 时还可完成计价的工作。大规模集成电路的发展带来了第三代计价器,也就是 现在常见的功能也在不断完善的全电子化的计价器。 现在各大中城市出租车行业都必备出租车计价器,甚至于没有正规的出租 车计价器的出租车几乎不再有人相信是真的,所以计价器市场的发展已成为了 不可阻挡的趋

18、势3。而部分小城市出租车行业尚不发达,但随着城镇城市化进 程的日益加快,象征着城市面貌的出租车行业也将加速发展,计价器市场的不 基于单片机的出租车计价器设计 第 2 页 共 40 页 断扩张也是毫无疑问的,所以未来出租车计价器的市场潜力还是巨大的。 1.2 本文研究目的 目前的出租车计价器种类繁多,采用的方案也各不相同。从传统简单的逻 辑电路方案到高性能的 FPGA 方案,极大地丰富了计价器市场。但是各个方案 又都有其难以避免的缺点,例如逻辑电路,由于主要依靠传感器接收的脉冲进 行计数,依靠齿轮比进行计价,不可避免的造成计价器易损耗,精度低,不易 调整价格,容易作弊等问题4。 因此本文拟采用一

19、个简单易行,且价格低廉的方案来取代当前的出租车计 价器。考虑到单片机已经再各个领域成熟的应用了几十年,其技术可靠,参考 资料丰富,价格低廉,因此本文选取了 AT89S52 这一单片机做为计价器的核心。 运用霍尔传感器检测车轮转数,读取掉电存储单元里面的价格信息,经单片机 处理之后显示到 LED 显示屏上。相信这种计价器能够成功的取代当前的出租车 计价器给乘客和出租车司机带来方便和实惠。 1.3 本文主要内容 本文第一章主要介绍了出租车计价器的一些相关信息,简要的叙述了本设 计存在的意义。第二章对当前的各种方案进行了比较论证,最后选取其中综合 性能最好的方案,并且对这一方案里面所采用的各种芯片进

20、行了简要的减少和 说明。第三章则详细的叙述了各个芯片的硬件电路,各部分的功能构成,以及 周边电路的设计。第四章则介绍了各个软件模块的设计方案,软件流程。也简 单介绍了本文模拟用的软件 Proteus 和 Proteus 的仿真的结果。 基于单片机的出租车计价器设计 第 3 页 共 40 页 2 总体方案设计 2.1 方案论证与比较 出租车计价器是出租车营运收费的专用计量仪表,随着电子技术的发展也 给出租车计价器的发展带来了春天,日渐丰富的功能,完善的周边电路,更加 人性化的操作也让出租车计价器技术日新月异,国内出租车计价器的发展从传 统的齿轮传动组成的机械式到用手摇式计算机代替部分机械元器件的

21、半电子化 出租车计价器5。出租车计价器的发展从未有过停止,各种新的解决方案也层 出不穷。面对众多可选择的方案,出租车计价器计费是否能够公平公正准确的 计费、是否能够让乘客信任是才是广大客户最关心的问题,而计价器营运数据 是否方便管理,是否能够实现燃油附加费、税收的方便管理才是出租车司机最 关注的6。在查阅了大量的资料和文献之后,本文最终筛选出了以下的两种较 为简单易行又常见的方案: 方案一:采用单片机技术。单片机有着丰富的 I/ O 端口,可实现基本的里 程计价功能和价格调节、时钟显示功能。其原理如图 2.1 所示。 AT89s52 单片机 按键 AT24C02掉电存储单元 里程测量单元 显示

22、驱动单元 单价显示总价显示 图 2.1 单片机控制方案 基于单片机的出租车计价器设计 第 4 页 共 40 页 方案二:采用 EDA 技术,根据层次化设计理论,该设计问题自顶向下可分 为分频模块,控制模块、计量模块、译码和动态扫描显示模块,其系统框图如 图 2.2 所示: 时钟信号 等待信号 公里脉冲 计费/复位 分频器 控制器 显示 译码 计费 计时 计程 图 2.2 FPGA 控制方案 通过比较以上两种方案,FPGA 设计虽然也能满足要求,但是考虑到成本 和扩展性上不如单片机,而且维修不方便,在中小规模生产的情况下没有明显 的性价比。而相比来说单片机有较大的活动空间,利用单片机丰富的 IO

23、 端口, 及其控制的灵活性,不但能实现基本的里程计价功能和价格调节、时钟显示功 能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。为此采 用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配 合可以很容易的实现设计要求。 2.2 单片机系统总体设计 本次设计我们利用单片机 AT89S52 芯片作为设计的核心,利用霍尔传感器 基于单片机的出租车计价器设计 第 5 页 共 40 页 测距,实现对出租车计价统计,采用 AT24C02 实现在系统掉电的时候保存单 价和系统时间等信息,显示采用 8 位 LED 数码管,分屏显示单价、路程、总金 额以及时间. 当出租车启动时,单

24、片机检测到霍尔传感器的脉冲信号并进行里程计算。 当无乘客时,单片机调用芯片 DS1302 程序和 74LS138 串口显示驱动程序,用 LED 进行时钟显示。当空车灯掰下乘客上车时:通过 DS1302 获取时间信息分 辨白天/晚上,然后调用 AT24C02 程序获取白天、晚上的单价及起始价,便开 始计价并显示时间、里程和金额等信息。当空车灯打上乘客下车时,等待出租 车再次启动后单次金额与里程等信息清零复位,就此完成一次计价。总体框图 如 2.3: AT89s52 单片机 空车检测 单价显示总价显示 键盘控制 AT24C02掉电存储单元 里程测量单元 DS1302时钟电路 显示驱动 图 2.3

25、总体设计框图 2.3 芯片简介 根据任务书的功能要求和现在所具备的条件,本设计拟采用 5 个芯片, 分别为: AT89S52、AT24C02、74LS138、DS1302、霍尔传感器 A44E。 2.3.1 AT89S52 本文所选用的 AT89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制 造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系 基于单片机的出租车计价器设计 第 6 页 共 40 页 统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位

26、CPU 和在系统可 编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的 解决方案7。AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式 下,RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中

27、断或硬件复位为止8。AT89S52 引脚图如图 2.4: 图 2.4 单片机引脚图 2.3.4 DS1302 设计考虑到计价器的实用性,拟在没有乘客的情况想显示实时时钟,也是 作为各个时段单价自动转换的标准。采用一个可靠的计时芯片是必不可少的。 DS1302 一种高性能、低功耗的实时时钟芯片,工作性能稳定可靠,采用 SPI 三 线接口与 CPU 进行通信;并可采用突发方式一次传送多个字节的时钟信号和 RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31 基于单片机的出租车计价器设计 第 7 页 共 40 页 天可以自动调整,并且具有闰年补偿功能。通过设 DS1302 的控

28、制/状态寄存器 选择日历,时钟方式经过初始校准后即可工作使用;工作电压宽达 2.55.5V。 可采用多电源供电9。如图 2.5 为 DS1302 的引脚功能图。 图 2.5 DS1302 引脚功能图 由于采用了备用电池供电,所以在汽车电源关闭的情况下,也能保持时钟 的正常运行。DS1302 由 Vcc1 或 Vcc2 中电压较高的一端供电。X1 和 X2 是外 接 32.768kHz 晶振的振荡源。RST 是复位/片选线,通过把 RST 输入置高电平 来启动所有的数据传送。RST 有两种输入功能:第一,RST 接通控制逻辑,允 许将地址/命令序列输入到移位寄存器中;第二,RST 提供了停止单字

29、节和多字 节数据的发送方法。当 RST 被置为高电平时,初始化所有的数据传送,允许操 作 DS1302。在传送过程中如果 RST 置为低电平,数据传送则会被立即停止, 芯片的 I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 必须保持低 电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串行数据输 入输出端(双向),SCLK 则是输入端10。 2.3.5 A44E A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.518V) ,其输 出的信号符合 TTL 电平标准,可以直接接到单片机的 IO 端口上,而且其最高 测频率可达到 1MHZ。集成开

30、关型霍尔传感器原理如图 2.6 所示。 基于单片机的出租车计价器设计 第 8 页 共 40 页 A BD C E OUT VCC GND V0/V 12 0 101520 释放点 (off) 工作点 (on) Bm/T 图 2.6 集成开关型霍耳传感器原理图 A44E 集成霍耳开关由稳压器 A、霍耳电势发生器(即硅霍耳片)B、差分放 大器 C、施密特触发器 D 和 OC 门输出 E 五个基本部分组成11。在输入端输 入电压 VCC ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原 理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂 直的方向上将会产生霍耳电势差 H V

31、 输出,该 H V 信号经放大器放大后送至 施密特触发器整形,使其成为方波输送到 OC 门输出。当施加的磁场达到工作 点.(即 OP B )时,触发器输出高电压(相对于地电位)使三极管导通,此时 OC 门 输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到释放点(即 rPB )时, 触发器输出低电压,三极管截止,使 OC 门输出高电压,这种状态为“关”。这 样两次电压变换,使霍耳开关完成了一次开关动作12。 2.3.6 AT24C02 掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。 AT24C02 是 ATMEL 公司的 2KB 字节的电可擦除存储芯片,采用两线串行的总

32、 线和单片机通讯,电压最低可以到 2.5V,额定电流为 1mA,芯片内的资料可以 在断电的情况下保存 40 年以上,而且采用 8 脚的 DIP 封装,使用方便。 其引脚功能: 基于单片机的出租车计价器设计 第 9 页 共 40 页 串行时钟信号引脚(SCL):在 SCL 输入时钟信号的上升沿将数据送入 EEPROM 器件,并在时钟的下降沿将数据读出。 串行数据输入/输出引脚(SDA):SDA 引脚可实现双向串行数据传输。该引 脚为开漏输出,可与其它多个开漏输出器件或开集电极器件线或连接。 器件/页地址脚(A2,A1,A0):A2、A1 和 A0 引脚为 24C01 与 24C02 的硬件 连接

33、的器件地址输入引脚。24C01 在一个总线上最多可寻址八个 1K 器件, 24C02 在一个总线上最多可寻址八个 2K 器件,A2、A1 和 A0 内部必须连接。 24C04 仅使用 A2、A1 作为硬件连接的器件地址输入引脚,在一个总线上 最多可寻址四个 4K 器件。A0 引脚内部未连接。其电路如图 2.7 所示。 图 2.7 AT24C02 引脚图 由于 AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所 以只用两根线 SCL(移位脉冲)和 SDA(数据/地址)与单片机传送数据。每 当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系 统重新上电的时候,自

34、动调用读存储器程序,将存储器内的单价等信息,读到 缓存单元中,供主程序使用13。 AT24C02 的存储容量为 2Kb,内容分成 32 页,每页 8B,共 256B,操作时 有两种寻址方式:芯片寻址和片内子地址寻址。 (1)芯片寻址:AT24C02 的芯片地址为 1010,其地址控制字格式为 1010A2A1A0R/W。其中 A2,A1,A0 可编程地址选择位。A2,A1,A0 引脚 接高、低电平后得到确定的三位编码,与 1010 形成 7 位编码,即为该器件的地 址码。R/W 为芯片读写控制位,该位为 0,表示芯片进行写操作。 (2)片内子地址寻址:芯片寻址可对内部 256B 中的任一个进行

35、读/写操 作,其寻址范围为 00FF,共 256 个寻址单位。 基于单片机的出租车计价器设计 第 10 页 共 40 页 2.3.7 74LS138 74LS138 芯片是常用的 3-8 线译码器,LS 是 TTL 的 ,他的 COMS 版本叫 74HC138。常用在单片机和数字电路的译码电路中。其封装如图 2.9: 图 2.9 74LS138 引脚图 74LS138 有 3 个附加控制端 S1, S2和 S3。当 S1 =1,S2 + S3=0 时,Gs 输出 为高电平,译码器处于工作状态。否则译码器被禁止,所有的输出端被锁存在 高电平,如表 2.1: 表表 2.1 74LS138 真值表真

36、值表 三八译码器真值表 输入端输出端 A0A1A2Y0Y1Y2Y3Y4Y5Y6Y7 00010000000 00101000000 01000100000 01100010000 10000001000 10100000100 11000000010 11100000001 这三个控制端也被称为“片选”输入端,利用片选的作用可以将多片连接起 来以扩展译码器的功能。 基于单片机的出租车计价器设计 第 11 页 共 40 页 3 硬件电路设计 3.1 CPU 模块 该模块主要包括系统初始化、里程的识别和费率的计算及各种功能模块的 的组织和管理等。主程序模块在系统中起着重要的作用。鉴于单片机的端口特

37、 性不同,拟将 P0 口、P2 口作为数据输出口,接到数码管;P1 用作存储器数据 读写端口; P3 口作为控制和霍尔传感器信号输入端口。最小系统如图 3.1: 图 3.1 AT89S5 最小系统模块 由于单片机采用经过整流滤波之后的汽车用 12V 电源,外接的 12M 晶振 来为单片机提供时钟源。由于计价器的工作环境比较差,它要求有抗振动、抗 高低温、抗潮湿、抗电磁干扰等能力,特别是电源方面的干扰,如出租车启动 时,发动机打火、电瓶充电等造成输入计价器的+12V 电源不稳定。因此采用 +12V 电瓶电源经过滤波和电源稳压管理芯片 7805 后得到+ 5 V 的稳定电压输出, 基于单片机的出租

38、车计价器设计 第 12 页 共 40 页 保证整个系统能够正常工作,电路如图 3.2 所示。 图 3.2 电源电路 3.2 路程测量部分 里程测量是通过安装在车轮上的霍尔传感器 A44E 检测到的信号,由单片 机处理之后显示到 LED 上的。其原理如图 3.3 所示。 车轮 磁铁 霍尔传感器 单片机AT89S52P3.3口 图 3.3 A44E 传感器工作原理图 在霍尔电势发生器的两端加上电压 VCC 后,根据霍耳效应原理,当霍耳片 处在磁场中时,霍尔传感器的输出端输出低电平。当车轮转动一圈时小磁铁提 供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集。车轮每转一圈, 霍尔开关就检测并输出

39、信号,引起单片机的中断,对脉计数。通过计算将脉冲 基于单片机的出租车计价器设计 第 13 页 共 40 页 增加体现在金额和里程上。出租车中从霍尔传感器中得到标准的脉冲信号送入 单片机的 P3.3 引脚,利用单片机的 T1 的计数功能完成 1000 次的计数后产生一 中断来完成路程的测量14。 费用计算功能:费用计算包括两部分:起步费、行使费。 (1) 起步费用白天 6 元晚上 7 元; (2) 行使费用 1.6/公里; 设车轮周长为 1m,则霍尔传感器每产生 1000 个脉冲便表示车已行程 1km。我们选择了 P3.3 口作为信号的输入端,内部采用外部中断 1,车轮每转 一圈(我们设车轮的周

40、长是 1 米) ,霍尔开关就检测并输出信号,引起单片机的 中断,对脉计数,当计数达到 1000 次时,也就是 1 公里,单片机就控制将金额 自动的增加,其计算公式:当前单价公里数=金额。 3.3 数据显示部分 设计要求有单价(2 位) 、总金额(4 位)显示输出,时钟显示(包含时分 秒的显示) ,若是采用 LCD 液晶显示,则在光线较强时不能看清数据,也就不 能满足要求。考虑到共阴数码管较为常见,因此我们采用 8 位 LED 数码管来显 示。单片机的 P0 口不能输出高电平,因此需在 P0 口接 8 个上拉电阻,以满足 数码管的工作条件。数码管显示电路如图 3.4: 图 3.4 显示原理图 基

41、于单片机的出租车计价器设计 第 14 页 共 40 页 3.5 时钟部分 DS1302 控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不 能把数据写入 DS1302 中,位 6 如果为 0,则表示存取时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示 要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下 一个 SCLK 脉冲的下降沿读出 DS1302

42、的数据,读出数据时从低位 0 位到高位 7。采用双电源供电,在断电的情况下由干电池组供电,可维持芯片的正常工作 15。电路如图 3.5 所示。 图 3.5 时钟芯片电路图 3.6 掉电存储电路 AT24C02 采用的是 I2C 总线式串行器件。串行器件不仅占有很少的系统资 源和 I/O 线,而且体积也大大缩小。在 I2C 总线上传送信息是的时钟同步信号 是有挂接在 SCL 时钟线上的所有器件的逻辑与完成的。SCL 线上有高电平到低 电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使 SCL 线一直保持低电平。 在数据传送过程中,必须确认数据传送的开始和结束。当时钟线 SCL

43、为高 电平时,数据线 SDA 由高电平跳变为低电平定义为“开始”信号,起始状态应处 于任何其他命令之前16;当 SCL 线处于高电平时,SDA 线发生低电平到高电 平的跳变为“结束”信号。器件将处于备用方式(StandbyMODE).开始和结束信 号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信 基于单片机的出租车计价器设计 第 15 页 共 40 页 号以后的一段时间内,总线被认为是空闲的。 I2C 总线的数据传送格式是:在 I2C 总线开始信号后,送出的第一个字节 数据是用来选择从器件地址的,其中前 7 位为地址码,第 8 位为方向位(R/W)读 写控制。方向位为“0”

44、表示发送,即主器件把信息写到所选择的从器件;方向位 为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的 地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址 一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第 8 位(R/W)确定17。 在 I2C 总线上每次传送的数据字节数不限,但每一个字节必须为 8 位,而 且每个传送的字节后面必须跟一个应答位(ACK),ACK 信号在第 9 个时钟周 期时出现。每次都是先传最高位,通常从器件在接收到每个字节后都会作出响 应,即释放 SCL 线返回高电平,准备接收下一个数据字节,主器件可继续传送。 如果

45、从器件正在处理一个实时事件而不能接收数据时, (例如正在处理一个内部 中断,在这个中断处理完之前就不能接收 I2C 总线上的数据字节)可以使时钟 SCL 线保持低电平,从器件必须使 SDA 保持高电平,此时主器件产生 1 个结束 信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释 放 SCL 线,主器件继续传送18。AT24C02 连接如图 3.6: 图 3.6 掉电存储单元 3.7 按键部分电路 按键部分采用一个拨动式按键和四个按钮式按键组成,按键一端连接单片 机,另一端接地。当某一按键被按下时,对应的端口电平就被拉低。因此只需 检测单片机个端口的电压是否为低电平,就能判断

46、是哪个按键被按下。按键电 路如图 3.7 所示: 基于单片机的出租车计价器设计 第 16 页 共 40 页 图 3.7 按键控制单元 3.8 章节总结 本章主要介绍出租车计价器的硬件电路设计,各个部分的电路已经列出。 众所周知单片机的灵活性极大,因此硬件电路设计出来之后仍然可以根据具体 需求更改软件部分的设计以实现新的功能。软件设计在单片系统的设计中占了 很大的比重,本论文的软件设计将在下一章中详细介绍。 基于单片机的出租车计价器设计 第 17 页 共 40 页 4 系统软件设计 4.1 主程序设计 在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的 初始化、中断向量的设计以及开

47、中断、循环等待等工作。另外,在主程序模块 中还需要设置启动/ 清除标志寄存器、里程寄存器和价格寄存器,并对它们进 行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、 计程和计价等不同的操作。当空车信号灯打下时,表示有乘客上车,并启动计 价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。 若已超过,则根据里程值、每公里的单价和起价来计算出当前的累计价格,并 将结果存于价格寄存器中,然后将当前时间和累计价格送到 LED 显示电路显 示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价, 显示当前所应该付的金额和对应的单价,到下次启动计价时,系统

48、自动对显示 清零,并重新进行初始化过程。司机把空车灯打上,就停止计价,显示当前所 应该付的金额和对应的单价,等乘客下车后,启动出租车,计价器检测到传感 器的脉冲信号,系统自动对显示清零,并重新进行初始化过程,完成 1 次计价。 程序流程图如 4.1: 基于单片机的出租车计价器设计 第 18 页 共 40 页 芯片初始化 是白天么? 白天价格夜晚价格 是否有乘客 起步价内? 显示价格 读取时钟 是否下车 Y Y N 读取价格 Y N N 图 4.1 主程序流程图 4.2 里程计数中断服务程序 每当霍尔传感器输出一个低电平信号就使单片机中断一次,里程计数器 T1 对里程脉冲计满 1000 次时,就

49、完成当前行驶里程数的累加操作,并将结果存入 基于单片机的出租车计价器设计 第 19 页 共 40 页 里程寄存器中。其程序流程如图 4.2 所示。 里程中断入口 计数值 1000? S0是否按下 返回 启动T1计数 Y Y N N 里程数加一 图 4.2 里程计数流程图 4.3 仿真结果 比较了几种常见的电子集成仿真软件之后,本文选定了 Proteus 这一种常见 的,便于仿真的软件来模拟设计结果。 4.3.1 仿真软件 Proteus Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件,它组 合了高级原理布图、混合模式 SPICE 仿真,PCB 设计以及自动布线来实现一个 完整的电子设计系统19。此系统受益于 15 年来的持续开发,被电子世界在 基于单片机的出租车计价器设计 第 20 页 共 40 页 其对 PCB 设计系统的比较文章中评为最好产品“The Route to PCB CAD”。 Proteus 产品系列也包含了我们革命性的 VSM 技术,用户可以对基于微控制器的 设计连同所有的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1