出租车计价器设计毕业设计怎么做

期刊论文,基于VHDL的出租车计价器设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
期刊论文,基于VHDL的出租车计价器设计
论​文
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于AT89C52单片机的出租车计价器设计.doc55页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:100 &&
你可能关注的文档:
··········
··········
基于AT89C52单片机的出租车计价器设计
设计一种以单片机AT89C52为核心以1502560 、051302 、MAX7219等芯片为外设的多功能出租车计价器,给出了硬件电路及主程序流程,阐述了软硬件设计过程中关键技术的处理方法。对Proteus与 Keilc51集成开发环境进行连调。结果表明:该计价器具有集计程、计时、计费、存储、查看、统计等多种计量功能并且具有防止司机作弊、语音、打印和显示等多种功能。与已有的系统相比,该系统还具有超速提醒等功能。该文阐述了设计的硬件设计和软件设计。系统的软件设计主要有:主程序模块、定时中断模块、里程计数中断模块、中途等待中断模块、显示子程序模块、键盘服务模块、串行通信和票据打印等模块的软件设计。
关键词:出租车计价器,单片机,多功能 目 录
1.1 出租车计价器的发展 1
1.2 出租车计价器设计的运用分析 1
1.3 本次出租车计价器设计的目的 2
2 本次出租车计价器设计的理论依据 4
2.1 里程计价原理 5
2.2 显示设计 6
2.3 附加功能 7
语音播报 7
票据打印 7
车速检测 7
3 出租车计价器的设计要求和设计方案 8
3.1 出租车计价器所要实现的功能 8
3.2 出租车计价器的设计要求 8
3.3 设计的方案论证与比较 9
4 硬件设计 12
4.1 硬件的概述 12
4.2 单片机的选型和外部电路设计 12
主要性能 12
功能特性描述 13
引脚结构 14
晶振电路 17
复位电路 18
4.3 里程测量模块 18
4.4 显示模块 21
LCD显示工作原理 21
显示电路 21
数码管的分屏显示 22
74HC164显示驱动 23
1602液晶的简介 23
4.5 功能按键模块的设计 26
按键的功能 26
键盘接口电路 26
按键开关的去除抖动功能 26
4.6 电源电路图 27
4.7 语音播报电路 27
4.8 票据打印设计 28
正在加载中,请稍后...出租车计价器课程设计(1)
1、& 系统工作原理
1.1& 功能说明
1.2& 基本原理
2、& 硬件设计
2.1& 单片机最小系统单元
2.2& A44E霍尔传感器检测单元
2.3& AT24C01存储单元
2.4& 键盘调整单元
2.5& 显示单元
3、& 软件设计
3.1& 系统主程序
3.2& 中断程序
3.2.1& 里程计数中断程序
3.2.2& 中途等待中断程序
3.3& 计算程序
3.4& 显示程序
3.5& 键盘程序
附录A& 系统原理图
附录B& 系统源程序
随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。
第一章&&系统工作原理
<font COLOR="#FF& 功能说明
出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟)
<font COLOR="#FF &基本原理
计数器系统主要由五部分组成:A44E霍尔传感器、AT89S52单片机、独立键盘、EEPROM AT24C01和显示数码管。
霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,下次得电后直接从EEPROM读到单片机,系统结构图如图1。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&图1
系统结构图&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
第二章& 硬件设计
<font COLOR="#FF &单片机最小系统单元
主控机系统采用了Atmel 公司生产的 AT89S52单片机,它含有256 字节数据存储器,内置8K 的电可擦除FLASH
ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。复位电路和晶振电路是AT89S52
工作所需的最简外围电路。单片机最小系统电路图如图2所示。&
图2 单片机最小系统图
&&& AT89S52
的复位端是一个史密特触发输入,高电平有效。RST端若由低电平上升到高电平并持续2个周期,系统将实现一次复位操作。在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接11.0592M
晶振和两个30pF 电容组成系统的内部时钟电路。
<font COLOR="#FF&
A44E霍尔传感器检测单元
属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的IO
端口上,而且其最高检测频率可达到1MHZ。
集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。
在输入端输入电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,三极管截止,使OC门输出高电压,这种状态为关。这样两次电压变换,使霍尔开关完成了一次开关动作。A44E霍尔传感器原理如图3所示。
&&&&&&&&&&
图3& A44E霍尔传感器原理
里程计算是通过安装在车轮上的霍尔传感器检测到的脉冲信号,送到单片机产生中断,单片机再根据程序设定,计算出里程。其原理如图4所示。
图4 传感器测距示意图
本系统选择了将A44E的脉冲输出口接到P3.3口外部中断1作为信号的输入端(这样可以减少程序设计的麻烦),车轮每转一圈(设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1000次时,即1公里,单片机就控制将金额自动增加,如图5。
图5& A44E霍尔元件接线图
<font COLOR="#FF&
AT24C01存储单元
存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C01
是Ateml公司的1KB的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10uA(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8
脚的DIP 封装,使用方便。
AT24C02芯片引脚配置如图6所示。
&&&&&&&&&&&&
存储单元电路连接如图7所示。
图 7& 存储单元电路原理图
&&& 图中R4、R5
是上拉电阻,其作用是减少AT24C01
的静态功耗。由于AT24C01的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(时钟脉冲)和SDA(数据/地址)与单片机P2.2和P2.3口连接,进行传送数据。
每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。
<font COLOR="#FF &键盘调整单元
当单价等信息需要进行修改时,就要用到键盘进行修改。由于调节信息不多,故采用4个独立键盘即可,分别实现清零、切换、增大、减小和功能等作用。电路原理如图8所示。&
图8 键盘调整单元接线图
S1:接P1.0口,对上一次的计费进行清零,为下次载客准备
S2:接P1.1口,实现白天和夜晚单价的切换;当功能键S4按下时,S2可对数据进行增大。
S3:接P1.2口,当功能键S4按下时,S3可对数据进行减小。
S4:接P1.3口,按1次,进入调整白天单价;按2次,进入调整夜晚单价;按3次,进入调整等待单价;按4次,进入调整起步价;按5次,返回。
<font COLOR="#FF &显示单元
显示单元由7个8段共阳数码管组成,采用动态扫描进行显示。前三个数码管分别接P3.0、P3.1和P3.2,用于显示总金额;中间两个分别接P3.4和P3.5,用于显示里程;后边两个分别接P3.6和P3.7,用于显示单价。电路如图9所示。
&&&&&&&&&&&
图9 数码管显示图
第三章& 软件设计
<font COLOR="#FF& 系统主程序
在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化以及中断、计算、循环等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。
当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程和单价送数码管显示出来。程序流程如图10所示。
主程序流程图&&&&&&
&&&&&&&&&&&&&
计算程序流程图
<font COLOR="#FF& 中断程序
3.2.1& 里程计数中断程序
每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。
3.2.2& 中途等待中断程序
在中途等待中断程序中,每1ms产生一次中断,将当前里程值送入某个缓存变量,每5分钟将缓存变量中的值和当前里程值比较,当汽车停止,霍尔传感器5分钟没有输出信号,当前里程值和缓存变量内的值相同,则进入等待计时,每5分钟记一次价格。
<font COLOR="#FF& 计算程序
计算程序根据里程数分别进入不同的计算公式。如果里程大于3公里,则执行公式:总金额=起步价+(里程-3)*单价+等待时间*等待单价;否则,执行公式:总金额=起步价+等待时间*等待单价。程序流程图如图11所示。
<font COLOR="#FF& 显示程序
显示程序利用定时器每1ms产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。
<font COLOR="#FF& 键盘程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。流程图如图12。
图12& 键盘程序流程图
第四章& 总结
经过这些天有关于出租车计价器的课程设计,使我对单片机的应用有了更深的了解。在课程设计的过程中,还是碰到了许多的问题。比如,对于数码管动态扫描显示和键盘的延时防抖的综合编程不能较好地解决;对于代码的前后顺序及调用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。通过这几天晚上的苦想和反复调试,以及参考网上的程序,最终还是把问题解决了。
通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的知识。
[1] 马淑华,王凤文,张美金编著. 单片机原理与接口技术(第二版). 北京:北京邮电大学出版社,2007.
[2] 谭浩强著. C程序设计(第三版). 北京:清华大学出版社,2005.
系统原理图
系统源程序
&&& 见下篇
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。文档分类:
在线文档经过高度压缩,下载原文更清晰。
淘豆网网友近日为您收集整理了关于微机原理与接口技术课程设计-简易出租车计价器的文档,希望对您的工作和学习有所帮助。以下是文档介绍:微机原理与接口技术课程设计-简易出租车计价器 - 1 - 简易出租车计价器设计简易出租车计价器摘要:介绍了一种以单片机为核心的多功能出租车计价器,该计价器采用单CPU结构,具有计量功能、掉电保护功能、语音功能等。文中阐述了系统的硬件及软件结构。关键词:出租车计价器单片机多功能ABSTRACT:This paper present a new type of taximeter based on single puter. In addition to metering the distance, this kind of taximeter havesafe memory function, speech function and so on. The article mainly introduces thesystem hardware and software.KEYWORDS:Taximeter single chip puter multi-function第1节引言汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。……1.1 出租车计价器概述本电路以 89S51 单片机为中心、附加 A44E 霍尔传感器测距,实现对出租车计价统计,采用 AT24C02 实现在系统掉电的时候保存单价和系统时间等信息,输出采用 8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。1.2 本设计任务1.2.1 设计任务设计简易出租车计价器- 2 - 简易出租车计价器设计1.2.2 课程设计目的微机原理与接口技术是一门实践性和实用性都很强的课程,学习的目的在于应用。本课程设计是配合“微机原理与接口技术”课堂教学的一个重要的实践教学环节,它能其到巩固课堂和书本上所学知识,加强综合能力,提高系统设计水平,启发创新思想的效果。我们希望每个学生都能自己动手独立设计完成一个典型的微机应用小系统。1.2.3 课程设计内容㈠系统功能任务要求1)自动记录(日、夜)单价、总额、里程、耗时2)按十进制显示以上数据3)全部采用 LED 显示4)有语音播放提示㈡系统设计说明1)可以自增系统功能2)允许用 MSC-51 系列或 8086 系列3)系统程序采用汇编或 C 语言编程4)硬件原理图采用电子 CAD 绘制1.3 系统主要功能本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等信息等功能。输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。第 2 节计价器硬件设计本系统的硬件设计主要包括单片机AT89S51、数据显示部件、A44E霍尔传感器电路、AT24C02 掉电存储单元的设计、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。2.1 系统的硬件构成及功能它由以下几个部件组成:单片机 AT89S51、总金额及单价显示部件、键盘控制部件,AT24C02掉电存储控制、里程计算单元、串中显示驱动电路等。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。具体电路参见“总体电路图”。键盘控制AT24CO2 掉电存储里程计算单元89S51单片机总金额显示串口显示驱动电路单价显示- 3 - 简易出租车计价器设计单片机控制方案2.2 AT89S51 单片机及其引脚说明AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有很高性价比。AT89S51 是一个有 40 个引脚的芯片,引脚配置如下图所示。AT89S51引脚配置AT89S51 芯片的 40 个引脚功能为:VCC 电源电压。GND 接地。RST 复位输入。当 RST 变为高电平并保持 2 个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置 SFR AUXR 的 DISRTO 位(地址 8EH)可打开或关闭该功能。DISKRTO 位缺省为 RESET 输出高电平打开状态。XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 来自反向振荡放大器的输出。P0 口一组 8 位漏极开路型双向 I/O 口。也即地址/数据总线复用口。作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash 编程和程序校验期间,P1 接收低 8 位地址。P1 口部分端口引脚及功能如表 1所示。- 4 - 简易出租车计价器设计表 1 P1 口特殊功能P1口引脚特殊功能P1.5 MOSI(用于ISP编程)P1.6 MOSI(用于ISP编程)P1.7 SCK(用于ISP编程)P2 口一个带内部上拉电阻的 8 位双向 I/O 口。P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或 16 位地址的外部数据存储器时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器时,P2 口线上的内容在整个访问期间不改变。Flash 编程和程序校验期间,P2 亦接收低 8 位地址。P3 口一个带内部上拉电阻的 8 位双向 I/O 口。P3 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写“1”时,它们被内部的上拉电阻把拉到高电并可作输入端口。作输入端口使用时,被外部拉低的 P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如表 2 所示。P3 口还接收一些用于 Flash 闪速存储器编程和程序校验期间的控制信号。表 2 P3 口特殊功能P3口引脚特殊功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)PSEN 程序储存允许输出是外部程序存储器的读先通信号,当 AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN/有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的 PSEN/信号。EA/VPP 外部访问允许。欲使 CPU 仅访问外部程序存储器,EA 端必须保持低电平,需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。Flash 存储器编程时,该引脚加上+12V 的编程电压 VPP。2.3 AT24C02 引脚图及其引脚功能AT24C02 芯片引脚配置如下图所示:AT24C02引脚配置图AT24C02芯片DIP封装,共有8个引脚,下表是其引脚功能表:- 5 - 简易出租车计价器设计引脚名功能A0~A2 地址引脚SDA/ SCL 连续数据信号/连续时钟信号WP /GND 电源端/接地端WP接VSS时,禁止写入高位地址,WP接VDD时,允许写入任何地址;2.3.1 AT24C02 掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是ATMEL 公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40 年以上,而且采用8脚的DIP封装,使用方便。其电路如下图:5.1KR85.8U4M24C02DW6GNDSDASCL掉电存储电路原理图图中R8、R9是上拉电阻,其作用是减少M24C02的静态功耗,由于M24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。2.4 里程计算、计价单元的设计里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如下:传感器测距示意图霍尔传感器车轮小磁铁89S51单片机P3.2- 6 - 简易出租车计价器设计由于A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ。(a) (b)集成开关型霍耳传感器原理图A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E 五个基本部分组成,如上图所示。(1)、(2)、(3)代表集成霍耳开关的三个引出端点。,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到『工作点』(即BOP)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为『开』。当施加的磁场达到『释放点』(即BrP)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为『关』。这样两次电压变换,使霍耳开关完成了一次开关动作。其集成霍耳开关外形及接线如下图:(a) (b)集成霍耳开关外形及接线我们选择了P3.2 口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动的加增加,其计算公式:当前单价&#215;公里数=金额。2.5 按键单元的设计电路共采用了四个按键,S1、S2、S3、S4,其功能分别是:S1分屏显示切换按键,S2功能设定按键,S3『+』/白天晚上切换按键,S4『-』/中途等待开关。2.6 语音功能的设计语音功能主要用于语音报价:目前国内企业的广告意识增强,希望能通过计价器进行语音广告宣传。为降低计价器成本,节省单片机I/O资源,语音功能的实现没有采用专用语音芯片,而是由4个权电阻构成。如下图所示:- 7 - 语音功能电路语音信号经A/D采集处理后压缩成4位,存储在程序存储器中,由软件使用。程序存储器中可存储70K的语音数据,共60个汉语词汇。2.7 设计总框图总体设计框图2.8 总体电路图(在后面)第3节系统的软件设计本系统的软件设计主要可分为主程序模块、定时计数中断程序、里程计数中断服务程序、中途等待中断服务程序、显示子程序服务程序、键盘服务程序六大模块。下面对各部分模块作介绍。3.1 系统主程序设计在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。其程序流程如主程序流程图所示。当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果AT24CO2 掉电存储里程计算单元89S51单片机总金额显示串口显示驱动电路单价显示存储器启动/清除开关键盘控制- 8 - 简易出租车计价器设计存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。3.2 定时中断服务程序设计在定时中断服务程序中,每100ms 产生一次中断,当产生10次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。其程序流程如定时中断服务程序图所示。3.3 里程计数中断服务程序设计每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,就有程序将当前总额,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。其程序流程如定时中断服务程序图所示。3.4 中途等待中断服务程序设计当在计数状态下霍尔开关没有输出信号,片内的T1 定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候,也就自动切换到正常的计价。3.5 显示子程序服务程序设计由于是分屏显示数据,所以就要用到4 个显示子程序,分别是:时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。3.6 键盘服务程序设计键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图所示.定时中断服务程序是否开始保护现场重置计数初值数据送显示缓冲单元调用显示子程序中断 10 次?恢复现场并中断返回- 9 - 简易出租车计价器设计主程序流程图否否否否否否否否否是是是是是是是是是显示路程和单价显示金额及单价S3 按下?S3 按下?开始初始化数据设定默认单价(白天)S1 按下?启动计价器S4 按下?里程中断?到一公里?总里程加 1总金额加 1停止计价里程计数传感有信号?设定晚上单价设定中途等待单价返回时间显示按下 S4?S4 按下?- 10 - 简易出租车计价器设计附录1.K200K200K200K200K200KCLKDATAP1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20P2.0/A821P2.1/A922P2.2/A/A/A/A/A/A1528PSEN29ALE30EA/VPP31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/GND4.GND5.1KR85.8U2M24C02DW6GND7KRGND0.DATACLK播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表微机原理与接口技术课程设计-简易出租车计价器.doc
文档介绍:
微机原理与接口技术课程设计-简易出租车计价器 - 1 - 简易出租车计价器设计简易出租车计价器摘要:介绍了一种以单片机为核心的多功能出租车计价器,该计价器采用单CPU结构,具有计量功能、掉电保护功能、语音功能等。文中阐述了系统的硬件及软件结构。关键词:出租车计价器单片机多功能ABSTRACT:This paper present a new type ...
内容来自淘豆网转载请标明出处.

我要回帖

更多关于 出租车计价器设计 的文章

 

随机推荐