东北农业大学毕业说明书.docx
- 文档编号:29213292
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:37
- 大小:284.43KB
东北农业大学毕业说明书.docx
《东北农业大学毕业说明书.docx》由会员分享,可在线阅读,更多相关《东北农业大学毕业说明书.docx(37页珍藏版)》请在冰豆网上搜索。
东北农业大学毕业说明书
东北农业大学毕业说明书
出租车计价器设计
入学年级:
2009春
学生姓名:
XXX
学号:
2007xxxxxxx
所学专业:
动物科学
东北农业大学
中国●哈尔滨
2011年5月
提要
随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,而且可以通过软件编程来完成更多的附加功能。
本设计采用AT89S52单片机为主控器,以RPR-220光电传感器测距,实现对出租车的多功能的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,通过ISD2560实现语音播报功能,输出采用8段数码管进行显示。
本次毕业设计设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价,同时具有语音播报和数据打印功能。
1.出租车计价器概述
随着交通行业的发展,出租车已经成为城市交通生活中必不可少的一部分,从加强行业管理和减少司机与乘客之间的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高,国内出租车计价器已经经历了四个阶段的发展,从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器,再从集成电路式到目前的单片机系统设计的出租车计价器。
出租车计价器显示的总金额是由公里数(等候时间一般折算成一定比例的里程来计算)与单价联合组成。
出租车计价器通过传感器与行驶车辆连接。
出租车的实际里程通过传感器的脉冲信号在计价器里折算成一定的计价公里数目。
目前市场上出租车计价器功能主要有具有数据的复位功能、白天/晚上转换功能、数据输出功能、计时计价功能等等,但能够进行语音播报数据信息和打印功能的出租车计价器还是比较少见的,针对这一点我们来设计一款多功能出租车计价器,在原有功能的基础上增加单价输出、单价调整、路程输出、语音播报数据信息和打印数据等功能,来方便广大司机与乘客。
2.系统方案设计
2.1设计要求
现代社会中,出租车计价器与人们的生活联系越来越密切,人们对它的要求也越来越高,因而设计一款多功能出租车计价器来满足人们的正常需要就显得十分必要,本设计满足了以下功能要求:
起步费用:
由用户设定起步价将其保存在电路中,传感器检测的行车里程在起步价费用里程内,就关闭行车里程计费程序,显示器一直显示起步价。
当行车里程超过了起步价费用里程,计费程序才启动计费。
行车里程计费:
通过传感器将出租车的行驶距离送入处理电路中,然后换算成行车里程,根据行车里程和已经设定好的单价计算出所需行车的费用,将这个费用送进总费用的显示缓存区。
等待计费:
在行车路途中,传感器检测到汽车速度低于设定值时,这时候就要启动等候计费程序的中途等待程序,因故停车超过5分钟的按0.5元/5分钟。
语音播报:
当有乘客上车时,致以欢迎词,如欢迎乘坐本车等信息;当到达目的地乘客下车时,致以结束语,如谢谢乘坐等,同时播报本次行程所花费的金额,里程。
打印功能:
在到达目的地结束本次行程时,可以将本次乘车里程、单价、花费金额等打印出来,以便供有需要的顾客存根。
整个行车过程中的总费用=起步价+行车费用+等候费用,这个费用在总费用显示缓冲区完成求和之后通过数码管显示出来,乘客能够直观明了的查看出来,十分方便。
要求出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。
从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。
过3公里后,实现每1公里单价收费,中间遇暂停时,里程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。
同时,白天和夜晚价格不同,可以进行切换。
白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。
(默认起步价为6元/3公里,里程单价白天为2元/公里,夜晚为元2.5/公里,等待计时单价0.5元/5分钟)。
2.2出租车计价器控制方案设计
计数器系统主要由六部分组成:
AT89S52单片机、独立键盘、EEPROMAT24C02、RPR-22O光电传感器、ISD2560语音芯片和显示数码管。
本设计通过RPR-220光电传感器来检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上,同时在营运过程中根据上下车的不同状态来实现不同的语音功能播放。
在乘客到达目的地时通过按键进行语音播报和打印乘车数据。
独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,下次得电后直接从EEPROM读到单片机,系统结构图如图2-1所示。
图2-1系统结构图
3.出租车计价器硬件设计
3.1单片机最小系统设计
主控机系统采用了Atmel公司生产的AT89S52单片机,它含有256字节数据存储器,内置8K的电可擦除FLASHROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。
复位电路和晶振电路是AT89S52工作所需的最简单外围电路。
单片机最小系统电路图如图3-1所示。
AT89S52的复位端是一个史密特触发输入,高电平有效。
复位端若由低电平上升到高电平并持续2个周期,系统将实现一次复位操作。
在复位电路中,按一下复位开关就使在复位端出现一段时间的高电平,外接11.0592M晶振和两个30pF电容组成系统的内部。
图3-1单片机最小系统图
3.2速度及里程检测电路设计
3.2.1A44E霍尔传感器检测电路设计
A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上。
霍尔传感器有信号转换、电压放大、整形输出等功能,其原理如图3-2所示。
图3-2霍尔传感器原理
里程计算是通过安装在车轮上的霍尔传感器检测到的脉冲信号,送到单片机产生中断,单片机再根据程序设定,计算出里程。
其原理如图3-3所示。
图3-3传感器测距示意图
若本系统选择了将A44E的脉冲输出口接到P3.3口外部中断1作为信号的输入端(这样可以减少程序设计的麻烦),车轮每转一圈(设车轮的周长是2米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到500次时,即1公里,单片机就控制将金额自动增加,如图3-4所示。
图3-4A44E霍尔元件检测电路
3.2.2RPR-220光电传感器检测设计电路
RPR-220是一种一体化反射型光电探测器。
其发射器是一个砷化镓红外发射管,接收器是一个高灵敏度,硅平面光电三极管。
采用DIP4封装,它具有灵敏度高,受离散光的干扰小,体积小,结构紧凑等特点。
发射器和接收器都有两根引出脚,其中长脚为正极,短脚为负极。
通过发射器发射出光线一部分能够返回,一部分不能返回,由此产生脉冲,通过脉冲计数,当计数达到500次时,即1公里,单片机就控制将金额自动增加,如图3-5所示。
图3-5RPR-220光电传感器检测电路
两种方案用于做检测电路都可以,都可以实现试验结果,本次毕业设计选择的是光电传感器检测里程。
3.3AT24C02掉电存储电路设计
AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA。
在断电的情况下保存40年以上,采用8脚的DIP封装,其中A2到A0为地址引脚,SDA、SCL为总线接口;WP为保护引脚,WP接VSS时,禁止写入高位地址,WP接VDD时,允许写入任何地址。
AT24C02芯片引脚配置如图3-6所示。
图3-6AT24C02引脚配置图
掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。
其电路如图3-7所示。
图3-7存储单元电路
图中R4、R5是上拉电阻,其作用是减少AT24C02的静态功耗。
由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SC(时钟脉冲)和SDA(数据/地址)与单片机P1.6和P1.7口连接,进行传送数据。
每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。
3.4键盘电路设计
当单价等信息需要进行修改时,就要用到键盘进行修改。
由于调节信息不多,故采用4个独立键盘即可,分别实现清零、切换、增大、减小和功能等作用。
电路原理如图3-8所示。
图3-8键盘调整电路设计
S1:
接P1.0口,对上一次的计费进行清零,为下次载客准备。
S2:
接P1.1口,实现白天和夜晚单价的切换;当功能键S4按下时,S2可对数据进行增大。
S3:
接P1.2口,当功能键S4按下时,S3可对数据进行减小。
S4:
接P1.3口,按1次,进入调整白天单价;按2次,进入调整夜晚单价;按3次,进入调整等待单价;按4次,进入调整起步价;按5次,返回。
S5:
接P1.3口,当其按下时进行语音播报。
3.5数据显示电路设计
数码管有共阳极和共阴极两种接法,此次设计采用共阴极。
LED显示器与单片机的接口采用静态显示与单片机接口时,共阴极或共阳极点连接在一起接地或高电平。
静态显示器接口电路,在位数较多时,电路比较复杂,需要的接口芯片较多,成本也较高。
动态LED显示接口由于各个数码管共用同一个段码输出口,分时轮流通电的,从而大大简化了硬件线路,降低了成本。
LED显示器中每个发光二极管要通过5毫安-20毫安的电流才能达到正常亮度。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各个数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
此次设计采用动态显示,目的就是为了节省硬件资源。
显示单元由7个8段共阴极数码管组成,采用动态扫描进行显示。
74LS244为单向三态数据缓冲器,内部有8个三态驱动器,分成两组,分别由控制端控制,当两个控制端接地时,相当于8个三态门均打开。
由于单片机驱动能力有限,本处采用74LS244作为数码管的驱动。
数码管段选位接P2口,用于显示总金额和显示里程与单价;位选接P0口,用于控制数码管。
电路如图3-9所示。
图3-9显示单元设计
3.68255接口电路设计
由于已有的单片机接口不能满足所设计的全部功能的需要,因此需要对已有的单片机接口进行扩展。
本设计采用的是8255对单片机接口进行扩展。
由于8255是Intel公司专为其主机配套设计制造的标准化外围接口芯片,因此它与单片机的连接是比较方便的。
采用的比较多的是直接利用地址线的线选法,这种方法虽然要浪费大量的地址号,但译码电路比较简单。
单片机的P0口为地址/数据复用口。
数据通过P0直接传送,地址的低8位是需要通过锁存器74LS373得到的,而地址的高8位则由P0直接传送。
具体电路如图3-10所示。
图3-108255电路原理图
3.7语音播报系统设计
主要用于向乘客致欢迎词及里程、单价、总金额等,以提高司机的服务质量。
由于考虑到目前计价器的微型化、智能化,本设计采用了集成度较高的ISD2560芯片,其最大的特点是采用EEPROM进行模拟信息的直接存取,而不必经过A/D和D/A转换,使用方便,且语音音质自然,可重复录放10万次。
它内部带有话筒放大器、自动增益控制时钟、扬声器驱动电路等,工作电压是5V,可以通过变压电路将5V电压转变为3V,单片录放时间60秒。
设计过程中可以先将上下车常用的一些用语的语音部分存储到语音芯片内部的不同起点地址中。
营运过程中根据上下车的不同状态来实现不同的语音功能播放。
语音芯片工作时,系统先在主程序调用放音程序,根据发音地址寻找ISD2560中的发音单元,然后将信号送到扬声器发出声音。
电路如图3-11所示。
图3-11语音播报电路设计
4.软件设计
4.1系统主程序
在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化以及中断、计算、循环等工作。
另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。
然后,主程序将根据各标志位寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。
当有乘客上车时,就进行语音播报,并启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。
若已超过,则根据里程值、每公里的单价数和起步价来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程和单价通过数码管显示出来,乘客到达目的地时,停止计价,显示当前应付的金额和对应的单价,并进行语音播报和票据打印,等乘客下车后,启动出租车,计价器检测到传感器的脉冲信号,系统进行清零,并重新进行初始化过程,完成一次计价。
主程序流程如图4-1所示。
图4-1系统主流程图
4.2定时中断服务程序
在定时中断服务程序中,每10ms产生一次中断,当产生100次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。
当选择定时/计数器作为定时器工作时,计数器的加1信号由振荡器(晶振)的12分频产生,即每经过1个机器周期,计数器增1,直至计数溢出为止。
显然,定时器的定时时间与系统的振荡频率有关。
本设计的晶振频率为12MHZ,初始值计算过程如公式(4-1)所示。
由于晶振的频率为12MHz,则计数周期为:
T=1/(12000000Hz)*12=1us,本设计选用定时器0,TMOD=0X01,选用模式1,故T0为16为计数器,T0计数最大值为65536。
要定时10ms,需要计数10000个1us(计数周期)
计算初值=最大值-计数周期数(4-1)
计算初值=65536-10000=55536
55536转换为十六进制即为D8F0,计数器从D8F0开始计数,计数到65536溢出,产生定时中断。
4.3里程计数中断服务程序
车每行进2米光电传感器输出一个低电平信号,使单片机中断一次,当计数器对脉冲计数满500次时,使微机进入里程计数中断服务程序。
在该程序中,要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。
4.4中途等待中断程序
当出租车速度低于1.4米/秒(5公里/小时)时,折算成脉冲后为10s小于7个,若10S后仍然低于这个速度没有输出信号,片内的T1定时器便被启动,每当计时到达5钟,就对当前金额加上中途等待的单价,以后每五钟都自动加上中途等待的单价。
当中途等待结束的时候,也就自动切换到正常的计价。
4.5显示程序
显示程序利用定时器每10ms产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。
4.6计算程序
计算程序根据里程数分别进入不同的计算公式。
如果里程大于3公里,则执行公式:
总金额=起步价+(里程-3)*单价+等待时间*等待单价;否则,执行公式:
总金额=起步价+等待时间*等待单价。
程序流程图如图4-2所示。
图4-2计算程序流程图
4.7键盘扫描程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。
键盘程序流程图如图4-3所示。
图4-3键盘扫描流程图
5.实验仿真结果分析
为了验证实验结果,确保实验结果与提出的要求相吻合,用proteus对电路进行了仿真,仿真图形如下。
图5-1计价器初始状态
图5-1说明,当有乘客上车时,按下复位键,此时数码管上显示出起步价为6元,公里数为0公里,白天单价为2元,由此开始进入计价阶段。
图5-2公里数超过3公里
图5-2说明,由于计价器设计的是行程低于3公里(包括3公里)总金额即为起步价,行程高于3公里,每超出1公里,在起步价基础上增加2元。
此图数码管上此时刻显示出的总金额为8元,公里数为4公里,白天单价为2元,完全符合预期设计。
图5-3白天单价调整
图5-3说明,当按一下功能键后,右边数码管上前两位会显示数字01,进入白天单价调整阶段,此时可以按键S2与S3对白天单价进行调整,每按一次单价调整的价格为0.1元,此设计采用的是白天单价为2.0元。
图5-4晚上单价调整
图5-4说明,当按二下功能键后,右边数码管上前两位会显示数字02,进入晚上单价调整阶段,此时可以按键S2与S3对晚上单价进行调整,每按一次单价调整的价格为0.1元,此设计采用的是晚上单价为2.5元。
图5-5等待单价调整
图5-5说明,当按三下功能键后,右边数码管上前两位会显示数字03,进入等待单价调整阶段,此时可以按键S2与S3对晚上单价进行调整,每按一次单价调整的价格为0.1元,此设计采用的是等待单价为0.5元,在计价模式下,如果车轮低于1.4米/秒(5公里/小时)在时,若10秒内没有改变这种状态,则进入中途等待模式下,屏幕会进入等待计价状态,5分钟后计价器自动增加0.5元。
图5-6起步价单价调整
图5-6说明,当按四下功能键后,右边数码管上前两位会显示数字04,进入起步价调整阶段,此时可以按键S2与S3对晚上单价进行调整,每按一次单价调整的价格为0.1元,此设计采用的是起步价是6.0元。
由以上仿真图,我们可以得出实验的仿真效果完全符合我们预期的设计,说明了实验设计各个步骤的正确性。
6.结束语
由于使用的是单片机作为核心的控制元件,本设计采用AT89S52单片机为主控器,以RPR-220光电传感器测距,实现出租车的多功能计价设计,并采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段共阴数码管显示,而且具有语音播报和打印功能,十分人性化。
本出租车计价器具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其具有很高的智能化水平。
通常在不同的时间,不同的情况下都会有不同的收费标准;白天、晚上和中途等待,我们考虑后首选用开关来实现这些切换功能,简单方便,同时显示器会显示相应的指示。
最大的方便了司机的计费控制,并且能根据市场经济的变化而发生相应的跳动计价。
但是在我们设计和调试的过程中,也发现了一些问题,譬如计价的金额数有限,实际的里程可能会很远,会超出我们的显示范围,我在这次设计中将最大金额设置到了1000,基本上能够满足大部分乘客的需求。
通过这次对毕业论文的编写以及电路的设计,让我更加深刻的认识到理论和实践相合的重要性。
在论文的编写过程中,查阅了不少的相关资料,使我对AT89S52单片机、RPR-220光电传感器、ISD2560等芯片有了更进一步的了解和掌握,同时也体现出了自己专业知识学得不扎实,特别是在电路制作过程中,由于缺少实际经验,对单片机的很多功能还不能熟练的掌握。
所以在今后的工作和学习过程中,应加强专业知识的学习,不断以理论和实践相结合,拓宽知识面,不断提高自己以适应社会的挑战,实现人生的自我价值。
6参考文献:
[1]李斯,饲料质量检测验收标准与生产加工技术,北京,万方数据电子出版社1992
[2]张军民,高振川,HACCP管理和饲料安全,中国饲料,2002,3,9~11
[3]农业部软科学委员会办公室编,粮食安全问题,北京,中国农业出版社,2001
[4]刘继业,苏晓欧主编,饲料安全工作手册,北京,中国农业科技出版社,2001
[1]赵晶.电路设计与制版Prote199高级应用[M].北京:
人民邮电出版社,2000:
120-125
[2]康华光.电子技术基础数字部分[M].4版.北京:
高等教育出版社,2003:
309-317
[3]何立民.单片机应用技术选编[M].北京:
北京航天航空大学出版社,1999:
60-78
[4]杨恢先,黄辉先.单片机原理及应用[M].长沙:
国防科技大学出版社,2003:
241-253
[5]求实科技.单片机典型模块设计实例导航[M].北京:
人民邮电出版社,2004:
256-264
[6]谭浩强.C语言程序设计[M].北京:
清华大学出版社.2005:
80-86
[7]赵建领.51系列单片机开发宝典[M].北京:
电子工业出版社.2007:
98-112
[8]丁锦滔.PIC单片机C语言程序设计[J].电子制作2010,1:
57-59
[9]张颖.多功能出租车计价器的设计[J].计算机与信息技术,2009,9:
114-116
[10]曾若渊.MCS一51定时/计数器在出租车计价器中的应用[J].电子制作,2010,2:
29-30,63
[11]胡大友.新型出租车计价器模块的应用[J].国外电子元器件,2010,4:
55-58,6
[12]李翔,王勇军.基于Proteus的多功能出租车计价器设计[J].单片机与嵌入式系统应用,2010,3:
35-37
附录A系统源程序
#include
#include
#include“voice.c”
#defineucharunsignedchar
#defineuintunsignedint
#definedelayNOP(){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();};
ucharcodetable[]={0x3F,//"0"
0x06,//"1"
0x5B,//"2"
0x4F,//"3"
0x66,//"4"
0x6D,//"5"
0x7D,//"6"
0x07,//"7"
0x7F,//"8"
0x6F,//"9"
};
sbitexter=P3^3;//外部中断
sbitS1=P1^0;//清零键
sbitS2=P1^1;//切换/单价增加键
sbitS3=P1^2;//单价减少键
sbitS4=P1^3;//功能键
sbitSCL=P1^7;//IIC引脚
sbitSDA=P1^6;
sbitp00=P0^0;
sbitp01=P0^1;
sbitp02=P0^2;
sbitp03=P0^3;
sbitp04=P0^4;
sbitp05=P0^5;
sbitp06=P0^6;
sbitp07=P0^7;
sbitMOTOR=P3^2;//电机控制端口
sbitLED=P3^5;//光电传感器LED控制端口
intinter,aa,bb,temp=0,temp1,WHEEL_speed=0;
uintzongjine,licheng,dengdai;
uintS4num,qiehuantemp,delaytemp;
uchard
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北 农业大学 毕业 说明书