毕业设计(论文)-基于单片机的出租车计价器设计.doc_第1页
毕业设计(论文)-基于单片机的出租车计价器设计.doc_第2页
毕业设计(论文)-基于单片机的出租车计价器设计.doc_第3页
毕业设计(论文)-基于单片机的出租车计价器设计.doc_第4页
毕业设计(论文)-基于单片机的出租车计价器设计.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CHANGSHACHANGSHAUNIVERSITYUNIVERSITYOFOFSCIENCESCIENCE&TECHNOLOGYTECHNOLOGY毕业设计(设计)毕业设计(设计)题目:基于单片机的出租车计价器设计题目:基于单片机的出租车计价器设计学生姓名:学生姓名:学学号:号:200857050124班班级级:055710801专专业:业:电子信息工程电子信息工程指导教师:指导教师:2012年年06月月基于单片机的出租车计价器设计学学生生姓姓名名:张书震张书震学学号:号:200857050124班班级:级:055710801所所在在院院(系系):电气与信息工程学院电气与信息工程学院指指导导教教师师:席燕辉席燕辉完完成成日日期期:2012年年6月月15日日基于单片机的出租车计价器设计基于单片机的出租车计价器设计基于单片机的出租车计价器设计摘摘要要随着国内城市现代化的发展,出租车行业突飞猛进,出租车计价器的市场需求量也大大增加。出租车计价器是乘客与司机双方的交易准则,是出租车行业发展的重要标志,关系着乘客和出租车司机双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。传统机械式和半机械式出租车计价器主要依靠传感器接收的脉冲进行计数,依靠齿轮比进行计价,不可避免的造成计价器易损耗,精度低,不易调整价格,容易作弊等问题。从加强出租车行业管理及服务质量并且节约成本出发,考虑到单片机已经再各个领域成熟的应用了几十年,其技术可靠,参考资料丰富,价格低廉,因此本文选取了AT89S52这一单片机做为计价器的核心。运用霍尔传感器检测车轮转数,读取掉电存储单元里面的价格信息,经单片机处理之后显示到LED数码管上。用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合很容易实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。通过软件就可以轻易的实现计费模式的切换。本设计采用LED数码管提供了友好易读的界面,数据信息一目了然,极大的方便了司机朋友的使用。关键词:出租车计价器;AT89S52;单价调节;软硬件设计基于单片机的出租车计价器设计ADESIGNOFTAXIMETERBASEDONSINGLECHIPDESIGNABSTRACTWiththedevelopmentofmoderndomesticcitiesthetaxiindustrybyleapsandbounds,andtherentalcarmileagefaremetersmarketdemandisalsogreatlyincreasing.Taximeterisbothpassengersanddriversofthetransactioncriteriaataxiisthemostimportanttools.Itrelatestotheinterestsofbothtransactions.Hasagoodperanceregardlessofthemeterisavastnumberoftaxidriversorpassengersareverynecessary.Traditionalmechanicalandsemi-mechanicalTaximeterrelymainlyonthesensortoreceivethepulsecountrelyingonthepricingofgearratiotheinevitableresultofthemetereasytowearandtearlowprecisioneasytoadjustthepriceeasytocheatandotherissues.Inordertostrengthentherentalcartrademanagementandthegradeofservice,andsavesthecosttoembark,Thesingle-chipcircuitrytoAT89S52asthecenteranadditionalHallsensorA44ErangingtorealizeTaximeterstatisticsusingAT24C02realizewhenthesystempower-downunitpricesandsaveinationsuchassystemtime.MCUusedforthedesignarelativelypowerfulwithlesshardwareandappropriatesoftwarecaneasilycoordinatewitheachothertoachievethedesignrequirementsflexibilityandstrongcanbeprogrammedbysoftwaretocompletemoreoftheadditionalFunction.Pricingmodelfortheswitchsoftwareprogrammingandcaneasilycitetheachievement.Alsointhisprogrammethattheuseofa8digitaldisplaytubecanbemorefriendlytouseinterface.ThisdesignusesLEDdigitaltubetoprovideafriendlyandeasytoreadinterfaceanddatainationataglancewhichgreatlyfacilitatestheuseofthedriverfriends。Keywords:Rentalcarmileagefaremeter;AT89S52;unitpriceadjustment;softwareandhardwaredesign基于单片机的出租车计价器设计目录1绪论.11.1课题背景.11.2本文研究目的.21.3本文主要内容.22总体方案设计.32.1方案论证与比较.32.2单片机系统总体设计.42.3芯片简介.52.3.1AT89S52.52.3.4DS1302.62.3.5A44E.72.3.6AT24C02.82.3.774LS138.103硬件电路设计.113.1CPU模块.113.2路程测量部分.123.3数据显示部分.133.5时钟部分.143.6掉电存储电路.143.7按键部分电路.153.8章节总结.164系统软件设计.174.1主程序设计.174.2里程计数中断服务程序.18基于单片机的出租车计价器设计4.3仿真结果.194.3.1仿真软件Proteus.194.3.2Proteus界面介绍.204.3.3Proteus仿真结果.205总结.22参考文献.23致谢.25附录A系统总原理图.26附录B各部分程序.27附件附件1开题报告(文献综述)附件2译文及原文影印件基于单片机的出租车计价器设计第1页共40页1绪论1.1课题背景出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车行业的迅速发展,出租车已经成为了城市交通不可分割的部分,出租车计价器是乘客与司机之间的一把秤,它关系着交易双方的利益,是出租车中最具标志性的工具。一个性能良好的计价器无论是对广大出租车司机朋友还是乘客来说都是非常重要的1。出租汽车计价器是一种专用的计量仪器,它安装在出租汽车上,能连续累加计算,并指示出行程中任一时刻乘客应付费用的总数,其金额值是计程和计时时间的函数。出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。要将出租车计价系统产品化,应该根据客户不同的需求进行不同的设计,在程序中增加一些可以人为改变但又不是可以在运行中随意改变的参数,以便客户根据不同的需要随时调节单价以及计价方式。多年来国内普遍使用的车租车计价器计量功能少,操作不便,而且目前世界上90%的计价器产自台湾。现今国内生产计价器的企业仅有数百家,主要是集中在珠江三角和江苏等地。这些企业也大都是一些中小型的企业,研发水平有限,技术水平不高,国际竞争力也不强2。我国最早的计价器几乎都采用机械齿轮构成,只能完成简单的测量功能,从某种程度上说,早期的计价器就只是个特殊的里程表。随着科学技术的发展,产生了采用了手摇计算机与机械结构相结合的新一代的计价器。它在计程的同时还可完成计价的工作。大规模集成电路的发展带来了第三代计价器,也就是现在常见的功能也在不断完善的全电子化的计价器。现在各大中城市出租车行业都必备出租车计价器,甚至于没有正规的出租车计价器的出租车几乎不再有人相信是真的,所以计价器市场的发展已成为了不可阻挡的趋势3。而部分小城市出租车行业尚不发达,但随着城镇城市化进程的日益加快,象征着城市面貌的出租车行业也将加速发展,计价器市场的不基于单片机的出租车计价器设计第2页共40页断扩张也是毫无疑问的,所以未来出租车计价器的市场潜力还是巨大的。1.2本文研究目的目前的出租车计价器种类繁多,采用的方案也各不相同。从传统简单的逻辑电路方案到高性能的FPGA方案,极大地丰富了计价器市场。但是各个方案又都有其难以避免的缺点,例如逻辑电路,由于主要依靠传感器接收的脉冲进行计数,依靠齿轮比进行计价,不可避免的造成计价器易损耗,精度低,不易调整价格,容易作弊等问题4。因此本文拟采用一个简单易行,且价格低廉的方案来取代当前的出租车计价器。考虑到单片机已经再各个领域成熟的应用了几十年,其技术可靠,参考资料丰富,价格低廉,因此本文选取了AT89S52这一单片机做为计价器的核心。运用霍尔传感器检测车轮转数,读取掉电存储单元里面的价格信息,经单片机处理之后显示到LED显示屏上。相信这种计价器能够成功的取代当前的出租车计价器给乘客和出租车司机带来方便和实惠。1.3本文主要内容本文第一章主要介绍了出租车计价器的一些相关信息,简要的叙述了本设计存在的意义。第二章对当前的各种方案进行了比较论证,最后选取其中综合性能最好的方案,并且对这一方案里面所采用的各种芯片进行了简要的减少和说明。第三章则详细的叙述了各个芯片的硬件电路,各部分的功能构成,以及周边电路的设计。第四章则介绍了各个软件模块的设计方案,软件流程。也简单介绍了本文模拟用的软件Proteus和Proteus的仿真的结果。基于单片机的出租车计价器设计第3页共40页2总体方案设计2.1方案论证与比较出租车计价器是出租车营运收费的专用计量仪表,随着电子技术的发展也给出租车计价器的发展带来了春天,日渐丰富的功能,完善的周边电路,更加人性化的操作也让出租车计价器技术日新月异,国内出租车计价器的发展从传统的齿轮传动组成的机械式到用手摇式计算机代替部分机械元器件的半电子化出租车计价器5。出租车计价器的发展从未有过停止,各种新的解决方案也层出不穷。面对众多可选择的方案,出租车计价器计费是否能够公平公正准确的计费、是否能够让乘客信任是才是广大客户最关心的问题,而计价器营运数据是否方便管理,是否能够实现燃油附加费、税收的方便管理才是出租车司机最关注的6。在查阅了大量的资料和文献之后,本文最终筛选出了以下的两种较为简单易行又常见的方案:方案一:采用单片机技术。单片机有着丰富的IO端口,可实现基本的里程计价功能和价格调节、时钟显示功能。其原理如图2.1所示。AT89s52单片机按键AT24C02掉电存储单元里程测量单元显示驱动单元单价显示总价显示图2.1单片机控制方案基于单片机的出租车计价器设计第4页共40页方案二:采用EDA技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块、计量模块、译码和动态扫描显示模块,其系统框图如图2.2所示:时钟信号等待信号公里脉冲计费复位分频器控制器显示译码计费计时计程图2.2FPGA控制方案通过比较以上两种方案,FPGA设计虽然也能满足要求,但是考虑到成本和扩展性上不如单片机,而且维修不方便,在中小规模生产的情况下没有明显的性价比。而相比来说单片机有较大的活动空间,利用单片机丰富的IO端口,及其控制的灵活性,不但能实现基本的里程计价功能和价格调节、时钟显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。为此采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。2.2单片机系统总体设计本次设计我们利用单片机AT89S52芯片作为设计的核心,利用霍尔传感器基于单片机的出租车计价器设计第5页共40页测距,实现对出租车计价统计,采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,显示采用8位LED数码管,分屏显示单价、路程、总金额以及时间.当出租车启动时,单片机检测到霍尔传感器的脉冲信号并进行里程计算。当无乘客时,单片机调用芯片DS1302程序和74LS138串口显示驱动程序,用LED进行时钟显示。当空车灯掰下乘客上车时:通过DS1302获取时间信息分辨白天晚上,然后调用AT24C02程序获取白天、晚上的单价及起始价,便开始计价并显示时间、里程和金额等信息。当空车灯打上乘客下车时,等待出租车再次启动后单次金额与里程等信息清零复位,就此完成一次计价。总体框图如2.3:AT89s52单片机空车检测单价显示总价显示键盘控制AT24C02掉电存储单元里程测量单元DS1302时钟电路显示驱动图2.3总体设计框图2.3芯片简介根据任务书的功能要求和现在所具备的条件,本设计拟采用5个芯片,分别为:AT89S52、AT24C02、74LS138、DS1302、霍尔传感器A44E。2.3.1AT89S52本文所选用的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系基于单片机的出租车计价器设计第6页共40页统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案7。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位IO口线,看门狗定时器,2个数据指针,三个16位定时器计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止8。AT89S52引脚图如图2.4:图2.4单片机引脚图2.3.4DS1302设计考虑到计价器的实用性,拟在没有乘客的情况想显示实时时钟,也是作为各个时段单价自动转换的标准。采用一个可靠的计时芯片是必不可少的。DS1302一种高性能、低功耗的实时时钟芯片,工作性能稳定可靠,采用SPI三线接口与CPU进行通信;并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31基于单片机的出租车计价器设计第7页共40页天可以自动调整,并且具有闰年补偿功能。通过设DS1302的控制状态寄存器选择日历,时钟方式经过初始校准后即可工作使用;工作电压宽达2.55.5V。可采用多电源供电9。如图2.5为DS1302的引脚功能图。图2.5DS1302引脚功能图由于采用了备用电池供电,所以在汽车电源关闭的情况下,也能保持时钟的正常运行。DS1302由Vcc1或Vcc2中电压较高的一端供电。X1和X2是外接32.768kHz晶振的振荡源。RST是复位片选线,通过把RST输入置高电平来启动所有的数据传送。RST有两种输入功能:第一,RST接通控制逻辑,允许将地址命令序列输入到移位寄存器中;第二,RST提供了停止单字节和多字节数据的发送方法。当RST被置为高电平时,初始化所有的数据传送,允许操作DS1302。在传送过程中如果RST置为低电平,数据传送则会被立即停止,芯片的IO引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。IO为串行数据输入输出端(双向),SCLK则是输入端10。2.3.5A44EA44E属于开关型的霍尔器件,其工作电压范围比较宽(4.518V),其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高测频率可达到1MHZ。集成开关型霍尔传感器原理如图2.6所示。基于单片机的出租车计价器设计第8页共40页ABDCEOUTVCCGNDV0V120101520释放点(off)工作点(on)BmT图2.6集成开关型霍耳传感器原理图A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成11。在输入端输入电压VCC,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差HV输出,该HV信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点.(即OPB)时,触发器输出高电压(相对于地电位)使三极管导通,此时OC门输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到释放点(即rPB)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为“关”。这样两次电压变换,使霍耳开关完成了一次开关动作12。2.3.6AT24C02掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其引脚功能:基于单片机的出租车计价器设计第9页共40页串行时钟信号引脚(SCL):在SCL输入时钟信号的上升沿将数据送入EEPROM器件并在时钟的下降沿将数据读出。串行数据输入输出引脚(SDA):SDA引脚可实现双向串行数据传输。该引脚为开漏输出,可与其它多个开漏输出器件或开集电极器件线或连接。器件页地址脚(A2A1A0):A2、A1和A0引脚为24C01与24C02的硬件连接的器件地址输入引脚。24C01在一个总线上最多可寻址八个1K器件,24C02在一个总线上最多可寻址八个2K器件,A2、A1和A0内部必须连接。24C04仅使用A2、A1作为硬件连接的器件地址输入引脚,在一个总线上最多可寻址四个4K器件。A0引脚内部未连接。其电路如图2.7所示。图2.7AT24C02引脚图由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用13。AT24C02的存储容量为2Kb,内容分成32页,每页8B,共256B,操作时有两种寻址方式:芯片寻址和片内子地址寻址。(1)芯片寻址:AT24C02的芯片地址为1010,其地址控制字格式为1010A2A1A0RW。其中A2,A1,A0可编程地址选择位。A2,A1,A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。RW为芯片读写控制位,该位为0,表示芯片进行写操作。(2)片内子地址寻址:芯片寻址可对内部256B中的任一个进行读写操作,其寻址范围为00FF,共256个寻址单位。基于单片机的出租车计价器设计第10页共40页2.3.774LS13874LS138芯片是常用的3-8线译码器,LS是TTL的,他的COMS版本叫74HC138。常用在单片机和数字电路的译码电路中。其封装如图2.9:图2.974LS138引脚图74LS138有3个附加控制端S1S2和S3。当S1=1,S2+S3=0时,Gs输出为高电平,译码器处于工作状态。否则译码器被禁止,所有的输出端被锁存在高电平,如表2.1:表表2.174LS138真值表真值表三八译码器真值表输入端输出端A0A1A2Y0Y1Y2Y3Y4Y5Y6Y70001000000000101000000010001000000110001000010000001000101000001001100000001011100000001这三个控制端也被称为“片选”输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能。基于单片机的出租车计价器设计第11页共40页3硬件电路设计3.1CPU模块该模块主要包括系统初始化、里程的识别和费率的计算及各种功能模块的的组织和管理等。主程序模块在系统中起着重要的作用。鉴于单片机的端口特性不同,拟将P0口、P2口作为数据输出口,接到数码管;P1用作存储器数据读写端口;P3口作为控制和霍尔传感器信号输入端口。最小系统如图3.1:图3.1AT89S5最小系统模块由于单片机采用经过整流滤波之后的汽车用12V电源,外接的12M晶振来为单片机提供时钟源。由于计价器的工作环境比较差,它要求有抗振动、抗高低温、抗潮湿、抗电磁干扰等能力,特别是电源方面的干扰,如出租车启动时,发动机打火、电瓶充电等造成输入计价器的+12V电源不稳定。因此采用+12V电瓶电源经过滤波和电源稳压管理芯片7805后得到+5V的稳定电压输出,基于单片机的出租车计价器设计第12页共40页保证整个系统能够正常工作,电路如图3.2所示。图3.2电源电路3.2路程测量部分里程测量是通过安装在车轮上的霍尔传感器A44E检测到的信号,由单片机处理之后显示到LED上的。其原理如图3.3所示。车轮磁铁霍尔传感器单片机AT89S52P3.3口图3.3A44E传感器工作原理图在霍尔电势发生器的两端加上电压VCC后,根据霍耳效应原理,当霍耳片处在磁场中时,霍尔传感器的输出端输出低电平。当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集。车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉计数。通过计算将脉冲基于单片机的出租车计价器设计第13页共40页增加体现在金额和里程上。出租车中从霍尔传感器中得到标准的脉冲信号送入单片机的P3.3引脚,利用单片机的T1的计数功能完成1000次的计数后产生一中断来完成路程的测量14。费用计算功能:费用计算包括两部分:起步费、行使费。(1)起步费用白天6元晚上7元;(2)行使费用1.6公里;设车轮周长为1m,则霍尔传感器每产生1000个脉冲便表示车已行程1km。我们选择了P3.3口作为信号的输入端,内部采用外部中断1,车轮每转一圈(我们设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动的增加,其计算公式:当前单价公里数=金额。3.3数据显示部分设计要求有单价(2位)、总金额(4位)显示输出,时钟显示(包含时分秒的显示),若是采用LCD液晶显示,则在光线较强时不能看清数据,也就不能满足要求。考虑到共阴数码管较为常见,因此我们采用8位LED数码管来显示。单片机的P0口不能输出高电平,因此需在P0口接8个上拉电阻,以满足数码管的工作条件。数码管显示电路如图3.4:图3.4显示原理图基于单片机的出租车计价器设计第14页共40页3.5时钟部分DS1302控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。采用双电源供电,在断电的情况下由干电池组供电,可维持芯片的正常工作15。电路如图3.5所示。图3.5时钟芯片电路图3.6掉电存储电路AT24C02采用的是I2C总线式串行器件。串行器件不仅占有很少的系统资源和IO线,而且体积也大大缩小。在I2C总线上传送信息是的时钟同步信号是有挂接在SCL时钟线上的所有器件的逻辑与完成的。SCL线上有高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平。在数据传送过程中,必须确认数据传送的开始和结束。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“开始”信号,起始状态应处于任何其他命令之前16;当SCL线处于高电平时,SDA线发生低电平到高电平的跳变为“结束”信号。器件将处于备用方式(StandbyMODE).开始和结束信号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信基于单片机的出租车计价器设计第15页共40页号以后的一段时间内,总线被认为是空闲的。I2C总线的数据传送格式是:在I2C总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(RW)读写控制。方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8位(RW)确定17。在I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个应答位(ACK)ACK信号在第9个时钟周期时出现。每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收I2C总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释放SCL线,主器件继续传送18。AT24C02连接如图3.6:图3.6掉电存储单元3.7按键部分电路按键部分采用一个拨动式按键和四个按钮式按键组成,按键一端连接单片机,另一端接地。当某一按键被按下时,对应的端口电平就被拉低。因此只需检测单片机个端口的电压是否为低电平,就能判断是哪个按键被按下。按键电路如图3.7所示:基于单片机的出租车计价器设计第16页共40页图3.7按键控制单元3.8章节总结本章主要介绍出租车计价器的硬件电路设计,各个部分的电路已经列出。众所周知单片机的灵活性极大,因此硬件电路设计出来之后仍然可以根据具体需求更改软件部分的设计以实现新的功能。软件设计在单片系统的设计中占了很大的比重,本论文的软件设计将在下一章中详细介绍。基于单片机的出租车计价器设计第17页共40页4系统软件设计4.1主程序设计在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。当空车信号灯打下时,表示有乘客上车,并启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价和起价来计算出当前的累计价格,并将结果存于价格寄存器中,然后将当前时间和累计价格送到LED显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。司机把空车灯打上,就停止计价,显示当前所应该付的金额和对应的单价,等乘客下车后,启动出租车,计价器检测到传感器的脉冲信号,系统自动对显示清零,并重新进行初始化过程,完成1次计价。程序流程图如4.1:基于单片机的出租车计价器设计第18页共40页芯片初始化是白天么?白天价格夜晚价格是否有乘客起步价内?显示价格读取时钟是否下车YYN读取价格YNN图4.1主程序流程图4.2里程计数中断服务程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,里程计数器T1对里程脉冲计满1000次时,就完成当前行驶里程数的累加操作,并将结果存入基于单片机的出租车计价器设计第19页共40页里程寄存器中。其程序流程如图4.2所示。里程中断入口计数值1000S0是否按下返回启动T1计数YYNN里程数加一图4.2里程计数流程图4.3仿真结果比较了几种常见的电子集成仿真软件之后,本文选定了Proteus这一种常见的,便于仿真的软件来模拟设计结果。4.3.1仿真软件ProteusProteus软件是来自英国Labcenterelectronics公司的EDA工具软件,它组合了高级原理布图、混合模式SPICE仿真PCB设计以及自动布线来实现一个完整的电子设计系统19。此系统受益于15年来的持续开发被电子世界在基于单片机的出租车计价器设计第20页共40页其对PCB设计系统的比较文章中评为最好产品“TheRoutetoPCBCAD”。Proteus产品系列也包含了我们革命性的VSM技术用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LEDLCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。4.3.2Proteus界面介绍ProteusISIS的工作界面是一种标准的Windows界面,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口8。如图4.4:图4.3Proteus窗口界面图4.3.3Proteus仿真结果仿真结果基本符合设计的目标:在空车的情况下,数码管显示为当前的时间。在按下空车灯的时候,数码管显示为当前的金额和单价。仿真效果如图4.5:基于单片机的出租车计价器设计第21页共40页图4.4仿真结果图基于单片机的出租车计价器设计第22页共40页5总结由于使用的是AT89S52单片机作为核心的控制元件,灵敏的霍尔开关型器件A44E霍尔传感器,使本出租车计价器具有功能强、性能可靠、电路简单、成本低实用性强等特点。加上经过优化的程序,使其有很高的智能化水平。但是在我们设计和调试的过程中,也发现了一些问题,譬如计价的金额位数有限,实际的里程可能会很远,会超出我们的显示范围。虽然AT89S52单片机抗干扰能力不如PLC,但是PLC价格较贵,不符合以经济为主的设计原则,虽然有上述种种的不足。但是用单片机运行效果仍然令人满意,同时也证明了本方案的正确性。本款出租车计价器的设计还不够人性化,比如本次设计按键方面还可以运用8279芯片控制,使其具有更高的控制运行功能。8279是专用键盘、显示控制芯片,能对显示器进行自动扫描;能识别键盘上键的符号;可充分提高CPU的工作效率。另外还可以加上语音的提示功能和自动打印票据功能等,这样以单片为核心设计的出租车计价器会更加有生命力,以符合当代社会的服务标准。总的来说,本系统工艺设计比较合理,控制方案选择恰当,硬件设计、软件设计都基本符合要求。基于单片机的出租车计价器设计第23页共40页参考文献1.吴承琦,孙培生.出租汽车计价器发展历程回顾、感悟及展望R.北京.中国计量2008年03期2.孙培生等编著.出租汽车计价器M.北京中国计量出版社3.NFlaherty.The8-bitMCUisDeadLongLive8-bitMCU.Electronicsworld2005111:18-304.孙育才.单片微型计算机及其应用M.江苏东南大学出版社5.张平川许兴广.基于单片机电热水器模糊控制系统设计J.微计算机信息2007(32):145-1466.李群芳,张士军,黄建单片微型计算机与接口技术M北京电子工业出版社,2008.5:97-101.7.张小虎刘洁.基于单片机的出租车计价器编码传感器的设计J.自动化技术与应用200524(10):1-38.陈伟宏肖卫初邱飚.基于Proteus的多功能出租车计价器设计.重庆工学院学报(自然科学版)200923(6)9.邱淑贤.霍尔式汽车车速传感器检测系统.长春工业大学学报(科学版)201031(3)10.徐莹邹德君.车速传感器采集信号处理电路的设计.辽宁省交通高等专科学校学报20079(3)11.阎石.数字电子技术基础M.高等教育出版社2006.5中国新技术新产品12.宋青权伟龙齐新元.开关型霍尔传感器的原理与工程实现J.物理实验200313.余永权.ATMEL89系列单片机应用技术M.北京:北京航空航天大学出版社200214.苏凯刘国庆.陈国平编著.MCS-51系列单片机系统原理与设计M.北京冶金工业出版社200315.潘新民王燕芳编著.微型计算机控制技术M.北京:电子工业出版社2003基于单片机的出租车计价器设计第24页共40页16.罗亚非.凌阳16位单片机应用基础M.北京:北京航空航天大学出版社200317.陈赜.ARM嵌入式技术实践教程M.北京:北京航空航天大学出版社200518.张小虎刘洁.基于单片机的出租车计价器编码传感器的设计J.自动化技术与应用200524(10):1-319.S.S.BEDAIR.Amultichannelelectronicdigitaltaximeterthatcandealwithmorethanonepassengersimultaneously.VehicularTechnologyConference1987.37:458-463基于单片机的出租车计价器设计第25页共40页致谢为期两个月的毕业设计即将接近尾声,在席老师的亲切指导和同学的帮助下,此次设计才得以完成,在此向所有给予我此次毕业设计指导和帮助的老师和同学表示最诚挚的感谢。首先,向本设计的指导老师席燕辉老师表示最诚挚的谢意。在自己紧张的工作中,仍然尽量抽出时间对我们进行指导,时刻关心我们的进展状况,督促我们抓紧学习。席老师给予的帮助贯串于设计的完全过程,从借阅参考资料到现场的实际操作,她都给予了指导,不仅使我学会运用书本中的知识,更学会了学习操作方法。也懂得了如何把握设计重点,如何合理安排时间和论文的编写,同时在毕业设计过程中,她和我们在一起共同解决了设备出现的各种问题。其次,要向给予此次毕业设计帮助的老师们,以及同学们以诚挚的谢意,在整个设计过程中,他们也给我很多帮助和无私的关怀,更重要的是为我们提供不少技术方面的资料,在此感谢他们,没有这些资料就不是一个完整的论文。另外,也向给予我帮助的所有同学表示感谢。总之,我的设计是老师和同学共同完成的结果,在设计的两个月里,我们合作的非常愉快,教会了我许多道理,是我人生的一笔财富,我再次向给予我帮助的席老师和同学表示感谢!基于单片机的出租车计价器设计第26页共40页附录A系统总原理图基于单片机的出租车计价器设计第27页共40页附录B各部分程序显示部分子函数:#include#includesbitLS138A=P22sbitLS138B=P23sbitLS138C=P24unsignedcharLedVal=1210261035

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论