出租车计价器的设计本科学位论文.docx
- 文档编号:26963351
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:67
- 大小:370.51KB
出租车计价器的设计本科学位论文.docx
《出租车计价器的设计本科学位论文.docx》由会员分享,可在线阅读,更多相关《出租车计价器的设计本科学位论文.docx(67页珍藏版)》请在冰豆网上搜索。
出租车计价器的设计本科学位论文
摘要
现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
本电路以AT89S52单片机为中心、附加A44E霍尔传感器测距,实现对出租车计价统计,采用AT24C01实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
关键词:
AT89S52单片机A44E霍尔传感器断电保存8段数码显示管
Abstract
Nowthelargestcityinthetaxiindustryarealreadypopularautomaticthemeter,Sothemeteroftechnologyhasalreadybecomesettledsituation.somesmallcityhasnotbeenuniversal,butastheurbanconstructionisthesymbolofthecityofthetaxiindustrywillalsoacceleratethedevelopmentandpopularizationofthemeterisnodoubt,sothenextcarthemeterofthemarketisverypromising.
At89s52monolithicintegratedcircuitstothecircuitisthecenter,additionala44ehallsensor,therangeofstatistics,theinvoicingat24c01implementthesystemisthetimesavedunitpriceandsystemforinformation,theoutputofadigitaldisplayis8.thecircuitdesignthemeterwouldnotonlybasic,butcanalsobasedonthedayandnight,thewaitingtoregulateunitprice,notoutoftimefortheconvenienceoftheclockforhiscomrades.
Keywords:
89s52monolithicintegratedcircuitsa44ehallelectricity8tokeepsensorforthedisplayof
第1章绪论
第一节选题的背景和意义
随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。
于是,出租车行业以低价高质的服务给人们带来了出行的享受。
但是总存在着买卖纠纷困扰着行业的发展。
而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。
出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器的设计技术也在不断进步和提高。
我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。
随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。
出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。
随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。
现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5KM)计费数字显示开始从起步价(如10元)增加。
当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。
汽车继续行驶时,停止计算等候费,继续增加里程计费。
到达目的地,便可按显示的数字收费。
汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
因此,汽车计价器的研究也是有一定的应用价值的。
第二节主要任务
这次设计的主要任务是使用单片机编程的方法很好的实现出租车计价器的各项功能。
本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。
第三节计价器的工作原理
通常计价器采用MCS-51芯片,在EEPROM中预先已写入了有关程序和数据的信息,如基本距离、续程距离、候时时间的规定值,与收费标准规定相应的收费价格值,不同出租条件下收费的变化比率,附加车费值计费方式等数据和与收费办法相应的车费计算与控制程序等。
在工作过程中其主要的功能都是由MCS-51芯片中的定时器/计数器来实现。
第二章系统硬件电路的设计
第一节方案论证
出租车计价器研究方案有:
数字电路控制,单片机控制。
方案一:
采用数字电路控制。
其原理方框图如图2-1所示。
采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。
而且这种计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。
图2-1数字电路方案
方案二:
采用单片机控制。
采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
还有丰富的I/O端口,能实现基本的里程计价功能和价格调节、始终显示功能。
如图2-2所示:
图2-2单片机控制方案
通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
第二节系统工作原理
一、功能说明
出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。
从起步价开始,当汽车行驶未满3公里时,均按起步价计算。
过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。
同时,白天和夜晚价格不同,可以进行切换。
白天单价、夜晚单价、等待单价和起步价格都已经存入AT24CO1的存储器中,需要时从存储器中调用。
(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟)。
二、 基本原理
计数器系统主要由五部分组成:
AT89S52单片机、A44E霍尔传感器、独立键盘、EEPROMAT24C01和LED显示数码管。
霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。
独立键盘可以调节时间等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,下次得电后直接从EEPROM读到单片机,系统结构图如图2-3。
图2-3系统结构图
第三节硬件设计
一、AT89S52单片机的介绍
AT89S52提供以下标准功能:
8k字节Flash闪速存储器;
256字节内部RAM,32个I/O口线;
看门狗定时器;
2个数据指针;
3个16位定时/计数器;
一个6向量两级中断结构;
一个全双工串行通信口;
片内振荡器及时钟电路。
同时,AT89S52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个中断或硬件复位为止。
AT89S52单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。
故此选用AT89S52单片机。
AT89S52除PDIP的封装形式,还有PQFP/TQFP及PLCC等封装形式,以适应不同产品的需求。
AT89S52引脚图2-4所示:
图2-4引脚图
(一)引脚说明:
AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
VCC:
电源电压(+5V)
VSS:
接地(-5V)
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线分时复用(当访问外部数据存储器时,当做数据总线,当访问外部程序存储器时,当作地址总线,不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻)。
在访问期间激活内部上拉电阻。
在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个带有内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和触发输入(P1.1/T2EX)参见表2.1。
在Flash编程和程序校验期间,P1接收低8位地址字节。
表2-1P1.0和P1.1的第二功能
引脚号
功能特性
P1.0
T2(定时器/计数器2外部计数脉冲输入),时钟输出
P1.1
T2EX(定时/计数器2捕获/重装载触发和方向控制)
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:
P3口是一个带有内部上拉电阻的8位双向I/O口。
P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P3写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
除了作为I/O使用外还有一些特殊功能,由特殊寄存器来设置。
在flash编程和校验时,P3口也接收一些控制信号。
表2-2P3口的第二功能
引脚号
功能特性
P3.0
RXD(串行输入端口)
P3.1
TXD(传行输出端口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器/计数器0的外部输入)
P3.5
T1(定时器/计数器1的外部输入)
P3.6
(外部数据存储器写通道)
P3.7
(外部数据存储器读通道)
RST:
复位输入端口,外接电阻电容组成复位电路。
其复位端是一个施密特触发输入,高电平有效。
在复位引脚持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如表2-3所示:
表2-3单片机复位后寄存器的状态
寄存器
状态
寄存器
状态
PC
0000H
TCON
00H
ACC
00H
TL0
00H
PSW
00H
TH0
00H
SP
07H
TL1
00H
DPTR
0000H
TH1
00H
D
00H
TL2
00H
P0--P3
FFH
TH2
00H
IP
xxx00000H
SCON
00H
IE
0xx00000H
SBUF
不确定
TMOD
00H
PCON
0xxx0000H
ALE/
:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对flash存储器编程期间,该引脚还用于输入编程脉冲(
)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次
有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次
信号。
/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。
控制引脚EA接法。
EA/VPP为内外程序存储器选择控制引脚,当EA为低电位时,单片机从外部程序存储器取指令;当EA接高电平时,单片机从内部程序存储器开始执行取指令,当PC(程序计数器)值超出片内ROM的容量时,会自动转向片外程序存储器空间执行程序。
AT89S52单片机内部有4KB可反复擦写1000次以上的程序存储器,因此我们把EA接到+5V高电平,让单片机运行内部的程序,我们就可以通过反复烧写来验证我们的程序了。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
(二)存储器结构:
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64K寻址。
(1)程序存储器
如果
引脚接地,程序读取只从外部存储器开始。
对于AT89S52,如果
接VCC,程序先从内部存储器(地址为0000H~1FFFFH)开始,接着从外部寻址,寻址范围为:
2000H~FFFFH。
(2)数据存储器
AT89S52有256字节RAM。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
例如,下面的直接寻址指令访问0A0H(P2口)存储单元(MOV0A0H,#DATA)使用间接寻址访问高128字节RAM。
例如下面的间接寻址方式中,R0内容为0A0H,访问的地址是0A0H的寄存器而不是P2口(它的地址也是0A0H)。
MOV@R0,#DATA
堆栈操作也是间接寻址方式。
因此,高128字节数据RAM也可用于堆栈空间。
(三)定时器:
(1)定时器0和定时器1
在AT89S52中,定时器0和定时器1的操作与AT89C51和AT89C52一样。
定时器0和定时器1都是16位加法计数结构,分别由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)两个8位计数器组成。
这4个计数器均属于专用寄存器之列。
每个定时器/计数器都有定时和计数两种功能。
计数功能
所谓的计数功能是指对外部事件进行计数。
外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外脉冲进行计数。
MCS-51系列的芯片有T0(P3.4)和T1(P3.5)两个信号引脚,分别就是这两个计数器的计数输入端。
外部输入的脉冲在负跳变时有效,进行计数器加1。
计数方式下,单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样。
如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效计数脉冲。
在下一个机器周期的S3P1进行计数。
可见采样计数脉冲是在2个机器周期进行的。
鉴于此,计数脉冲的频率不能高于振荡脉冲的频率不能高于振荡脉冲频率的1/24。
定时功能
定时器也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。
也就是每个机器周期计数加1。
由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。
如果单片机采用12MHz晶体,则计数频率为1MHz。
即每微秒计数器加1。
这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。
(2)定时器2
定时器2是一个16位定时器/计数器,它既可以作定时器,又可以做事件计数器。
其工作方式由特殊寄存器T2CON中的C/T2位选择。
定时器2有三种工作模式:
捕捉方式、自动重载(向上或向下计数)和波特率发生器。
如表2.1.3所示,工作模式由T2CON中的相关为选择。
定时器2有2个8位寄存器:
TH2和TL2。
在定时工作方式中,每个机器周期,TL2寄存器都会加1。
由于一个机器周期由12个晶振周期构成,因此,计数频率就是晶振频率的1/12。
表2-4定时器2工作模式
RCLK+TCLK
CP/RL2
TR2
MODE
0
0
1
16位自动重载
0
1
1
16位捕捉
1
×
1
波特率发生器
×
×
0
不用
载计数工作方式下,寄存器在相关外部输入角T2发生1至0的下降沿时增加1。
在这种方式下,每个机器周期的S5P2期间采样外部输入。
一个周期采样到高电平,而下一个周期采样到低电平,计数器加1。
在检测到跳变的这个周期的S3P1期间,新的计数值出现在寄存器中。
因为识别1—0的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。
为了确保给定的电平在采样前采样到一次,电平应该至少在一个完整的机器周期内保持不变。
(四)中断
AT89S52有6个中断源:
两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。
每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。
IE还包括一个中断总控制位EA,它能禁止所有中断。
如表1.5所示,IE.6位是不可用的。
对于AT89S52,IE.5位也是不能用的。
用户软件不应给这些位写1。
它们为AT89系列新产品预留。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
实际上,中断服务程序必须判定是否是TF2或EXF2激活中断。
标志位也必须由软件清0。
定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。
它们的值一直到下一个周期被电路捕捉下来。
然而,定时器2的标志位TF2在计数溢出的那个周期被置位,在同一个周期被电路捕捉下来。
表2-5中断允许控制位
符号
位地址
功能
EA
IE.7
中断允许控制位,EA=0,中断总禁止;EA=1,各中断由各自的控制位设定
-
IE.6
预留
ET2
IE.5
定时器2中断允许控制位
ES
IE.4
串行口中断允许控制位
ET1
IE.3
定时器1中断允许控制位
EX1
IE.2
外部中断1允许控制位
ET0
IE.1
定时器0中断允许控制位
EX0
IE.0
外部中断0允许控制位
(五)运行条件:
单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:
电源正常;时钟正常;复位正常。
(1)、工作电源:
电源是单片机工作的动力源泉,对应的接线方法为:
40脚(VCC)电源引脚,工作时接+5V电源,20脚(GND)为接地线。
(2)、时钟电路:
时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下进行的,如果单片机的时钟电路停止工作(晶振停振),那么单片机也就停止运行了。
在单片机内部有一个高增益反相放大器,当采用内部时钟时,在单片机的晶振引脚XTAL1和XTAL2引脚之间外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了自己振荡器并在单片机内部产生时钟脉冲信号。
两个引脚对地分别再接入一个电容即可产生所需的时钟信号。
图2-5是单片机内部时钟方式的振荡器电路。
图2-5片内时钟方式
外接晶体(在频率稳定性要求不高而希望尽可能廉价时,可选用陶瓷谐振器)以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
电容C1和C2的作用是稳定频率和快速起振,其大小多少会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度稳定性。
外接晶体时,C1和C2的值通常在5-30pF,典型值为30pF;外接陶瓷谐振器时,C1和C2的典型值约为47pF。
再设计印刷电路板时,晶体或陶瓷谐振器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器的稳定和可靠工作。
为了提高温度稳定性,应采用具有温度补偿特性的单片陶瓷电容。
晶振的震荡频率范围在1.2~12MHZ间选择,单片机常选择振荡频率为6MHz或12M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 计价器 设计 本科 学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)