基于单片机的出租车计价器的设计_第1页
基于单片机的出租车计价器的设计_第2页
基于单片机的出租车计价器的设计_第3页
基于单片机的出租车计价器的设计_第4页
基于单片机的出租车计价器的设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

0基于单片机的出租车计价器的设计【摘要】:本次毕业设计用的核心芯片是单片机AT89C51,计算路程长度用的芯片为A44E霍尔传感器测距。因为该芯片需要实际测量到车轮的旋转周数,所以在本次设计中采用按键。采用AT24C02实现在系统掉电的时候保存单价,利用74LS245增强发光数码管的发光强度。显示部分采用的是发光数码管。按键部分有开始计价、加价、减价、白天和黑夜价格的转换、清零等。单价、起步路程、起步价格这些数据都是按照常州的价格来定事先在程序中写好。【关键词】:出租车计价器,单片机AT89C51,AT24C02掉电保存1Abstract:ThisgraduatedesignusesthecorechipSingleChipMicrocomputerAT89C51.ThechipofcalculatethepathlengthisA44Ehallsensormeasuringrange.Becausethechipneedactuallymeasuretherotationweeksofthewheel,thisdesignusesbuttons.Whensystempower-fail,itusesAT24C02torealizekeepingunitprice.Ituses74LS245tostrengthentheluminousintensityoftheluminescencedigitaltube.Thedisplaypartadoptstheluminescencedigitaltube.Buttonparthasstartinvoicing,pricemarkup,pricecut,conversionpriceofthedayandnight,zerocleaning,etc.Thesedatasuchasunitprice,startjourney,andstartingpriceareinadvancewritteninprogramaccordingtotheChang-Zhouprice.Keywords:Taximeter;SingleChipMicrocomputerAT89C51;AT24C02power-failsaving2目录前言.2第1章系统方案.3第1.1节毕设背景.3第1.2节设计目的与要求.3第1.3节方案论证与比较.4第二章系统硬件设计.6第2.1节硬件设计条件.6第2.2节AT89C51单片机简介.6第2.3节硬件组成.8第2.4节硬件电路设计.14第三章系统软件设计.15第3.1节软件总体设计.15第3.2节系统程序设计.15第四章系统的软硬件调试.17第4.1节软件调试.17第4.2节硬件电路.18第4.3节硬件检测.18结论.20参考文献.21致谢.22附录.23附录1程序源代码.23附录2电路原理图.34附录3电路实物图.343前言随着物质生活条件的改善,以及人力车逐步淘汰,越来越多的人开始选择价格适中的出租车1。尤其是年轻的朋友短途出行游玩、会见朋友出租车无疑是他们首选的交通工具。当然对于乘客来说人们不会去关心整个出租车的构造,人们更多地还是比较关心它的计价方式,起步路程、起步价格等等2。咱们了解只有出租车启动时,计价器就会跟着路程的增加而增加,就会见到四级右边的计价器路程值在渐渐变大,然而当行驶到一个数值(如3km)时,计价数字开始由起步价(如9元)开始逐渐增加。当乘客抵达车站,按停止按钮,总里程计费的数字和总量,它可以反映用户使用情况3,非常直观。该表反映价值量是一个里程和价格的函数(等待时间正常换算成一定比例关系的里程来计算)4。出租车计价器经过连接传感器后,驱动。通过实际里程计价的脉冲信号转换成一定的驾驶距离5。正是由于这一方面,我们就利用单片机作为核心控制器设计出租车计价器6,拥有计价显示,昼夜价钱变化,公里数显示,增添减价等相关功能7。本次毕业设计主要采用52单片机为主控制器,来实现出租车计价器各项功能的设计,选择AT24C02式存储单元可以实现在系统掉电来保存单价和系统时间等信息8,输出是采用8段LED显示管。仪表的设计,不仅可以实现基本的估值,还可以根据白天和黑夜,以及等待的时间来调整价格。此次的毕业设计过程中,有四个需要解决的关键问题:(1)按键按下的数据如何能在数码管上显示。(2)如何实现増价、减价这些功能。(3)如何实现昼夜计价的切换。(4)主控制器选用普通单片机还是ARM,FPGA。4第1章系统方案第1.1节毕设背景随着物质生活条件的改善,以及人力车逐步淘汰,越来越多的人开始选择价格适中的出租车。尤其是年轻的朋友短途出行游玩、会见朋友出租车无疑是他们首选的交通工具。当然对于乘客来说本人不会去关心整个出租车的构造,本人更多地还是比较关心它的计价方式,起步路程、起步价格等等。咱们了解只有出租车启动时,计价器就会跟着路程的增加而增加,就会见到四级右边的计价器路程值在渐渐变大,然而当行驶到一个数值(如3km)时,计价数字开始由起步价(如9元)开始逐渐增加。当乘客抵达车站,按停止按钮,总里程计费的数字和总量,它可以反映用户使用情况,非常直观。第1.2节设计目的与要求1.2.1设计目的此次毕设是让本人把在大学四年所学的知识综合运用起来,尤其运用到的书本有数字电路、单片机原理与应用、C语言应用程序设计。以及还会熟练地运用各种软件如keilc(主要用来编写代码以及生成HEX文件烧录到单片机中去)、protues(主要是用来画出电路图以及完成电路的仿真)、STC_ISP(通过keilc软件生成的HEX文件烧录到单片机中去)。本次毕设核心运用的还是单片机。1.2.2主要设计内容及基本要求采用AT89C51单片机来完成本次设计,设计一个简单的出租车计价器。计价器的整体设计中主要的外部功能电路有:启动电路、按钮控制电路、掉电保护电路、时钟及数码管显示电路。经过上述各功能的设计,生产出来的出租车计价器应具有以下特点:来电显示均为零,按下启动按钮,开始计费,数码管开始显示起步价和起步金额(此部分价格在程序里面已经写好了);按一下模拟开关按键从而产生一个脉冲信号代表车子已经行驶一千米了,以此来模拟行驶的路程;数码管开始显示所走路程和所给付的金额,并逐渐增大;按下功能按键后显示屏会显示功能标志位“1”,待显示功能标识位“1”后,按下増价/减价按键单价会增加/减少1元;按下夜晚/白天转换按键,就会切换白天和夜晚的起步价格9/12元;按下停止按钮,它就会停止计价,总金额为数字显示,并提供所需5的用户移动的总距离,按下复位键,数码管显示全为零,以方便下一次计算。第1.3节方案论证与比较出租车计价器是出租车上专用的仪器,随着技术的发展,计价器越来越先进了,不仅只有单纯的计价功能,还能具备更多的智能化功能。国内出租车计价器现在已经经历了四个阶段,从传统的机械式,到半电子式。乘客关注的问题是出租车计价器是否准确,是否超速之类的,而准确的仪表数据和营销管理则是司机们关心的,如何让整体规划,未来会给我们答案。解决方案一:数字电路控制。如图1-1所示为原理图。使用传感器,输出脉冲信号由整形,作为移位寄存器的脉冲,以实现定价。金额显示路程显示里程传感器单价显示移位寄存器电路图1-1系统结构图考虑到像这种电路过于简单单一,性能还不算稳定,而且不能够调节单价,也不能根据天气的变化而调节计费标准,电路不够实用。规模更大的整体电路,使用的设备,故障率高,难调试,需要使用机械开关的开关模式,很长一段时间的机械开关会造成接触不良,功能不易实现。解决方案二:采用单片机进行的,相对来说功能强大,使用较少的硬件和相应的软件可以很容易的互相配合,达到了设计要求,和灵活性,也可以通过软件编程完成更多的附加功能。设计采用AT89C51单片机为主控器,以按键按下为车子行驶一公里且给单片机发送一个脉冲,实现对出租车的基本的计价设计,并且使用AT24C02掉电时保存信息的功能,使用6个8段数码管输出。丰富的端口,和灵活的控制,完成计费功能的实现。系统结构图如图1-2:6按键控制AT89C51复位电路掉电保护时钟电路显示模块显示里程和总金额图1-2系统结构图7第二章系统硬件设计第2.1节硬件设计条件单片微型计算机简称单片机,是一种典型的嵌入式微控制器(MicrocontrollerUnit),英文字母MCU通常就表示单片机,它最早是被用在工业控制领域。一种集成电路芯片,巨大规模集成电路技术把中央处理器CPU随机存取存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器、计时器等功能(包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)都集成到一个单一的硅芯片上,从而形成一个不仅小还很完善的计算机系统。当前单片机已经触及到我们平常生活的各个方面,利用微控制器的到处都是。在本次毕设中,本人用到P0口和P2口,P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;P2口为8位准双向口,与地址总线高八位复用;P0口和P2口都有一定的驱动能力,P2口的驱动能力较强。在设计过程中,为了正常显示数字,我选择驱动电路来驱动。在这种硬件设计过程中,我考虑用74LS245芯片来驱动数码管显示。电路的设计,考虑到距离(霍尔)传感器是昂贵的,而且不容易测试,使用模拟开关取代设计。模拟开关一端与P3.4口相接,另一端通过来回的转换高低电平,按一次起到消抖的作用,按第二次,对应的里程数加一。使用在程序中设置的信息数量,再加上驱动电路设计的里程数和金额,可以显示总数和行驶里程的总量数字。在显示方面,可以用液晶显示,也可以用数码管进行显示。由于这次显示比较简单只要求显示总的路程和总的价格所以本人就采用数码管显示。这样既节约了成本,又可方便编写程序。于此同时,为了减少硬件的难度,我选用了动态显示的方式,使用的是共阴极数码管显示。本次毕业设计中本人目前手上有六个共阴极八段显示数码管,本人只需要把他们各自的abcdefg管脚焊接在一起就可以了。我还设计了能很好的控制出租车计价器的控制按键,,譬如开始/停止按键、复位按键、日夜转换按键、加价键和减价键等控制按键。第2.2节AT89C51单片机简介AT89C51是美国ATMEL公司生产的低功耗、高性能的CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用了ATMEL公司的高密度、非易失性存储8技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89C51单片机可灵活应用于各种控制领域!如下图2-1及2-2所示。AT89C51使用经典的MCS-51内核,但52单片机拥有51单片机不具备的功能。在一个单芯片上,8位CPU具有智能和在系统可编程Flash,使得AT89C51为许多嵌入式控制应用提供高度灵活、超有效的解决方案。图2-1AT89C51引脚图图2-2AT89C51封装图AT89C51单片机的引脚功能描述:VCC(40引脚):电源电压。VSS(20引脚):接地。RST(9引脚):复位输入。高电平有效。加上这两个机器周期的高电平在这个引脚时,就可以实现复位操作。ALE/(30引脚):地址锁存控制信号(ALE)在访问外部程序存储器时,锁存低8位地址的输出脉冲。(29引脚):外部程序存储器的选通信号()是外部程序存储器的选通信号。/VPP(31引脚):访问外部程序存储器控制信号。RXD:串行输入口。TXD:串行输出口。XTAL1(19引脚):振荡器反相放大器和里面时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。9P1.0:接开始/停止按键,计费控制。P1.1:接功能键。P1.2:加价功能键。P1.3:减价功能键。P1.4:白天/黑夜切换键。P1.5:清零按键。P0口连接数码管续端,P2口连接到驱动芯片上。P3.4(T0):接到模拟开关按键,取代霍尔传感器的计价。P3.1、P3.0口接到电路具有掉电保护功能的电路上。第2.3节硬件组成电路的硬件配置主要包括有:驱动电路、显示电路、复位电路、掉电保护电路、时钟电路、按键电路。2.3.1驱动电路74LS245是经常使用在我们实验课程设计中的芯片,或用于驱动led或者其他设备,它是8路同相三态双向总线收发器,双向数据传输。74LS245还具有双向三态功能,它可以被输出,并且能输入数据。当遇到51单片机的P0口总线负载达到或者高出最大负载能力的情况时,我们必需要接入像74LS245等的总线驱动器。当片选端/CE的低电平有效的时候,DIR等于0,信号从B到A;(接收)DIR等于1,信号从A到B传输;(发送)当CE为高,A、B为高阻状态。因为总有P2口输出地址的高8位,接口时74LS245的三态控制端1G和2G接到地面上,P2口和相应的输入线连接到驱动器上。P0口连接到74LS245的输入端,E端接地,以确保数据线的畅通。单片机的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。/CE低电平有效时,DIR等于“0”,由B向A传输信号;(接收)。DIR等于“1”,由A向B传输信号;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。引脚图如图2-3所示:10图2-3驱动芯片管脚图2.3.2显示电路大多数的应用系统,必须配备的输入和输出外设,LED显示器和液晶显示器,液晶显示效果良好,已成为一种发展趋势。但为了节约成本加之本人身边正好有现成的八段显示数码管以及编程的方便,本人选用了LED显示器如图2-4所示。在显示方面,本人选用了动态显示。虽然静态显示亮度高,界面编程容易,但是每位的段码线分别与一个8位的锁存器输出相连,导致I/O口线就比较多,所以当显示更多的位数的时候,正常我们都选用动态显示的方式。动态显示的方法,由于LED显示器的持久性和人眼的视觉暂留性,只要每个显示之间的时间间隔足够短,你就仍然感受到所有的数码管上的显示。为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,同时,仅让一位选通,如此循环,就可以使各位显示出将要显示的字符。图2-4LED数码管图2-5集成数码管LED数码有共阳和共阴两种,把这些个LED发光二极管的正极点都接在一起(通常构成了一个组合的8字再加一个小数点)而作为一个引脚,就叫共阳,共阴的则与之相反,那么应用时这个脚就分别的接在VCC和GND上。将多个像这样的8字形的装在一起就组11成了多位的数码显示管了。在本次设计仿真中使用的是6个一组的共阴8段数码管,图2-5所示。怎样去找公共共阴和公共共阳:一开始本人找一个电源|稳压器(3到5伏)和1个1K或几百欧的电阻,将VCC串接到电阻后和GND接在任意2个脚上,这样的组合有很多种,但总有一个LED灯会发光的,找到一个就行了,然后接地不动,VCC(串联电阻)一个个碰一下剩下的脚,如果有一个以上的LED(一般是8个),那它就是共阴的了。共阴极数码管,阴极接地,当一个发光二极管的阳极为高电平,LED灯,相应段显示。2.3.3复位电路单片机复位电路类似于电脑的重启部分,如果电脑出现死机了在使用的过程中,按下重新启动按钮,计算机内部的程序就会从头开始执行。单片机也是如此,当单片机系统在运行中,受到环境干扰程序出现跑飞的时候,按下复位按钮内部的程序将自动从头开始执行。一般都需要复位,计算机在启动运行时,从而使中央处理器CPU和系统中的其它组件是在一个确定的初始状态,并开始从这个状态工作。单片机AT89C51有一个复位引脚RST,它是一个施密特触发输入,当振荡器起振后,该引脚上出现两个机器周期(即24个时钟周期)以上的高电平。只要RST保持高电平,就会使器件复位,MCS-51保持复位状态。ALE,P0,P1,P2,P3口都输出高电平。RST变为低电平后退出复位,CPU开始从初始状态工作。内部寄存器复位后的初始状态为(SP=07),P0,P1,P2,P3为0FFH外,其它寄存器都为0。复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外还需要按键手动复位如图2-6所示。按键手动复位有电平方式和脉冲方式两种。水平的降低是通过该电阻的第一端接通和VCC电源和实现。图2-6复位电路122.3.4掉电保护电路掉电保护电路选定存储芯片AT24C02。掉电存储单元用于当电源关闭时保存当时设定的单价信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以达到2.5V,额定电流为1mA,芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。下图2-7是AT24C02的引脚图,这个芯片是一个8脚芯片,在内部存储器有256字节图2-7AT24C02引脚图功能描述:AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何数据接收装置接收到从总线。数据传输是一个停止信号产生串行时钟和所有启动主设备控制。主设备和从设备可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。管脚描述:表2-1AT24C02应用数据表管脚名称功能A0A1A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护VCC+1.8V6.0V工作电压VSS地SCL串行时钟:AT24C02串行时钟输入管脚,用于产生发送或接收的时钟,这是一个输入管脚的所有数据的装置。13SDA串行数据/地址;AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。A0、A1、A2器件地址输入:作为多个器件的输入引脚的级联是用来设置设备地址,当输入引脚悬空时默认值为0。当利用AT24C02时最多八个器件可以级联。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2)可悬空或连接到VSS,如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2)必须连接到VSS。WP写保护:如果在WP管脚连接到VCC,所有的内容都是写保护的只读。当WP管脚连接到VSS或悬空允许器件进行正常的读/写操作。本次毕设采用的掉电存储电路图如图2-8所示:图2-8掉电存储电路2.3.5时钟电路时钟电路就像一台电脑,大心脏,它控制着计算机的工作节奏。单片机STC89C52的因型号不同其允许的时钟频率也会不同的,典型值为12MHZ,单片机AT89C51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。定时反馈电路一般为石英晶振和电容组成的并联回路。如果振荡器产生振动,输出3V正弦波围绕XTAL2引脚。在设计过程中采用振荡电路,是由12MHZ晶体振荡器和两个约30PF的电容构成,XTAL1和XTAL2分别连接在晶体上,电容的大小不影响振荡频率。在整个系统中提供了对系统各个部分的参考频率,为了防止不稳定的频率所造成的工作频率相关设备,晶体可以在电路中产生震荡电流,时钟信号。电路图如图2-9所示:14图2-9时钟电路2.3.6按键电路按键控制电路中,单片机的P1.0管脚接启动/停止按键,经过软件编程,当按下按键计数器开始计价,并且它同时也是白天工作按键按下后显示屏显示白天的价格和起步路程;当弹出按钮,计数器停止工作,停止计费。按下启动按键,开关处于导通状态,这时给P1.0送低电平信号,这时TR0=1,计数器开始工作,调用计价子程序开始计价;功能键,控制价格调整,这个按键是在没有按下启动/停止按键时有作用,计价过程中无效。按下之后显示屏显示标志位“1”,即提示此时各种功能起效,否则无效;加价/减价按键,此按键必须在功能标志位为“1”时才有用,实际上此两键的实现方法是在程序里面定义一个标志位,每按一次就自增/自减1;夜晚功能键,按下之后显示屏显示的是晚上的起步价,此部分功能的实现是在程序里面写好夜晚功能子程序,按键按下就调用;清零按键连接到单片机的P1.3管脚,按下清零按键,P1.3为低电平,调用清零子程序,用于将显示数据清零,在程序中给各位赋0代码(0x3f),以达到清零的目的,方便下次计价。电路图如图2-10所示:图2-10按键电路15第2.4节硬件电路设计如下图2-3所示是通过在KeilC中编译通过,并生成Hex文件,整个硬件原理图在PROTEUS中仿真:(首先是不按下开始按钮,所有的数据都是零)图2-3接电原理图按下启动按钮,显示在常州和常州的出租车起步价和起步里程范围,这些在程序中已经写好了;当行使路程大于等于三公里路程时,按计算总价的公式为:总价=起步价+单价*(总里程-起步里程)+1(燃油费用)。本设计中,起步价为9元,起步里程为3公里,以满足不同时期价格调整的需要。电路原理图如下图2-4所示:图2-4白天价格显示图16第三章系统软件设计第3.1节软件总体设计单片机的程序设计主要分为:汇编,C语言两种。两种程序设计语言都有各有各的优点。汇编语言编写和C语言相比,用汇编语言节省更多的空间,所以存储空间非常小的芯片是非常有益的,使得51单片机可以高速的运转。C语言编写的程序,虽然不像汇编那样速度快、但程序简单易行、并且需要较小的存储空间。C语言作为一种编译型程序设计语言,它兼顾了多种高级语言的特点,并且具备汇编语言的功能。此外C语言程序还具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此单片机的程序设计中使用C语言已经成为主流。第3.2节系统程序设计使用这种设计各个模块之间相互连接的方式,主程序调用各个子程序的方式,以总体设计程序流程图。在主程序模块中,需要对各接口的芯片完成初始化、出租车起步价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。此外,在主程序模块中还需要设置许多寄存器譬如:启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们初始化。然后,主程序将基于各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。当信号灯打下时,表示有乘客上车,并开始计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起步价公里数。如果已经超过,则根据里程值、每公里的单价和起步价来计算出当前的总价格,并将结果存于价格寄存器中,然后将当前时间和累计价格送到LED显示电路显示出来。当中途塞车(等待或低速行驶)时,在一定时间内没有检测到传感器的脉冲信号就启动T0定时器进行计时,当超过规定的等待时间后,计价器就根据等待价格进行当前金额的累加与显示,并在计价器上显示等待时间;当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统将自动对显示进行清零操作,并重新进行初始化过程。启动出租车,计价器检测到传感器的脉冲信号,系统自动对显示清零,并重新进行初始化过程,完成一次计价。如图3-1所示:17初始化开始显示判断切换昼夜模式判断是否进入调价模式进入调价模式判断是否开始计费调用计费子程序判断是否停止键按下结果显示清显示单价复位NYNYYN白天夜晚图3-1系统程序流程图18第四章系统的软硬件调试根据系统的设计方案,本系统的调试分为三个部分:硬件调试,软件调试和硬件和硬件的联调。测试包括里程计价测试。硬件调试的任务是消除焊接电路故障。软件调试是利用开发工具进行在线仿真调试联调就是电路板子焊接好了以后把程序下载到单片机中进行调试。软硬件调试的一般过程如图4-1所示:系统调试硬件调试软件调试系统联调现场调试调试结束图4-1系统调试流程图系统调试的一般过程是上电运行后观察其运行状态,数码管是否点亮等。软件调试先是各个模块、各个子程序分别调试,最后进行系统联机调试。第4.1节软件调试4.1.1程序调试工具KEIL本设计的软件都是在KeilVision7.5上进行编写,编译,调试以及运行操作。4.1.2单片机仿真软件在线调试PROTEUS1.打开Proteus软件。2.选择file菜单下的opendesign选项,找到所需的元器件,如果不知道元器件在哪LIbrary下的picksympol然后输入元器件的英文,例如需要找一个电容,即可在此方法下面输入“cap”,实在不知道某些芯片的代码可以在网上查询。元器件找全之后利用“导线”将他们分别连起来,连起来之后按下仿真按钮即屏幕左下角第一个如图4-1所示19图4-2按键图图4-3编译无误图如若出现如图4-2则说明编译无误,可以进一步测试。3.将用keil编译产生的HEX文件下载到单片机中:双击52单片机,在对话框中把保存过的HEX文件打开,再单击确定。4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。如图4-4所示为软件仿真窗口图图4-4软件仿真窗口图第4.2节硬件电路硬件调试主要分成两大块:上电前的调试和上电后的调试。4.2.1上电前的调试在上电前,必须确保断路或断路的条件不在电路中存在,本次的工作是在调试工作的第一步,这一步是很重要的。在这局部调试中主要使用的工具是万用表,用来检测电路中是否存在断路或者短路情况等。万用表测试过后,没有发现断路和开路的地方,那么该电路正常。4.2.2上电后的调试在保证硬件电路正常,没有异常情况(断路或短路)才可以上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确。20第4.3节硬件检测设计过程中,硬件和软件的测试是不可忽视的检测,因为在系统仿真过程中,每个元件都是理想的,但在实际电路设计中,我们需要考虑各方面的,元件的检测要放在第一位,然后进行调试。举例来说,如果你没有在设计中添加任何驱动程序,仿真软件仍处于正常的定价,但在具体的硬件焊接,需要考虑电路的驱动能力。在已经焊接良好的电路板上,必须进行各部件的检查,一般情况下,集成电路的故障不会发生。在本设计中采用了先焊接后插槽的方法,可以避免一些元件在焊接的过程中烧坏。此外在焊接数码管时候,一先排线,二再焊接以免造成线路混乱。在购买元件的时时候,要多备选,因为元件的型号比较多,产品质量没有可靠的保证,就避免不了本人买的元器件是损坏的,再加上焊接是在万能板上焊接的。就有可能发生虚焊,短路等情况的,所以,在焊接好每个元件后都要进行检测,以保证焊接无误。焊接好电路板之后,把相应的芯片插到对应的插槽中,再检一次,看是否与插槽接触良好。驱动部分是检查74LS245与数码管和单片机接触的各个引脚,看是否焊接良好,另外要让芯片和插座有良好的接触。显示部分的测试是看数码管是否能够正常显示。如果不该亮的字段点亮,检测是否有短路的情况;如果数码管不显示,说明位选端可能没有焊好;如果显示器不够亮的话,则应该检查驱动电路。晶振部分使用示波器查看波形。如果出现看不到12MHz的正弦波形的现象,说明此部分电路不正常。21结论在本次设计中采用AT89C51芯片为核心器件,利用AT24C02芯片把原先写好的出租车基本计价器的数据如起步价格、每公里单价、起步路程以及燃油补贴费等等保存下来。因为本次设计采用的是将6个八段显示数码管把公共端连接在一起,所以需要很高的电压来驱动而单片机所能承受的电压是一定的,故此就利用了单项数据缓冲器74LS245来驱动数码管显示。在技术指标方面此次毕设最高显示的价格为9999元超过指标即清零,低于此指标就为9元。在软件方面设置了加价功能和减价功能、昼夜切换功能。这次设计中本人学到了很多,遇到问题的时候不能第一就是去问别人,求助老师而是先看自己能不能通过自己独立去解决比如查资料,上网搜索材料。1、在本次的毕业设计过程中,四个需要解决的关键问题都得到了解决:1.按键按下代表车行驶了一公里,先在程序中设置一个路程标志位每按一次按钮即把此标志位自加“1”,然后把这些数据放入数组里面送到数码管显示。2.增价/减价功能就是在程序里面设置一个价格变量每按一次就自加自减一次,当然价格不能小于零,一旦小于零就把它设置为起始单价。3.昼/夜价格切换主要是在程序里面设置一个变量按下按键后就把原先白天起步价改为夜晚价格。4.由于普通单片机程序简单,而且符合设计要求,所以主控制器选用了普通单片机。2、此次设计还存在一些不足之处,电路还可以更深一层的进行扩展。比如:1.没有使用霍尔传感器来测量车行使的路程长度。2.当乘客下车付价钱时没有使用语音报表功能。22参考文献1.张林生如何成为单片机开发高手J杭州电子工业学院学报,2001,5(17):54-552.陈宇可编程控制器基础及编程技巧M广州:华南理工大学出版社,20093.张友德,赵志英,涂时亮单片机原理、应用与实验M上海:复旦大学出版社,20034.陈富安单片机与可编程控制器应用技术M北京:电子工业出版社,20055.王晓君,安国臣MCS-51及兼容单片机原理与选型M北京:电子工业出版社,20036.梁晓雯电子系统设计基础M北京:中国科学技术大学出版社,20087.赵晶主电路设计与制版J电子产品世界,2000,2(13):12-348.刘洁单片机典型模块设计J武汉科技学院学报,2004,11(23):34-589.EuropeanTelecommunicationsStandardsInstituteJconductors,2007,70(5):10-1210.DallasCorpDS18B20ProgrammableResolutionOneWareDigitaJconductors,2001,76(6):176-18711.TapanesEFibreopticsensingsolutionsforrealtimepipelineintegritymonitoringJTheAustralianPipe21liner,2006,20(4):58-6412.马忠梅单片机的C语言应用程序设计J微电子技术,2003,25(12):174-18913.谢剑英微型计算机控制技术J通信技术,2001,18(53):78-9214.阎石数字电子技术基础M北京:高等教育出版社,200715.张小虎基于单片机的出租车计价器编码传感器的设计J微电子技术,2005,24(10):1-323致谢接近一个学期的毕业设计将要进至尾声,回头理一理这一个学期的毕业设计,可以说是对我自己四年所学知识与技能的一次系统性的总结和应用。设计不仅需要我有扎实的理论基础,也需要有较强的动手能力,善于发现问题,分析问题,解决问题的思维能力。同时,一个学期的毕业设计也是我们即将进入工作岗位的一种岗前培训或者可以说是热身赛亦或可以说是对自身水平的一次考验和检测。经过这一次设计,让我对自身的技能水平和理论基础有了一个全面的,客观的了解和评价。在这一个学期的毕业设计过程中,尽管是困难重重被各种各样的难题阻塞。但本人还是通过自身的努力终而还是可以从中获得了很多很多。从初期总体设计到最终的成品,从组装到最后的总调成功,本人学到的知识比课堂上学到的要多很多!由此说明了理论基础和实践的重要性,理论和实践是相互离不开的,只有扎实的理论基础才可以为实践所服务,同时通过实践才能更好的掌握好和运用好所学的理论知识。当然,在整个设计的过程中我不可避免地碰到了很多问题,为了能够使问题得到及时的解决,本人查阅了大量的资料,积极的询问同学,请教指导老师。尤其是在论文方面我们的毕设指导魏老师给予我太多的指导,经常通过邮件和面谈的方式进行论文的探讨。因此,本人要特别感谢本次毕业设计的指导老师魏老师,感谢他对本人本次设计的悉心指导和大力支持!本人再次感谢学校和老师给了本人这次实践锻炼的机会,让我明白实践与理论的关系,同时也感谢同学的帮助,为此本人将尽最大的努力,并以最好的心态来回报社会,让自己学的服务社会。24附录:中英文文献翻译名称出租车计价器25附录1程序源代码#include/#include#include#defineucharunsignedchar#defineuintunsignedintintxscode6=0x3f,0x06,0x5b,0x4f,0x66,0x6d;/显示存储区intzxscode6=0x1f,0x2f,0x37,0x3b,0x3d,0x3e;/共阴显示片选码intcodetab=0x3f,0x06,0x5b,

温馨提示

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

评论

0/150

提交评论