基于单片机控制的出租车计价器.docx
- 文档编号:2794358
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:46
- 大小:194.62KB
基于单片机控制的出租车计价器.docx
《基于单片机控制的出租车计价器.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的出租车计价器.docx(46页珍藏版)》请在冰点文库上搜索。
基于单片机控制的出租车计价器
单片机原理与应用技术
课程设计报告
题目:
基于单片机控制的出租车计价器
专业班级:
电气工程及其自动化082
*****牛振锋
时间:
2011.02.21-2011.03.11
指导教师:
邵峰徐君鹏孔晓红陈艳峰
完成时间2011年03月23日
基于单片机控制的出租车计价器
1.设计目的与要求
(1)显示:
可以显示单价、里程、总金额
(2)停车计费功能:
中途因故停车超过5分钟后每分钟按当时单价的50%收费
(3)自动分时计费功能:
白天和夜间应能自动更换单价
(4)性能里程误差小于2%
(5)扩展功能
(6)可增加时钟功能
(7)可增加数据掉电保护功能
2.计划完成时间三周
(1)第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。
(2)第二周完成软件的具体设计和硬件的制作。
(3)第三周完成软件和硬件的联合调试。
3.设计内容
(1)画出电路原理图,正确使用逻辑关系;
(2)确定元器件及元件参数;
(3)进行电路模拟仿真;
(4)SCH文件生成与打印输出;
4.编写设计报告
写出设计的全过程,附上有关资料和图纸,有心得体会。
5.答辩
(1)在规定时间内,完成叙述并回答问题。
(2)论文结构清晰,层次分明,理论严谨
(3)任务书要求单页打印。
1.5倍行间距,标准字间距。
1引言···································································3
1.1出租车计价器概述··················································3
1.2系统主要功能······················································3
1.3方案论证与比较·····································································································································3
2出租车计价器硬件设计·················································4
2.1系统的硬件构成及功能·······················································································································4
2.2AT89S51单片机及其引脚说明····································································································4
2.3里程计算、计价单元的设计···········································································································5
2.4数据显示单元设计··························································································································5
3系统软件设计·····················································································································································7
3.1系统主程序设计······································································································································7
3.2定时中断程序设计·································································································································7
3.3里程计数中断服务程序设计···········································································································7
3.4中途等待中断服务程序设计···········································································································7
3.5键盘服务程序设计··································································································································7
3.6显示子程序服务程序设计·················································································································7
4计价器使用说明··················································································································································8
5系统调试与测试结果分析·····························································································································8
5.1使用的仪器仪表········································································································································8
5.2系统调试······················································································································································8
6心得体会···································································································································································9
参考文献·········································································································································································9
附录·····················································································································································································10
基于单片机控制的出租车计价器
摘要:
本设计以89S51单片机为中心、附加A44E霍尔传感器测距,实现对出租车计价统计,采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价。
关键词:
单片机、计价器、程序
1引言
本次课程设计利用单片机技术来实现一台多功能出租车计价器,具有性能可靠、电路简单、成本低等特点。
1.1出租车计价器概述
计价器显示的营运金额是营运里程与价格的函数(等候时间一般折算成一定比例的里程来计算)。
出租车计价器通过传感器与行驶车辆连接。
出租汽车的实际里程通过传感器的脉冲信号在计价器里折算成一定的计价营运里程。
目前市场上出租车计价器功能主要有具有数据的复位功能、白天/晚上转换功能、数据输出功能、计时计价功能等等,但能够进行语音播报数据信息的出租车计价器还是比较少见的,针对这一点我们来设计一款多功能出租车计价器,在原有功能的基础上增加单价输出、单价调整、路程输出、显示当前的系统时间、语音播报数据信息等功能。
1.2系统主要功能
本课程设计所设计的出租车计价器的主要功能有:
数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等信息等功能。
输出采用8段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
1.3方案论证与比较
方案一:
采用数字电路控制。
采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。
方案二:
采用单片机控制。
利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。
通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
2计价器硬件设计
本系统的硬件设计主要包括单片机AT89S51、数据显示部件、A44E霍尔传感器电路、、里程计算及计价单元的设计。
在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
2.1系统的硬件构成及功能
计价器的单片机控制方案图如图1所示。
它由以下几个部件组成:
单片机AT89S51、总金额及单价显示部件、键盘控制部件、里程计算单元、串中显示驱动电路等。
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。
不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。
具体电路参见“多功能出租车计价器总体电路图”。
图1单片机控制方案图
2.2AT89S51单片机及其引脚说明
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4KB的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,具有高性价比。
AT89S51是一个有40个引脚的芯片,引脚配置如图2所示。
AT89S51芯片的40个引脚功能为:
VCC电源电压。
GND接地。
RST复位输入。
当RST变为高电平并保持2个机器周期时,将使单片机复位。
WDT溢出将使该引脚输出高电平,
图2AT89S51引脚配置
2.3里程计算、计价单元的设计
里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。
其原理如图3所示。
图3传感器测距示意图
由于A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高检测频率可达到1MHZ。
A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。
在输入端输入电压CCV,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差HV输出,该HV信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到“工作点”(即OPB)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开。
当施加的磁场达到释放点(即rPB)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关。
这样两次电压变换,使霍耳开关完成了一次开关动作。
我们选择了P3.2口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动的加增加,其计算公式:
当前单价×公里数=金额。
2.4数据显示单元设计
由于设计要求有单价(2位)、路程(2位)、总金额(3位)显示输出,加上我们另外扩展了时钟显示(包含时分秒的显示),采用LCD液晶段码显示,在距离屏幕1米之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6位LED数码管的分屏显示,
数据的分屏的显示是通过按键S1来实现切换的,如图4所示。
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1切换到里程和单价显示屏,供客户查询。
显示电路的电路原理图如图5所示。
图7S1切换显示屏
图
4S1切换显示屏
图8显示器原理图
从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数
图5显示器原理图
据向右移,达到显示的目的。
移位寄存器74HC164还兼作数码管的驱动,插头1(header1)接电源,插头2(header2)接数据和脉冲输出端。
电路中的三个整流管D1~D3的作用是降低数码管的工作电压,增加其使用寿命。
3系统的软件设计
本系统的软件设计主要可分为主程序模块、定时计数中断程序、里程计数中断服务程序、中途等待中断服务程序、显示子程序服务程序、键盘服务程序六大模块。
下面对各部分模块作介绍。
3.1系统主程序设计
在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。
另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。
然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。
主程序流程图如图9所示。
当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。
若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。
当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。
3.2定时中断服务程序
在定时中断服务程序中,每100ms产生一次中断,当产生10次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。
其程序流程如图10所示。
3.3里程计数中断服务程序
每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,使微机进入里程计数中断服务程序中。
在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。
3.4中途等待中断服务程序
当在计数状态下霍尔开关没有输出信号,片内的T1定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。
当中途等待结束的时候,也就自动切换到正常的计价。
3.5显示子程序服务程序
由于是分屏显示数据,所以就要用到4个显示子程序,分别是:
时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。
3.6键盘服务程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。
4.计价表使用说明
(1)S1按键的功能
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1切换到里程和单价显示屏,供客户查询。
(2)S2按键的功能
在按下S1按键之后,若接着按下S2键则进行单价调整(默认为调整白天单价),当接着按下S1时,则进行晚上单价调,再次按下S1可进行中途等待单价调整。
当单价调整结束后,可以通过过按下S2按键进行时间调整,默认为调整时,接着按下S1可进行调整分,分调整后再接下S1可进行秒调整。
当时调整完成后,若接着按下S2则又可进行单价调整。
(3)S3按键的功能
在显示金额及单价时,若按下S3键则显示路程和单价,再次按下S3,可返回显示金额及单价。
(4)S4按键的功能
在按下S1按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4则可设定默认单价(白天),并启动计价器。
当设定默认晚上单价结束后,再次接下S4按键,则可设定默认中途等待单价,并启动计价器。
当设定默认中途等待单价后,若还按一次S4,则返回系统时间的显示。
5系统调试与测试结果分析
根据系统设计方案,本系统的调试共分为三大部分:
硬件调试,软件调试和软硬件联调。
测试包括里程计价测试、掉电存储测试测试。
5.1使用的仪器仪表
数字万用表DT9203
烧写器GF2100
双踪稳压稳流电源 DH1718E-5
数字示波器 TDS1002
5.2系统调试
根据系统设计方案,本系统的调试共分为三大部分:
硬件调试,软件调试和软硬件联调。
由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试。
6心得体会
本款出租车计价器比目前市场现在的增加了不少功能,其中包括单价输出、单价调整、路程输出、显示当前的系统时间、语音播报数据信息等功能。
另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。
通过本次课程设计,又使我学到了许多书本上无法学到的知识,也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。
在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:
AT89S51单片机及其引脚说明,为本次课程设计提供了一定的资料。
由于平时很少进行课程设计,所以对于课程设计报告的格式也是近期才接触到,经过这两次的设计,为我们以后毕业设计的制作也奠定了一定的基础。
参考文献
[1]张鑫、华臻、陈书谦.《单片机原理及应用》[M].电子工业出版社,2005.P110~136.
[2]丁元杰、吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版社,2004.P124~125.
[3] 叶挺秀.应用电子学[M].杭州:
浙江大学出版社,1994
[4] 朱承高.电工及电子技术手册[M].北京:
高等教育出版社,1990
[5] 阎石.数字电子技术基础(第三版)[M].北京:
高等教育出版社,1989
[6] 廖常初.现场总线概述[J].电工技术,1999.6
[7]杨世品、陈林.《基于proteus的单片机出租车计价器的设计》[J].中文核心期刊,23卷
附录
1、总体设计电路图
2、主程序流程图
3、定时中断服务程序
4.全部源程序
该出租车计价器的系统软件设计源程序如下:
DAY_PRICEEQU6FH
NIGHT_PRICEEQU6EH
MIDWAY_PRICEEQU6DH
START_PRICEEQU6CH
COUNTLEQU6BH
COUNTHEQU6AH
M100EQU69H;外部中断次数
DISTANCEEQU68H;行车距离
MS100EQU67H
SECEQU66H
MINEQU65H
HOUREQU64H
LEDSLEQU63H;时分钞显示缓冲区
LEDSHEQU62H
LEDMLEQU61H
LEDMHEQU60H
LEDHLEQU5FH
LEDHHEQU5EH
LEDDANJIALEQU5DH;总额,单价显示缓冲区
LEDDANJIAHEQU5CH
LINE_EQU5BH
LEDCOUNT1EQU5AH
LEDCOUNT2EQU59H
LEDCOUNT3EQU58H
LEDDANJIA2LEQU57H;路程,单价显示缓冲区
LEDDANJIA2HEQU56H
LINE__EQU55H
LINE___EQU54H
LEDDISTANCELEQU53H
LEDDISTANCEHEQU52H
LEDDAY_PLEQU51H;中途,晚上,白天显示缓冲区
LEDDAY_PHEQU50H
LEDNIG_PLEQU4FH
LEDNIG_PHEQU4EH
LEDW_PLEQU4DH
LEDW_PHEQU4CH
S1BITP1.0
S2BITP1.1
S3BITP1.2
S4BITP1.3
S11EQU4BH
S22EQU4AH
S33EQU49H
S44EQU48H
M1EQU47H
H1EQU46H
M2EQU45H
H2EQU44H
PRICEEQU43H
ORG0000H
AJMPMAIN
ORG0003H
AJMPTO
ORG000BH
AJMPTOTIME
ORG001BH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 出租车 计价器