基于单片机出租车计费器的设计.docx
- 文档编号:7235910
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:28
- 大小:333.36KB
基于单片机出租车计费器的设计.docx
《基于单片机出租车计费器的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机出租车计费器的设计.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机出租车计费器的设计
石家庄邮电职业技术学院
毕业设计
基于单片机的出租车计费器的设计
2012届电信工程系
专业移动通信技术
班级电0904-12
学号
姓名
指导教师
完成日期2011年12月25日
石家庄邮电职业技术学院
毕业设计任务书
姓名
学号
专业
移动通信技术
班级
电0904-12
毕业设计题目
基于单片机的出租车计费器的设计
指导教师姓名
职称或职务
讲师
工程师
工作单位
一、设计内容
利用C语言编写单片机控制程序,实现出租车计费器的功能。
制作相应的硬件电路模拟出租车计费和显示的过程。
二、基本要求
(1)利用传感器对车轮转的圈数进行计数,并将计数值传送给单片机,单片机将脉冲数成公换算里数。
(2)进行单片机程序设计,实现计费功能,计费标准为:
按行驶里程计费,起步价为10.00元,并在车行5km后按标准单价计费,单价白天夜晚有所不同,夜晚当行驶超过一定距离时,每公里加收50%车费,车停止不计费。
(3)有显示功能,能够显示当前车费值、当前已经行驶公里数。
三、重点研究内容:
车轮计数,信息显示
四、主要设计方法
(1)采取合适的方式对车轮转的圈数进行计数
(2)熟悉显示技术,可采用LCD或者数码管来显示车费值和公里数
(3)掌握使用C语言编写单片机程序的规则和方法和调试技术。
主要参考文献、资料:
[1]罗亚非,凌阳16位单片机应用基础[M],北京:
北京航空航天大学出版社,2003年
[2]凌阳科技,凌阳16位单片机开发实例[M],北京:
北京航空航天大学出版社,2006年6月
[3]汪敏,凌阳16位单片机实验与实践[M],北京:
北京航空航天大学出版社,2007年8月
[4]余永权,汪明慧,黄英,单片机在控制系统中的应用[M],北京:
电子工业出版社,2003年9月
计划进度
1、2011年10月8日——2011年10月31日资料搜集;进行系统设计
2、2011年11月1日——2011年12月10日硬件设计,软件设计;系统联合调试
3、2011年12月11日——2011年12月20日撰写初稿
4、2011年12月21日——2011年12月25日修改,定稿打印。
指导教师签字:
年月日
注:
本表由指导教师填写,一式两份,一份交系留存,一份发给学生。
石家庄邮电职业技术学院
毕业设计评定书
姓名
班级
电0904-12
学号
专业
移动通信技术
毕业设计题目
基于单片机的出租车计费器的设计
指导教师评语:
指导教师建议成绩(60%)
指导教师签字:
年月日
答辩小组建议成绩(40%)
组长签字:
年月日
答辩委员会最后审定成绩
主任签字:
年月日
备注
摘要
随着生活水平的提高,人们已不再满足衣食住行的享受,出行的舒适已受到越来越多人的关注。
于是,出租车行业以低价高质的服务给人们带来了出行的享受。
基于单片机系统设计的出租车计费器是以单片机作为核心的控制元件,采用灵敏的霍尔开关型器件,具有功能强,性能可靠,电路简单,成本低的特点,加上经过优化的程序,使其具有很高的智能化水平。
在本次设计中硬件设计主电路以AT89S51单片机为核心控制元件,附加灵敏的A44E霍尔传感器测距,实现对出租车计费,采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用LCD1602液晶显示屏,显示行驶总里程和总金额。
本电路设计的计费器主要功能有:
数据的复位、白天/晚上转换、数据输出、计价、单价输出及调整、路程输出、实现在系统掉电的时候保存单价等功能。
本电路设计的计费器不但能实现基本的计价,而且还能根据白天、黑夜来调节单价,为司机同志提供方便。
目录
1 概述..............................................................1
1.1 课题研究背景..................................................1
1.2 课题研究意义..................................................1
1.3 课题主要研究内容..............................................1
2 总体设计方案的论证与比较..........................................2
2.1 总体设计方案的论证与比较......................................2
2.2 里程计算设计方案论证与比较....................................3
2.3 设计总框图....................................................4
3 硬件设计..........................................................4
3.1 硬件设计概述..................................................4
3.2 AT89S51介绍..................................................4
3.2.1 AT89S51主要性能特点......................................5
3.2.2 AT89S51的引脚功能说明....................................5
3.3 里程计算设计..................................................6
3.3.1 霍尔传感器简介............................................6
3.3.2 里程计算、计价单元的设计..................................7
3.3.3 里程计量功能..............................................8
3.4 显示原理......................................................8
3.4.1 字符液晶1602液晶显示器各种图形的显示原理.................8
3.4.2 字符型液晶1602主要技术参数...............................9
3.4.3 接口信号说明..............................................9
3.4.4 基本操作时序.............................................10
3.4.5 1602LCD的RAM地址映射及标准字库表.......................10
3.5 AT24C02掉电存储单元的设计...................................12
3.6 按键单元的设计...............................................13
3.6.1 独立式键盘的接口电路.....................................13
3.6.2 按键单元的设计...........................................14
3.6.3 按键的功能...............................................14
3.7 复位电路设计.................................................14
3.8 振荡时钟电路.................................................15
4 系统软件设计.....................................................16
4.1 系统总体程序设计.............................................16
4.2 系统各分部程序设计...........................................17
4.2.1 调价子程序设计...........................................17
4.2.2 计费子程序设计...........................................17
4.2.3 里程计数中断服务程序.....................................17
4.2.4 显示子程序设计...........................................17
5 系统软件调试.....................................................19
5.1 里程计价测试.................................................19
5.2 掉电存储测试.................................................20
6 总结.............................................................20
参考文献............................................................21
致谢............................................................22
1 概述
1.1 课题研究背景
我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计费器里程数字显示的读数从零逐渐增大,而当行驶到某一值时计费数字显示开始从起步价增加。
当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。
现在各大中城市出租车行业都已普及自动计费器,所以计费器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计费器的普及也是毫无疑问的,所以未来汽车计费器的市场还是十分有潜力的。
1.2 课题研究意义
出租车计费器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计费器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。
因此,汽车计费器的研究也是十分有应用价值的。
毕业设计是将理论与实践相结合的教学环节,通过综合运用教材及其他资料,使所学知识得到进一步加深和扩展。
同时还培养设计能力和解决实际问题能力,进行基本技能的训练。
1.3 课题主要研究内容
利用AT89S51单片机,设计简单的出租车计费器。
在出租车计费器的总体设计中,其中硬件设备中主要的外围功能电路有:
按键控制电路,掉电保护电路,时钟电路,复位电路,LCD1602液晶显示电路,霍尔传感器部分等。
软件设计中主要有:
显示子程序,计费子程序,调价子程序,里程计数中断服务程序等。
通过对以上各功能的设计,制作出的出租车计费器应具有以下功能:
上电时液晶显示屏初始化显示为零,通过按下启动按键来开始计价,液晶显示屏开始显示起步价和起步金额;在行走的过程中,液晶显示屏开始显示所走里程和所应付的金额,并逐渐增加;按下停止按键,停止计价,液晶显示屏显示所走总里程和用户所需总金额,按下清零按键,液晶显示屏显示零,以备下次计价。
(1)里程计算:
利用霍尔传感器A44E测距,单片机对霍尔传感器输出的脉冲进行计数,并将脉冲数转换成相应公里数,从而实现测距。
①白天:
费用的计算是按行驶里程收费。
设起步价为10.00元。
●当里程<5公里时,按起价计算费用;
●当里程>5公里时,每公里按1.60元计费;
●车停止不计费;
②夜晚:
●当里程<5公里时,按起价计算费用;
●当里程>5公里且<10公里时,每公里按1.80元计费;
●当里程>10公里时,每公里加收50%的车费(即2.70元);
●车停止不计费;
(2)显示功能:
利用LCD1602液晶显示屏显示,在计费开始时,显示单价和起步价,随着里程的增加,显示总路程和总费用。
①显示行驶里程:
用五位数字显示,显示方式为“XX.XXX”,单位为公里。
计程范围0-99公里,精确到0.001公里。
②显示单价:
用四位数字显示,显示方式为“XX.XX”,单位为元。
计价范围0-99元,精确到0.01元。
③显示总费用:
用五位数字显示,显示方式为“XXX.XX”,单位为元。
计价范围0-999.99元,精确到0.01元。
2 总体设计方案的论证与比较
2.1 总体设计方案的论证与比较
方案一:
采用数字电路控制。
其原理方框图如图2-1所示。
采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,电路不够实用。
其原理方框图如图2-1所示。
图2-1 数字电路方案
方案二:
采用单片机控制。
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计费功能和价格调节。
其原理方框图如图2-2所示。
图2-2 总体设计思路框图
采用模拟电路和数字电路设计的计费器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。
通过比较以上两种方案,单片机有较大的活动空间,利用单片机丰富的IO端口,及其控制的灵活性,不但能实现基本的里程计费功能和价格调节,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。
为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。
2.2 里程计算设计方案论证与比较
方案一:
采用霍尔线性器件,将转速转变为电压信号提供给单片机,从而达到计算里程的目的。
方案二:
采用霍尔开关器件中的霍尔传感器A44E,按出租车车轮转速的高低,每转发出相应数目的脉冲信号。
通过比较以上两种设计方案,方案一虽然运行可靠,但体积大,精度低,且由于测量值是模拟量,必须经过A/D转换后读入计算机,针对于出租车计价器而言较为烦琐,不适用。
因此我们采用方案二。
2.3 设计总框图
本次设计我们利用单片机AT89S51芯片作为设计的核心,利用霍尔传感器测距,实现对出租车计费统计,采用AT24C02实现在系统掉电的时候保存单价等信息,显示采用LCD1602液晶显示屏,显示单价、总金额、总路程。
总体设计框图如图2-3所示。
图2-3 总体设计框图
3 硬件设计
3.1 硬件设计概述
AT89S51是一款非常适合单片机初学者学习的机型,它完全兼容传统的8051,8031的指令系统和引脚,而且是当今较为流行的,综合考虑,本次设计的核心采用AT89S51型单片机;在里程测速方面,霍尔元件体积小,重量轻,寿命长,安装方便,功耗小,因此我们采用霍尔传感器A44E;在显示方面,采用LCD1602液晶显示屏显示;在其他方面,我们运用到了AT24C02掉电存储单元以及四个控制按键。
3.2 AT89S51介绍
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元。
3.2.1 AT89S51主要性能特点
(1)4kBytesFlash片内程序存储器;
(2)128bytes的随机存取数据存储器(RAM);
(3)32个外部双向输入/输出(I/O)口;
(4)5个中断优先级、2层中断嵌套中断;
(5)6个中断源;
(6)2个16位可编程定时器/计数器;
(7)2个全双工串行通信口;
(8)看门狗(WDT)电路;
(9)片内振荡器和时钟电路;
(10)与MCS-51兼容;
(11)全静态工作:
0Hz-33MHz;
(12)三级程序存储器保密锁定;
(13)可编程串行通道;
(14)低功耗的闲置和掉电模式。
3.2.2 AT89S51的引脚功能说明
AT89S51有40个引脚,与MCS-51系列单片机引脚完全兼容。
如图3-1所示。
其各自引脚功能如下:
(1)Vcc:
电源电压输入端。
(2)GND:
地。
(3)P0口:
P0口是一组8位漏极开路型双向I/O接口,也即地址/数据总线复用口。
每脚可吸收8TTL门电流。
(4)P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL逻辑门电路。
(5)P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。
(6)P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
(7)I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口才真正地把外部的数据读入到内部总线。
89S51的P0、P1、P2、P3口作为输入时都是准双向口。
(8)RST:
复位输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(9)ALE/PROG:
地址锁存允许/编程脉冲信号端。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
(10)PSEN:
外部程序存储器的选通信号,低电平有效。
(11)EA/VPP:
外部程序存储器访问允许。
(12)XTAL1:
片内振荡器反相放大器和时钟发生器的输入端。
(13)XTAL2:
片内振荡器反相放大器的输出端。
图3-1 AT89S51的引脚结构
3.3 里程计算设计
本次设计里程计算采用霍尔传感器A44E,时下已得到了广泛的应用。
3.3.1 霍尔传感器简介
霍尔传感器是利用霍尔效应实现磁电转换的一种传感器,它具有灵敏度高,线性度好,稳定性高、体积小和耐高温等特点,在机车控制系统中占有非常重要的地位。
对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。
按照霍尔器件的功能可将它们分为:
霍尔线性器件和霍尔开关器件。
霍尔线性器件的精度高、线性度好、输出模拟量;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高(可达μm级)、输出数字量。
取用了各种补偿和保护措施的霍尔器件的工作温度范围宽,可达-55℃~150℃。
3.3.2 里程计算、计价单元的设计
里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。
其原理如图3-2所示。
图3-2 传感器测距原理示意图
由于A44E属于开关型的霍尔器件,其工作电压为4.5~18V,其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高检测频率可达到1MHZ。
A44集成霍耳开关由稳压器、霍耳电势发生器(即硅霍耳片)、差分放大器、施密特触发器和OC门输出五个基本部分组成。
其集成霍耳开关外形及接线如图3-3所示。
图3-3 集成霍耳开关外形及接线
在输入端输入电压VCC,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差输出,该电势差信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到工作点时,触发器输出高电压(相对于地电位)使三极管导通,此时OC门输出端输出低电压,通常称这种状态为“开”。
当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为“关”。
这样两次电压变换,使霍耳开关完成了一次开关动作。
3.3.3 里程计量功能
(1)单片机对传感器输出脉冲进行计数,并将脉冲数换算成公里数;我们选择了P3.2口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦)。
(2)车轮每转一圈(我们设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动的增加,其计算公式:
当前单价×公里数=金额(3-1)
3.4 显示原理
利用LCD1602液晶显示屏显示,此液晶显示屏使用方便,操作简单。
3.4.1 字符液晶1602液晶显示器各种图形的显示原理
(1)线段的显示:
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
例如屏的第一行的亮暗由RAM区的000H——00FH的6字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。
这就是LCD显示的基本原理。
(2)字符的显示:
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
(3)汉字的显示:
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
3.4.2 字符型液晶1602主要技术参数
表3-1 字符型液晶1602主要技术参数
显示容量:
16*2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95*4.35(W*H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 出租车 计费 设计