出租车计价器的设计与实现-毕业论文_第1页
出租车计价器的设计与实现-毕业论文_第2页
出租车计价器的设计与实现-毕业论文_第3页
出租车计价器的设计与实现-毕业论文_第4页
出租车计价器的设计与实现-毕业论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计本科生毕业设计题目:出租车计价器的设计与实现作者:学号:所属学院:信息科学与工程学院专业年级:电子信息工程指导教师:职称:完成时间:目录TOC\o"1-2"\h\u14495摘要 I24234Abstract II28373第1章绪论 131001.1课题研究的背景 232961.2出租车计价器的发展与意义 3314811.3项目的设计目标与要求 4125261.4论文的组织结构 423042第2章系统工作原理 5232622.1功能要求 533772.2基本原理 57158第3章硬件设计 7289593.1振荡电路 7217993.2复位电路设计 717163.3键盘接口电路 81483.4显示电路 8125593.5单片机各引脚功能说明 1010299第4章软件设计 13164014.1单片机资源使用 13314674.2单片机软件模块设计 13148324.3总程序流程框图 1619161第5章系统调试 17197415.1软件测试 17120405.2系统仿真原理图和PCB板 18307415.3硬件电路 185551结论 215551参考文献 225551附录A系统原理图 2317165附录B系统仿真图和PCB板 235919附录C系统源程序 25出租车计价器的设计与实现摘要随着城市交通建设日益加快,出租车行业正加速发展。自动计价器起着不可忽略的作用。系统是一个基于单片机STC89C52的出租车自动计价器,由复位电路、时钟电路、键盘电路组成。复位电路完成单片机的初始化操作。时钟电路采用12MHz晶振作为系统的时钟源。键盘电路可以调节单片机的各项数据。在通电时字符型液晶显示屏1602显示最初的起步价、里程计费、等待时间计费等,按下按键可以调节各项收费价格。通过按键模拟出租车的运行、暂停、停止。在显示屏上可以显示运行的时间、运行时暂停的时间,从而得出总费用和总路程。关键词:STC89C52;1602;计价器PAGE34DesignandImplementationofTaxiMeterAbstractWiththeurbantransportconstructionisaccelerating,thetaxiindustryisacceleratingdevelopment.Automaticmeterplaysarolethatcannotbeignored.ThesystemisataxibasedontheSTC89C52taxiautomaticmeter,bytheresetcircuit,theclockcircuit,thekeyboardcircuit.Resetcircuittocompletetheinitialoperationofthemicrocontroller.Clockcircuitusing12MHzcrystal,asthesystemclocksource.Keyboardcircuitcanadjustthemicrocontrollerdata.InthepowerwhenthecharacterLCD1602showstheinitialstartingprice,mileagebilling,waitingtimebilling,pressthebuttontoadjustthestartingprice,daytimeprice,thepriceatnight.Throughthebuttontosimulatethetaxioperation,pause,stop.Onthedisplayyoucandisplaythetimeoftherun,thetimewhentheoperationispaused,resultingintotalcostandtotaldistance.KEYWORDS:STC89C52;1602;Meter第1章绪论1.1课题研究的背景出租车行业是人们来到一座陌生城市、认识这座城市的第一扇窗,它已逐步成为衡量一个城市是否具备国际化大都市的现代标准和心理标准的标志之一。在出租车这个行业的迅速发展中会产生很多问题[1],出租司机服务不规范,在经营和管理上有不少漏洞,出租司机对乘客漫天要价的现象频繁显现,而通过安装一个出租车计价器,出租公司就可以硬性规定出租司机必须按照计价器收费,这样不仅可以维护乘客的合法利益,还可以为提高出租车的服务质量和进一步规范出租车服务起到表率的作用。在出租车刚发展的最初,也是就上世纪七十年代,那时候出租车的计费系统大部分都是要从国外进口,计费系统非但价格昂贵而且计价还不是很准确,后来又产生了国产的计价器,那时候出租车计价器只是显示路程,而且还需要出租车司机自己定价,把计算后的结果用“四舍五入”的方法显示出来,这种计价器误差大,容易引起乘客与出租车司机的矛盾,到又后来发展成了能够自主计费的出租车计价器,到了现在,各个地方的城市化都在一步一步的加快,出租车作为城市面貌的象征,肯定也会随着城市化的推进而发展,现在出租车都已经普及了计价器,一个优良合理的出租车计价器在未来的计价器的市场是非常有潜力的。现在计算机系统也已经很明显的超巨型化、单片化、网络化三个方向发展[2]。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的,所以单片机又称微控制器MCU(MicroControllerUnit)。用它可以很容易的将计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫做嵌入式微控制器(EmbeddedMCU)。单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用与家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过40年左右的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。现在单片机运用的是非常的广泛,在计算机的外部设备、智能化仪表和仪器、家中电器产品、工业控制的领域,尤其是在机电一体化的产品之中,都有着非常重要的用途,主要为以下几个方面[3]。●显示:将单片机与LED数码管显示屏或者LCD液晶显示屏连接,单片机就可以控制显示屏来显示字符和图形。●机电控制:将单片机与机电产品连接,来控制它做定向动作或者定时动作。●监测:将单片机和传感器连接,通过这两个器件的相互工作,就可以用来检测工况和产品。●通信:通过单片机的I/O口,可以用来传输信号和数据。●科学计算:在单片机程序中,设计程序来进行简单的计算。因此根据单片机的种种特点和用途,可以设计基于单片机的出租车计价器,而基于单片机系统设计的出租车计价器是以单片机作为核心的控制元件,采用灵敏的霍尔开关型,相比以前用的集成电路式的计价器,具有功能强,性能可靠,电路简单,成本低等特点,加之经过优化的程序,使其具有很高的智能化水平。1.2出租车计价器的发展与意义步入21世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高,出租车的使用频率也越来越高,出租车行业以优质的服务带给人们享受旅行。但是,由于行业的特殊性,出租车行业总存在买卖的争议,困扰着行业的发展。解决这个出租车行业矛盾的最好方法就是使用改良计价器,为客人提供更加便捷高效的服务[4]。30年前,我国出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们生活中出现。随着改革开放的深入,出租车行业的发展势头已十分突出。如今出租车在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。我们都知道,只要出租车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5KM)计费数字显示开始从起步价(如8元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。采用模拟电路和数字电路[5]设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的转变需要用到机械开关,机械开关用的时间过久就会造成接触不良,功能难以实现。所以我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性非常强,可以用软件编程来完成较多的附加功能。1.3项目的设计目标与要求利用AT89C52单片机,设计简单的出租车计价器。其中主要的外围功能电路[6]有:驱动电路,按键控制电路,时钟部分,数码管显示电路等。通过对以上各功能的设计,制作出的出租车计价器应具有以下功能:上电时显示全为零,通过按下启动按键来开始计价,显示屏开始显示起步价和里程数;显示屏开始显示所走里程和所应付的金额,并逐渐增加;按下档位键,里程数加速提高,同时金额金额加速增长。按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清零按键,显示屏全显示零,以备下次计价。1.4论文的组织结构论文可以分为目录、中英文摘要、绪论、系统工作原理、硬件设计、软件设计、系统调试、结语、参考文献、附录这几个部分。本文共分为5章,组织结构如下。1)第1章介绍了课题的背景意义和介绍出租车计价器的发展现状以及论文的设计目标和要求。2)第2章主要介绍了系统的工作原理,其中包括功能要求和基本原理。3)第3章主要讲述了出租车计价器的硬件设计,其中包括振荡电路、复位电路设计、键盘接口电路、显示电路、单片机各引脚功能说明。4)第4章介绍的是出租车计价器的软件设计,详细说明了本次设计的各种程序模块。5)第5章为项目的调试,其中包括软件测试、系统仿真原理图、硬件电路。最后部分是论文的总结、参考文献以及附录部分,以及设计心得和项目的不足之处。第2章系统工作原理2.1功能要求出租车计价器是根据乘客乘坐汽车行驶距离和等候时间的多少来计价的,并且在行驶过程中同步[7]显示本次的消费、运行的里程、运行的单价和等待的时间等信息。从起步开始起,如果汽车行驶的里程没有满3公里时,一切都按起步价计算。超过3公里后,实现每1公里单价收费,遇到中间暂停时,计程数量不再增加,开始计时收取费用,计程收费以及计时收费的和于是构成了每一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.8元/公里,夜晚为2.2元/公里,等待计时三分钟以内不收费,白天等待计时单价为0.5元/1分钟,晚上等待计时单价为1元/1分钟。)为提高计时、计价精度,确保乘客对自己消费的知情权,出租车计价器应做到里程数精确到0.1公里,同时为减少司机朋友来回调整单价以及停车后需重设单价的麻烦,计价器应具有掉电保持功能[8],即当重启后维持原有数值(包括总金额、等待时间、行驶里程、单价)不变,直至强制按下清零键,计价器显示起步价(刚起步时对应总金额)、运行单价,为下一次计价做准备。2.2基本原理计价器系统主要由五部分组成:分别为基于多谐振荡发生器的里程检测单元、STC89C52单片机、外扩串行EEPROM-AT24C02、独立键盘和LED显示。振荡发生器[9]主要用于检测汽车行使的里程数,出租车车轮每旋转一周,多谐振荡发生器便产生一相应的脉冲输出,并把该脉冲交由单片机进行处理,单片机则根据程序设定,通过计算脉冲个数换算出已行驶里程(里程=脉冲个数*出租车车轮周长),然后再根据从EEPROM-AT24C02中读取的单价等相关数据进行总的消费金额的计算:当里程小于3公里时,总金额=起步价+等待时间*等待单价;当里程大于3公里时,总金额=起步价+(里程-3)*运行单价+等待时间*等待单价;计算好的金额、等待时间、里程和单价等数据信息都可实时地显示在数码管上。其中,等待时间可根据多谐振荡发生器是否有脉冲输出加以判断[10],如可设定等待时基为5s,即假如按键在5s后仍无脉冲输出便认为进入等待时间,并由单片STC89C52内部计时器对其进行计时。独立键盘可以调整单价等相关数据,当按下某按键,会给单片机相应端口一低电平信号,单片机会通过循环扫描检测到此信号,并根据预先设置好的程序做出相应的处理;调整好的数据存储到EEPROM中,掉电后可以使该数据不丢失,下次得电后直接从EEPROM-AT24C02中读到单片机,并通过显示屏实时显示[11]。系统结构图如图1所示。图1系统结构图第3章硬件设计3.1振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容一般取20PF)。这样就构成一个稳定的自激振荡器。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。振荡电路如图2所示。图2振荡电路3.2复位电路设计复位电路操作有两种基本的形式:一种为上电复位,另外一种就是按键复位。按键复位除了具有上电复位功能外,如要复位,只要按住图中的RESET键,电源VCC通过电阻R1、R2进行分压,在RESET端能够产生一个复位的高电平。电源接通上电复位电路后,可以通过外部电容的充电来实现单片机的自动复位操作。接上电源瞬间RESET引脚就能获得高电平,伴随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平如果能保持足够多的时间(2个机器周期),单片机便能进行复位操作。按键复位电路图如图3所示。图3复位电路3.3键盘接口电路独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。I/O口内部有上拉电阻时,外部可不接上拉电阻。键盘接口电路如图4所示。图4键盘接口电路3.4显示电路1602LCD显示分为带背光以及不带背光两类,基控制器绝大部分是HD44780,带背光的与不带背光的相比,带背光的要比不带背光的厚,但是这两者在应用中并无什么差别,两者尺寸差别如图5所示。图5LM016L结构图LCD1602主要的技术参数:

容量:16×2个字符芯片工作的电压:4.5—5.5V工作的电流:2.0mA(5.0V)模块最佳工作的电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示。表1引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL是液晶显示器对比度调整端,对比度最弱时接正电源,对比度最高时接地,对比度如果过高则会模糊不清,可以通过一个10K的电位器来调整对比度。第4脚:RS是寄存器选择,高电平时则选择数据寄存器、低电平时会选择指令寄存器。第5脚:R/W是读写信号线,读操作时为高电平,写操作时为低电平。当RS以及R/W都为低电平时则就可以写入指令或者是显示地址,当RS是低电平R/W为高电平则可以读入信号,当RS是高电平R/W为低电平则可以写入数据。第6脚:E端是使能端,当E端从高电平跳变为低电平时,液晶模块就会执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。显示模块采用1602液晶显示电路,如图6所示。图61602液晶显示电路3.5单片机各引脚功能说明下面对STC89C52各引脚的功能进行较为详细的介绍:(1)电源引脚Vcc和VssVcc(40脚):电源端为+5VVss(20脚):接地端。(2)时钟电路引脚XTAL1和XTAL2XTAL2(18脚):接微调电容与外部晶体的一端。在单片机的内部它就成为振荡电路反向放大器的输出端,振荡电路的频率就变成了晶体的固有频率。如果需要用到外部时针电路时,则该引脚就能够输入外时钟脉冲。要检查STC89C52的振荡电路能否正常工作,可以使用示波器观察查XTAL2端是否会有具有脉冲信号的输出。XTAL1(19脚):改引脚接外部晶体以及微调电容的另一端。在片内,它为振荡电路反向放大器的输入端。该引脚接地时,就必须用到外部时钟。(3)控制信号脚RSTALEPSEN和EA。RST(9脚):RST为复位信号的输入端,高电平时有效。当输入在两个机器周期(24个时钟振荡周期)保持高电平时,就可以完成复位操作。ALE/PROG(30引脚):地址锁存允许信号端[9]。当STC89C52能正常上电工作后,ALE引脚向外不断输出正脉冲信号。此频率是振荡器频率fosc的1/6,当CPU开始访问片外存储器时,锁存低8位地址的控制信号变为ALE输出的信号。在CPU访问片外数据存储时,每取值一次(一个机器周期)会丢失一个脉冲。通常不存取片外存储器,ALE端也是1/6的振荡频率固定输出正脉冲,所以ALE信号可以作为外部输出时钟或定时信号。如果要看STC89C52芯片是好还是坏,可以用示波器来看ALE端子脉冲信号是否输出,如果是脉冲信号输出,STC89C52基本上是好的。ALE的负载驱动能力为8个LS型TTL(低功耗高速TTL)。PSEN(29脚);程序存储允许输出信号引脚,当访问片外程序存储器时,输出负脉冲作为只读存储器的选通信号。此引脚接ERROM的OE端。PSEN端有效,即允许读出ERROM/ROM中的指令码。在从外部ERROM/ROM进行指令取出期间,CPU每周期都处于活动状态。然而,当访问片外RAM时,会产生较少的PSEN负脉冲信号两次。要检查STC89C52小型系统电源后CPU可以正常读取脚本到ERROM/ROM,也可以用来看示波器看到PSEN端子脉冲输出。如果是,说明基本上工作正常。EA/VPP(31脚):外部程序存储器的地址允许输入端/固化编程电压输入端。当EA引脚接上高电平时,CPU只会访问片内ERROM/ROM并且会执行内部程序存储器当中的指令。但在PC(程序计数器)的值超过OFFFH(对8751/8051为4k)时,将自动转向执行片外存储器的程序。当出入信号EA引脚接低电平(接地)时,CPU只访问外部ERROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无芯片内的ROM的8031或8032,须外扩ERROM,此时必须将EA引脚接地。如果使用有片内ROM的STC89C52,外扩ERROM也是可以的,但也要使EA接地。(4)I/O(输入/输出端口,P0,P1,P2,P3)P0口:P0口是一个漏极开路的8位准双向I/O端口。P1口:8位准双向I/O端口。P2口:即可以做地址总线输出地址高8位,也可以做普通I/O用,(此时为准双向口)。P3口:双功能口,即可以做普通I/O口用(此时为准向口,也可以按每位定义实现第二功能操作)。见表2。表2P3口的第二功能表引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部中断)P3.5T1(定时器1外部中断)P3.6WR(外部存储器写选通)P3.7RD(外部存储器读写通)第4章软件设计4.1单片机资源使用在本次设计中像电路键盘用到了P2口,其中P2.0到P2.5口作为键盘的输入,显示电路用到了P1和P3口,P1口为液晶的数据口。4.2单片机软件模块设计4.2.1中断子函数对于单片机的中断程序,只要定时器计数满了就能产生50ms的中断一次,总共20次,秒钟加1,秒钟计满了就会在分钟加上,当分钟变成99的时候就会全部清零。以下是中断子函数的流程图,如图7所示图7中断子程序流程图4.2.2判断子函数在独立式键盘的判键中,首先要看是否有键按下,如有键按下的话就会延时一会,再判断是否看真的会有键按下,如果是真的会有键按下,再判键释放,最后会执行键功能程序。判键子函数的流程框图,如图8所示。图8判键子程序流程图4.2.3显示子程序1602液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写40个字符,在写显示程序的时候,我们先写命令,再设定字符显示,最后写数据,在每写一次命令或数据都需要判断液晶是否忙。液晶显示程序流程图如图9所示。图9显示子程序流程图4.3总程序流程框图整体程序的流程框图如图10所示。图10整体程序的流程框图第5章系统调试5.1软件测试5.1.1protues简介Protues的ISIS是一款Labcenter出产的用于电路仿真的系统,可以用来仿真IC和各种电路[12],还支持单片机仿真,它的元件库齐全,使用也是很方便,对于学生来说,是一个非常实用的单片机软件仿真系统。该软件的特点:(1)符合单片机软件仿真系统的标准[13],并且在同一类的产品中具有很明显的优势。(2)不仅可以进行键盘和LCD系统仿真、SPI调试器、IC调试器、RS-232动态仿真、单片机系统仿真、数字和模拟电路等等的仿真,还有信号发生器、示波器、逻辑分析仪等各种虚拟仪器。(3)当前可以支持的单品机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列和很多种外围芯片。(4)支持很多个外围芯片和存储器同时仿真。总之,Protues软件是一款功能强大并且集SPICE分析和单片机于一体的单片机仿真软件,可以用来仿真51、AVR、PIC。5.1.2KeilC51简介Keil

C51是一个编译程序的软件,是单片机C语言的主要编译工具。KeilC51集成开发环境的主要功能有以下几点:RTX-51实时操作系统:使实时应用软件项目的设计变得简化了。C5交叉编译器:可以从C源代码中产生目标模块,这个目标模块可以重定位。LIB51库管理器:可以从目标模块中生成库文件,这个库文件可以被连接器使用。BL51链接器/定位器:通过组合目标模块从而生成绝对的目标模块。A51宏汇编器:从89C51汇编源代码之中产生可以重定位的目标模块。HEX格式的转换器:可以输出一个Hex文件。µVision4forWindows:是一个集成开发环境,它将项目管理、程序调试、源代码编辑等组合在一个功能强大的环境中。µVision4支持所有的Keil89C51的工具软件,其中包括C51宏汇编器、编译器、链接器/定位器和目标文件至HEX格式转换器,µVision4可以自动地完成编译、汇编、链接程序等基本的操作。还可以在编译之后进行模拟仿真调试,清楚的显示出每个变量的变化。5.2系统仿真原理图本设计的软件都是在

Keil

μVision4上进行编写,编译,调试以及运行操作。

单片机仿真软件在线调试—PROTEUS:1.打开Proteus软件。

2.选择file菜单下的

open

design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。

3.将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。

如图11所示是通过在Keil

C中编译通过,并生成Hex文件,在PROTEUS中仿真通过的系统原理图。图11系统仿真原理图5.3硬件电路5.3.1电路元件检测在焊接电路前,首先要进行元器件的检测。检测主要是测出各个元器件的型号。对于数码管的检测在显示电路中已介绍。识别电阻时可根据各环的数量级和色码表,判断电阻的阻值。排阻是将多个电阻集中封装在一起,组合制成的。排阻具有装配方便、安装密度高等优点。常用排阻有A型和B型。A型排阻的引脚总是奇数的。它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。B型排阻的引脚总是偶数的。它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。排阻的阻值读法如下,“103”表示10kΩ,“510”表示51Ω。以此类推。对于集成芯片的检测,就是根据它的管脚图,来识别各个引脚,以方便焊接。5.3.2PCB印刷电路板为了电路板的焊接方便,可靠,本次电路板采用了印刷电路板来完成任务。首先用protel99完成PCB原理图,原理图12如下。图12PCB原理图5.3.3PCB印刷电路板设计的过程中,对硬件的检测和对软件的测试都不能忽略,因为在系统的仿真过程中,各元件都是理想的,而在设计实际电路时,就需要多方面考虑。要先对元件进行检测,然后进行调试。例如如果在设计中不加任何驱动,在仿真软件中仍然可以正常计价,但是在具体硬件焊接时,需要考虑电路的驱动能力。在已经焊接好的电路板上,要对其各个元器件进行检查。一般情况下,集成电路不会出现故障。驱动部分是检查三极管与数码管和单片机接触的各个引脚,看是否焊接良好。显示部分检测的目的是看数码管是否能够正常显示。如果不该亮的字段点亮,检测是因否有短路的情况;如果数码管不显示,说明位选端可能没有焊好;如果显示不够亮,则应该检查驱动电路。晶振部分使用示波器查看波形。如果出现看不到12MHZ的正弦波形的现象,说明此部分电路不正常。时钟部分通过与北京时间的对比完成检测。计价部分通过采用直流电机附带小磁珠模拟计费实现检测。结论出租车计价器系统的设计已经全部完成,能够按照预期设计的效果完成模拟汽车启动,停止,暂停等一些功能,并且能够在LCD上显示出车费数目。本款出租车表包括单价调整、单价输出、并且能够显示当前系统时间等功能。此外,多功能出租车计价器还具有成本较低、电路较简单、性能可靠、实用性非常强等优点,再加上通过优化的程序,具有较高的智能化水平。几个月来,经过自己努力,基本上完成了设计要求的内容,在系统可行性分析、原理图设计等方面都作了许多实际工作,取得了一些成绩,同时也遇到了一些问题,存在一些不足。经过这几个月的学习和工作,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。这在以前的学习过程中是不曾学到的。在短短的三个月时间内完成设计内容,在很大程度上得益于老师的帮助。这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步提高。参考文献[1]张友德,赵志英,涂时亮.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2005.[2]李朝青.单片机原理及接口技术(第三版).北京:北京航空航天大学出版社,2008[3]李华.MCS-51系列单片机实用接口技术[M].北京航空航天大学出版社,1996[4]杨素行.模拟电子技术基础简明教程.(第三版).北京:高等教育出版社,2005[5]阎石.数字电子技术.(第五版).北京:高等教育出版社,2006[6]马淑华,王凤文,张美金.单片机原理与接口技术(第二版).北京:北京邮电大学出版社,2007[7]贺敬凯.单片机系统设计、仿真与应用:基于Keil和Protues仿真平台[M].西安:西安电子科技大学出版社,2010.[8]何希才.传感器及其应用电路[M].北京:电子工业出版社,2001.[9]丁明亮,唐前辉.51单片机应用设计与仿真:基于KeilC与Protues[M].北京:北京航空航天大学出版社,2009.[10]彭伟.单片机C语言程序设计实例100例:基于PIC+Protues[M].北京:电子工业出版社,2011.[11]周.苑惠娟.传感器原理与应用[M].北京:清华大学出版社,2011[12]陈国钢.Protues原理图设计与电路仿真就这么简单[M].北京:电子工业出版社,2014.[13]孙余凯.传感器应用电路300例[M].北京:电子工业出版社,2008.附录A系统原理图附录B系统仿真图和PCB板附录C系统源程序#include<reg52.h> //调用单片机头文件#defineucharunsignedchar//无符号字符型宏定义 变量范围0~255#defineuintunsignedint //无符号整型宏定义 变量范围0~65535ucharmiao,fen=0,shi;ucharflag_bai_hei;//白天的晚上的标志位ucharvalue;uintbai_3l_price=60;//白天3千米内的单价6元uintbai_3w_price=18;//白天3千米外的单价/千米 1.8元uintbai_wait_price=5;//白天等待时的单价/分钟 0.5元uintwan_3l_price=70;//晚上3千米内的单价/千米 7元uintwan_3w_price=22;//晚上3千米外的单价/千米 2.2元uintwan_wait_price=10;//晚上等待时的单价/分钟 1元uintdistance=0;//行使的距离uintzong_jia;//总的价bitflag_300ms=0;bitflag_1s;bitflag_time_en=0;#include"lcd1602.h"/***********************1ms延时函数*****************************/voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}#include"iic.h"voidwrite_iic_data(){ write_24c02(0,flag_bai_hei); write_24c02(1,bai_3l_price%256);//保存数据 write_24c02(2,bai_3l_price/256);//保存数据 write_24c02(3,bai_3w_price%256);//保存数据 write_24c02(4,bai_3w_price/256);//保存数据 write_24c02(5,bai_wait_price%256);//保存数据 write_24c02(6,bai_wait_price/256);//保存数据 write_24c02(7,wan_3l_price%256);//保存数据 write_24c02(8,wan_3l_price/256);//保存数据 write_24c02(9,wan_3w_price%256);//保存数据 write_24c02(10,wan_3w_price/256);//保存数据 write_24c02(11,wan_wait_price%256);//保存数据 write_24c02(12,wan_wait_price/256);//保存数据}/****************自动初始化保存的数据*******************/ voidzidong_chushifa_iic(){ value=read_24c02(200); value=read_24c02(200); if(value!=0x91) //新的单片机初始单片机内问EEPOM { value=0x91; write_iic_data(); write_24c02(200,value);//保存数据 } delay_1ms(300); }/****************读出来保存的数据**********************/ voidread_iic_data(){ flag_bai_hei=read_24c02(0); bai_3l_price=read_24c02(2); bai_3l_price=bai_3l_price*256+read_24c02(1); bai_3w_price=read_24c02(4); bai_3w_price=bai_3w_price*256+read_24c02(3); bai_wait_price=read_24c02(6); bai_wait_price=bai_wait_price*256+read_24c02(5); wan_3l_price=read_24c02(8); wan_3l_price=wan_3l_price*256+read_24c02(7); wan_3w_price=read_24c02(10); wan_3w_price=wan_3w_price*256+read_24c02(9); wan_wait_price=read_24c02(12); wan_wait_price=wan_wait_price*256+read_24c02(11);}/****************独立按键处理函数************************/ #definekey_ioP2ucharkey_can;voidkey(){ staticucharkey_new=0,key_old=0,key_value=0; key_io|=0x3f; if(key_new==0) //按键松开 { if((key_io&0x3f)==0x3f) key_value++; else key_value=0; if(key_value>=5) //按键松开松手检测 { key_value=0; key_new=1; //按键松开后进入等待按键状态 } } else { if((key_io&0x3f)!=0x3f) //按键按下 key_value++; else key_value=0; if(key_value>=5) //按键按下消抖 { key_value=0; key_new=0; //按键松开后进入等待松开按键状态 } } key_can=20; if((key_new==0)&&(key_old==1)) { switch(key_io&0x3f) { case0x3e:key_can=1;break; //得到按键值 case0x3d:key_can=2;break; //得到按键值 case0x3b:key_can=3;break; //得到按键值 case0x37:key_can=4;break; //得到按键值 case0x1f:key_can=5;break; //得到按键值 case0x2f:key_can=6;break; //得到按键值 }// write_sfm2(2,0,key_can);//按键按下显示按键值 } key_old=key_new; }#include"menu.h"/*********************对应菜单内的处理函数******************/voidmenu_dis(){ if(menu_1==0) { if(key_can==6) { distance++; write_sfm4(1,0,distance); } if(key_can==5) //清零从新计价 { flag_time_en=0; shi=0; fen=0; miao=0; zong_jia=0; distance=0; } if(key_can==2) { flag_time_en=~flag_time_en; } if(flag_300ms==1) { flag_300ms=0; if(distance<=30)//3公里内的价格 { if(flag_bai_hei==0) { if(fen<=3) zong_jia=bai_3l_price; else zong_jia=bai_3l_price+(shi*60+fen-3)*bai_wait_price; } else { if(fen<=3) zong_jia=wan_3l_price; else zong_jia=wan_3l_price+(shi*60+fen-3)*bai_wait_price; } }else //3公里外的价格 { if(flag_bai_hei==0) { if(fen<=3) zong_jia=bai_3l_price+bai_3w_price*(distance-30)/10; else zong_jia=bai_3l_price+bai_3w_price*(distance-30)/10+(shi*60+fen-3)*bai_wait_price; } else { if(fen<=3) zong_jia=wan_3l_price+wan_3w_price*(distance-30)/10; else zong_jia=wan_3l_price+wan_3w_price*(distance-30)/10+(shi*60+fen-3)*wan_wait_price; } } if(flag_bai_hei==0) write_sfm2_dian(2,9,bai_3w_price); else write_sfm2_dian(2,9,wan_3w_price); write_sfm2(2,0,shi); write_sfm2(2,3,fen); write_sfm2(2,6,miao); write_sfm4(1,10,zong_jia); write_sfm4(1,0,distance); write_zifu(1,15,0x5c); //¥ write_zifu(2,12,0x5c); //¥ } }}/*********************显示函数******************/voidjishu_chashu(){ if((flag_1s==1)&&(flag_time_en==1)) { flag_1s=0; miao++; if(miao>=60) { miao=0; fen++; if(fen>=60) { fen=0; shi++; if(shi>=24) { shi=0; } } } }}/*************定时器0初始化程序***************/voidtime_init() { EA=1; //开总中断 TMOD=0X01; //定时器0、工作方式1 ET0=1; //开定时器0中断 TR0=1; //允许定时器0定时}voidmain(){ init_1602(); init_1602_dis_csf(); zidong_chushifa_iic(); read_iic_data(); time_init(); init_menu(); while(1) { key(); if(key_can<20) key_with(); menu_dis(); jishu_chashu(); }}/*************定时器0中断服务程序***************/voidtime0_int()interrupt1{ staticucharvalue; TH0=0x3c; TL0=0xb0;//50ms value++; if(value%6==0) flag_300ms=1; if(value>=20) { flag_1s=1; value=0; }}基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用HYPER

温馨提示

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

评论

0/150

提交评论