694523395毕业设计(论文)基于单片机的出租车计费器设计

上传人:仙*** 文档编号:31393942 上传时间:2021-10-11 格式:DOC 页数:30 大小:2.42MB
收藏 版权申诉 举报 下载
694523395毕业设计(论文)基于单片机的出租车计费器设计_第1页
第1页 / 共30页
694523395毕业设计(论文)基于单片机的出租车计费器设计_第2页
第2页 / 共30页
694523395毕业设计(论文)基于单片机的出租车计费器设计_第3页
第3页 / 共30页
资源描述:

《694523395毕业设计(论文)基于单片机的出租车计费器设计》由会员分享,可在线阅读,更多相关《694523395毕业设计(论文)基于单片机的出租车计费器设计(30页珍藏版)》请在装配图网上搜索。

1、基于单片机的出租车计费器设计福建师范大学协和学院 信息技术系 电子信息工程124132007040 指导老师 【摘要】根据出租车行业的需求,传统的出租车计费器发展使用了十几年,在稳定性、成本、以及使用习惯上都具有一些优势。而使用单片机实现该系统,是深化单片机应用的良好途径。本系统由单片机AT89S52和一些外围器件组成,具有操作简单,显示明了,功能强大的特点。使用1602液晶模组作为显示器,可以显示数字、字母、中文、图片等,使系统信息一目了然。本方案充分发挥人性化的特点。本系统涉及到的理论知识有: PIC单片机知识、LCD液晶显示器的工作原理和使用方法,出租车计费系统的原理和实现方法、 PRO

2、TEUS仿真原理及实际应用。【关键词】1062液晶模组;LCD液晶显示器;AT89S52;PROTEUS目 录1.绪论31.1课题背景和意义31.2单片机发展概况32. 设计方案42.1主控芯片的设计43.硬件模块简介43.1 AT89S52单片机简介43.2 液晶简介53.3 光遮断器简介83.3.1 光遮断器83.3.2 光反射器93.3.3光反射器的构造与特性104.硬件电路设计124.1总体方案与框图124.2单片机最小系统124.2.1电源稳压电路134.2.2复位电路144.2.3振荡时钟电路154.3 液晶电路164.4光遮断器电路164.5电源电路174.6按键电路174.7指

3、示灯电路185.软件程序设计185.1系统的模式功能设计185.2系统的主程序设计195.2.1主程序流程图195.2.3主程序仿真图215.3系统的各个子程序设计216.制作系统实物并测试226.1制作硬件实物226.2烧写软件236.3测试功能237.总结23参考文献24附录一:各个子程序代码26附录二:电路pcb图301.绪论1.1课题背景和意义出租车计费器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。对于模式

4、的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可言很容易的实现设计要求,且灵活性强,可以通过软件编程来完成跟多的附加功能。针对模式的切换,通过软件编程就可以轻而易举的实现。避免了机械开关带来的不稳定因素。随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。1.2单片机发展概况单片微机(Single-Chip Microcomputer)简称单片机,有的也叫做微处理( Micro-Processor简写P)或

5、微控制器(Micro-Controller 简写C),通常统称微型处理部件(Micro Controller Unit 简写MCU)。一般的说,单片机就是在一 块硅片上集成CPU、RAM、ROM、定时器/计数器、和多种I/O的完整的数字处理系统 。单片机的结构与组成目前,单片机的系统结构有两种类型:一种是将程序和数据存储器分开使用,即哈佛(Harvard)结构,当前的单片机大都是这种结构。另一种是采用和PC机的冯.诺依曼(Von Neumann)类似的原理,对程序和数据存储器不作逻辑上的区分。EPROM型存储器编程后其内容可用紫外线擦除,用户可反复使用,所以特别适用于开发过程,但 EPROM型

6、单片机价格很高。单片机编程语言介绍对于51系列单片机,一个新变量名定义之后可在程序中作变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。BASIC由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间,不能做到实时性。BASIC为简化使用变量,所以,所有变量都用浮点值。BASIC 是用于要求编程简单而且对编程效率和运行速度要求不高的场合。PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言。它很像PASCAL,是一种结构化语言,它使用关键字去定义的结构。PL/M编译器好像汇编器一样可产生紧凑代码,总的来说PL/M是高级汇编语言,可详细

7、控制着代码的生成。但对51系列,PL/M不支持复杂的算术运算、浮点变量而无丰富的库函数支持,学习PL/M无异于学习一种新语言。C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。C可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理程序有规范的结构,可分为不同的函数。这种方式可使程序结构化将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性编程及程序调试时间显著缩短,从而提高效率提供的库包含许多标准子程序,具有较强的数据处理能

8、将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机不同较快地移植过来。微控制器的抗干扰软件编程方法微控制器越来越多地用于各种电子应用之中,例如自动化、工业控制和用户产品市场中。随着金属氧化物半导体的硅晶体管几何尺寸的不断下降,系统设计中的电磁兼容性(EMC)问题,成为采用小尺寸器件进行应用设计时必须考虑的主要问题。2. 设计方案2.1主控芯片的设计本设计以单片机为主控芯片,采用AT89S52单片机。AT89S52是一个低功耗高性能的单片机,具有8kB的闪存、128BRA

9、M、32个I/O口、2个定时/计数器、六个中断源、一个全双工的串行口,可反复擦写,支持ISP(在系统编程),可以有效地缩短开发时间和降低开发成本。考虑到本次设计要控制的灯、数码管会占用较多的I/O口,在今后系统发展上也多了很大的扩展空间,所以本设计选用89S52作为主控芯片。3.硬件模块简介3.1 AT89S52单片机简介在本设计中,用到的是AT89C51的升级版AT89S52。AT89S52是ATMEL公司生产的CMOS八位高性能微控制器,硬件方面,是40脚DIP封装,其中有32个外部双向I/O(输入/输出)端口,同时内含2个16位可编程定时/计数器和1个全双工串行通信口,允许六个中断源进行

10、两级中断,自带片内振荡放大器和时钟电路,又具有低功耗的闲置和掉电模式;软件方面,兼容标准MCS-51指令系统,不管是通过汇编语言还是C语言都可以对其进行方便的编程。综上可知,51系列单片机可谓功能强大,可适用于许多控制领域,为嵌入式控制系统提供了灵活高效且廉价的处理方案。而相比我们学习的最为基础的AT89C51,AT89S52具有性能上的优势。C51只有4kB闪存的只读存储器,而S52有8Kb,有更为充足的存储空间可用于程序设计。尤为重要的是,S52系统内核内已经固化了 ISP 监控程序,支持ISP(在系统编程),这样就可以有效地缩短开发时间并降低开发成本。图3-1 AT89S52单片机3.2

11、 液晶简介1602采用标准的16脚接口,其中:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第

12、714脚:D0D7为8位双向数据线。第1516脚:空脚1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。如图3-2:图3-2 CGROM和CGRAM中字符代码与字符图形对应关系DM-162液晶显示模块可以和单片机AT89C51直接接口,电路如图3-2所示。图3-3 DM-162液晶显示模块与单片机AT89C51直接接

13、口1602液晶模块内部的控制器共有11条控制指令。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高

14、电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符

15、,图3-3是DM-162的内部显示地址。如图3-3:图3-4 DM-162的内部显示地址比如第二行第一个字符的地址是40H,那么直接写入40H将不能光标定位在第二行第一个字符的位置,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。以下程序是在液晶模块的第二行第一个字符的位置显示字母“A”的程序:ORG 0000HRS EQU P3.7 /确定具体硬件的连接方式。RW EQU P3.6 /确定具体硬件的连接方式。E EQU P3.5 /确定具体硬件的连接方式。MOV P1,#00000

16、001B /清屏并光标复位。ACALL ENABLE /调用写入命令子程序。MOV P1,#00111000B /设置显示模式:8位2行5x7点阵。ACALL ENABLE /调用写入命令子程序。MOV P1,#00001111B /显示器开、光标开、光标允许闪烁。ACALL ENABLE /调用写入命令子程序。MOV P1,#00000110B /文字不动,光标自动右移。ACALL ENABLE /调用写入命令子程序。MOV P1,#0C0H /写入显示起始地址(第二行第一个位置)。ACALL ENABLE /调用写入命令子程序。MOV P1,01000001B /字母A的代码。SETB R

17、S ;RS=1CLR RW ;RW=0 /准备写入数据。CLR E ;E=0 /执行显示命令。ACALL DELAY /判断液晶模块是否忙?SETB E ;E=1 /显示完成,程序停车。AJMP $ENABLE:CLR RS /写入控制命令的子程序。CLR RWCLR EACALL DELAYSETB ERETDELAY:MOV P1,#0FFH /判断液晶显示器是否忙的子程序。CLR RSSETB RWCLR ENOPSETB EJB P1.7,DELAY /如果P1.7为高电平表示忙就循环等待。RETEND程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动

18、右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY,然后输入显示位置的地址0C0H,最后输入要显示的字符A的代码41H。3.3 光遮断器简介3.3.1 光遮断器光遮断器又称为穿透型光电感应器,光断续器,光电断续器,光电遮断器,也就是将发光组件与受光组件面对面排列并设置于同一封装内,利用检测物体通过时会遮光的原理便得以实现检测功能。ROHM将此种穿透型光电感应器称为遮断器。发光组件采用高输出功率及使用寿命长的GaAs红外线发光二极管,而受光组件则主要采用单只光电三极管或殊电IC。图3-4 光遮断器结构图 此种遮断器大致可以分为2种,一种是外壳插入型,另一种则是双重模铸

19、型。一般最常使用的是外壳插入型,此型产品的发光与受光组件系被装入成型后的外壳中。双重模铸型则是为了因应近年来装置小型化趋势而推出的机型。 (a) 穿透型(对射型) (b) 穿透型(对射型) (c)穿透型(对射型) (d) 反射型 (e) 贴片穿透型(对射型)图3-5 光遮断器种类3.3.2 光反射器反射式光遮断器为光电开关的一种,属于非接触型的光电开关,目前的许多机器上也有使用这类光电开关,如光学扫描、光笔、光学编码器等设备上,也大量被使用。图3-6 反射型光遮断器3.3.3光反射器的构造与特性1.反射式光遮断器分为发光组件和受光组件两部分,发射与接收元件装在同一方向,发光组件反射出物体的光,

20、被受组件接收,使极集电压下降,而查出接近之物体,如图3-6,3-7。2.必须考虑距离之特性、反射光之强弱。3.有焦点型的检出位置特性。图3-7 时序脉波 (Timing pulse) 产生电路(a) TLP852的波形 (101V/divms/div,) (d) TLP801A的波(101V/divms/div,) LED的输入波形 LED的输入波形 光达林顿的集极波形 光敏晶体管的集极波形 2SA733的集极波形 2SA562的集极波形图3-8 时序脉波 (Timing pulse) 产生电路图3-9 方向判断电路图3-9是一组光遮断器的电路设计图,图中红色虚线表光遮断器,由一个发射器和两个

21、光敏晶体管所构成,其中R1为限流电阻,避免电源电流太大而把发光二极管烧掉,而Q1、Q2为NPN晶体管用来做共射极放大器,放大输出信号,当光栅阻断A的光源时,则A输出端会产生一个由低电位到高电位的变化输出,若阻断B则B输出端产生输出,当光栅转动时会分别遮住A、B二光遮断器,产生二个相位不同的脉波,由脉波相位领先、落后的差异可以判断出光栅转动的方向。为了提升发光及受光效率,光遮断器上的发光与受光组件的模铸树脂采用了无填充物(Filler)并具极高纯度的环氧树脂。与IC、晶体管等组件所使用的树脂不同,此种树脂在耐热性、机械强度、耐溶剂性等方面的表现较不理想。因此在操作、安装以及设计时,要注意:红外线

22、发光二极管的电流会依使用方法而异,因此必须根据不同的使用方法分别决定光电晶体管端的负载电阻。若选择的负载电阻不适合,将会产生装置无法动作的问题。838电子重点在于放射强度上下限值之模拟。也就是暗电流(dark current)的最大值,以及临限电压(Threshold voltage)以及放射强度之减半值。并列使用2个以上时,如果将红外线发光二极管端的阻抗设定为共享,则可能会因为VF差而造成二极管无法动作。4.硬件电路设计4.1总体方案与框图框图如图4-1:图4-1总体方案与框图4.2单片机最小系统首先要制作一个支持主控芯片正常工作的最小系统,其各个模块具体如图4-2:图4-2最小系统框图:4

23、.2.1电源稳压电路在本设计中主要是制作一个电源模块来将市电转换为直流稳压电源,才可以将稳定的电压和合适的电流作为电源提供给单片机及其周围电路系统,使之能正常稳定地进行工作。要将市电转换为稳压电源。如果使用分立式元件自己设计搭建模块对市电进行变压、整流、滤波,不但成本高,制作出来的外形也不够美观,因此在本设计中,选择直接购买变压器来作为供电模块。虽然购买来的变压器可以直接给出稳定的电压,但是要提供给单片机工作的电源电压为5V,如果加载的是5V以上的电源,系统将无法正常工作。为了让系统有更大的扩展,在5V以上的电源下都能正常工作,就需要一个简单的7805稳压电路。如图,CON2为电源插座。在本设

24、计中采用的是集成稳压IC7805,输入端以470uf和104电容作为输入滤波,输出端以220uf和104电容作为输出滤波,从而在VCC提供稳定的直流5V电源。注意当输入VIN或输出电流附在较大时,要给7805加上散热片进行散热。如图4-3:图4-3电源稳压电路4.2.2复位电路本设计中系统的复位方式为人工复位,以手动按钮方式按下复位键后,单片机复位。51系列的单片机在其复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。因此采用如下图的复位电路。当复位开关SRST闭合时,RST引脚电平被拉高使得单片机复位。如果由于开关抖动,SR

25、ST在闭合还没有达到两个机器周期时就被断开,这时候电容CRST和电阻RRESET将提供一个RC充电延时,单片机的复位端将维持高电平直到延时结束。复位后,单片机重置所有数据段,并从0000H开始执行程序段。如图4-4:图4-4复位电路4.2.3振荡时钟电路51系列单片机的内部已经都配置了一个用于构成内部振荡器的高增益反相放大器,只要将这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器接在一起,就可以构成自激振荡器,为单片机提供频率稳定的振荡信号。如图4-5,本设计中振荡电路使用的是12MHz的无源晶振,外接两个电容进行匹配,使其能够起振。在允许范围内,这两个电容的取值越低越好,其值偏大虽有利于振

26、荡器的稳定,但是会增加起振时间。本设计中选用30pf的电容。单片机的工作频率是有范围的,一般情况下都是选用12MHz的晶振,频率过高的话会造成单片机无法稳定运行。如图4-5:图4-5振荡时钟电路4.3 液晶电路如图4-6: RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。EN端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。图4-6液晶电路4.

27、4光遮断器电路光线射过去时为高电平,遮挡住为低电平,由此来计算所转圈数。如图4-7:图4-7光遮断器电路4.5电源电路开关按下, 整个系统开始供电, 断开整个系统就断电。如图4-8:图4-8电源电路4.6按键电路按键没有按下为高电平, 按下为低电平。如图4-9:图4-9按键电路4.7指示灯电路当空车的时候灯亮 ,有人时灯灭。如图4-10:图4-10指示灯电路5.软件程序设计5.1系统的模式功能设计系统可设起步价,每公里单价,超额底价。起步价设定范围在5元,六元,七元,八元之间,每公里单价在 1.2到2.0之间,超额底价在 20,30,40,50之间。由加减键控制,有复位键,光遮断器启动键,液晶

28、启动键,计价启动键。5.2系统的主程序设计5.2.1主程序流程图开始计数器初始化液晶初始化中断检查显示结束图5-1主程序流程图主程序代码:void main()lcd_init();init();mode=0;while(1)KeyRead();KeyProc();control(); dis(); /lcdprintf(5,0,agcdg);5.2.2中断流程图图5-2中断流程图中断代码:void KeyProc() if (Trg & KEY_START) if (Trg & KEY_SET) if(TR0=0)if(mode=1)if(mode=5) if (Trg & KEY_ADD)

29、 switch(mode) if (Trg & KEY_DOWN)switch(mode)5.2.3主程序仿真图图5-3主程序仿真图5.3系统的各个子程序设计5.3.1按键子程序void KeyRead() void KeyProc() 5.3.2计数子程序void count() interrupt 1 using 05.3.3计费子程序void control()5.3.4写命令子程序void lcd_wcmd(unsigned char cmd)5.3.5写数据子程序void lcd_wdat(unsigned char dat)5.3.6初始化子程序void lcd_init()5.3

30、.7写字符串子程序void lcdprintf(unsigned char X,unsigned char Y,char *String)6.制作系统实物并测试6.1制作硬件实物硬件制作首要选择是用万用电路板来焊接,还是制作PCB板。因为有条件制作单层PCB板,所以本设计选择制作PCB板来作为实物电路板。6.1.1绘制PCB本设计用的软件是Protel99SE,具体绘制PCB步骤如下:1、绘制Sch电路原理图;2、查看元器件封装,如果没有电路板制作需要的封装,则需要自己绘制;3、将封装与原理图上的器件相关联,生成PCB图;4、在PCB图上合理排布元器件,并布线;5、检查布线,确保没有问题后即可

31、打印出来。6.1.2热转印通过激光打印机将生成的图打印到热转印纸上,然后贴到覆铜板上,放入热转印机进行热转印。6.1.3腐蚀在确保电路布线已经完整无误地转印到了覆铜板上后,就可以把板放入腐蚀剂进行腐蚀了。6.1.4焊接把确认腐蚀好了的板取出,洗净并烘干后,就可以将元器件一个个焊接上去了。焊接完还要用万用表好好检查一遍,不要有虚焊、漏焊之类的错误。6.2烧写软件烧写软件只要通过烧录器就可以了,在此不多赘述。6.3测试功能打开计费器电源开关,电源灯先亮起来,空车指示灯也亮,加减键是用来调整里程单价数,超额底价,起步价,菜单键用于选择里程单价数,超额底价,起步价,启动键按下去,空车指示灯灭,开始准备

32、计费,液晶显示为里程数和价格,电机启动键按下去,开始计费。电机按钮关闭,电机停止运行,计费器停止计费。本设计基本完成以上功能。如图 6-1:图6-1 出租车计费器设计实物图7.总结本设计中,不管是硬件电路设计,软件编程乃至后期的硬件制板,都是重点和难点。在完成这些的时候,最重要的秘诀就是将问题划分开来,系统的,有条理的分步进行。硬件方面,先综合考虑系统功能,再将要实现的功能划分为各个模块并根据各个模块功能细化考虑模块组成,在各个模块都完成之后,方将所有模块联系在一起,形成一个完整的系统。软件方面,同硬件也是一个道理,先综合考虑主要程序要实现什么,然后主程序的运行思路为基础,逐个完成各个功能的子

33、程序,由主程序将这些子程序系统地统一在一起,使其运行更为合理流畅。制板方面也是,先将每个模块画好,最后整合到一起。当然,就算思路已很明晰,实际动手去做还是会遇见许多问题。硬件要先制作实验板,经过反复试验,在试验中适当更换不同参数的元器件,观察结果,最终才能确定可行的使用方案。软件也不可能一次就写好,亦是要经过反复测试、修改,经过反复烧写,才能得到最后的程序。制板方面更是不容马虎,画PCB板时对线路的接法、元器件的封装、布线的粗细、焊盘的大小等等都要细致的一一定义清楚,只要有一点点差错,制出来的板就作废了。通过我的不懈努力和老师、同学的帮助,我总算完成了所有内容。对我来说,这次的毕业设计是对三年

34、半来所学专业知识的考察。在做这设计的同时,我重新回顾了三年半来所学的许多知识,对未涉及过的应用也翻阅了许多相应的资料,这样一个过程下来,让我获得了许多收获,不仅提高了动手能力,在其他各个方面也都有了很大的进步,尤其是对所学知识的实际应用有了很大程度的理解,能更好地将理论和实践融会贯通。当然,在这次设计中也暴露出许多缺点和不足,例如:编程语法不够规范、画PCB时对很多细节设置不够细心、硬件上总是会疏忽了一些必要的器件等等,对于这些不足我都很认真地一一予以改正,并在今后更加努力。今后也请各位师友多多给予批评与建议。致谢在这里,我要感谢我的指导老师涂钦老师。本次毕业设计中,涂钦老师给予了大力的支持.

35、在毕业设计开题方面,涂老师给予了悉心的指导,让我明确了我所要完成的任务.对于整体设计上,涂老师给予了非常大的帮助,让我合理布局各个部分的模块.在编程上,涂老师指导我完成流程图的设计,对我后续的工作打下了很好的基础.在最后调试阶段,涂老师总体把握并给予了不少意见.再次感谢帮助过我的各位老师和同学,祝愿他们永远快乐。参考文献【1】 周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真【M】.北京:北航大学出版社,2000,110-119.【2】 李广弟.单片机基础【M】.北京:北京航空航天出版社,2001,88-95.【3】 刘瑞新.单片机原理与应用【M】.天津:机械工业出版社,2003

36、.,120-125.【4】 张毅刚.MCS-51单片机应用设计【M】.北京:清华大学出版社, 2009,33-50.【5】 李全利,迟荣强.单片机原理及其接口技术【M】.天津:高等教育出版社,2004,70-75. 【6】 张齐,朱宁西.单片机系统设计与开发【M】.北京:机械工业出版社,2008,110-113.Taxi devices Based On Single ChipConcord University College FuJian Normal UniversityElectronic and Iformation Engineering124132007040 YangJing

37、Instructor Tu Qin【Abstract】According to the needs of the taxi industry, the traditional development and use of the taxi meter for a dozen years, the stability, cost, and the use of customary has some advantages. The use of single chip system is a good way to deepen the single chip application.The sy

38、stem consists of microcontroller AT89S52 and some peripheral devices composed of features simple, clear display, powerful and so on .LCD module using 1602 as the display can display numbers, letters, Chinese, pictures, etc., so that system information at a glance.This system hasthe theoretical knowl

39、ed gerelated to: PIC Microcontrollerknowledge, LCD liquid crystal displayand use ofthe working principle,the principle of a taxi billing systemand method, PROTEUS simulation principles and practical applications.【Keyword】1062LCD;AT89S52;PROTEUS附录一:各个子程序代码1按键子程序代码void KeyRead() unsigned char ReadData

40、 = KeyBoard0xff; / 1 if(ReadData!=0x00)/有按键按下delay_nus(500);/延时500微秒ReadData = KeyBoard0xff; Trg = ReadData & (ReadData Cont); / 2 Cont = ReadData; / 3 void KeyProc() if (Trg & KEY_START) TR0=!TR0; if(TR0=0)/汽车停止,显示空车 mode=0;/1602关闭显示kc=0; /显示空车 else/汽车启动 mode=1;/显示路程与费用kc=1;/不显示空车 if (Trg & KEY_SET

41、) if(TR0=0)mode=mode+1;if(mode=1)mode=2;if(mode=5)mode=0; if (Trg & KEY_ADD) switch(mode) case 2:ffprice=ffprice+10;if(ffprice80)ffprice=80;case 3:uprice=uprice+4;if(uprice24)uprice=24;case 4:cedj=cedj+100;if(cedj500) cedj=500; if (Trg & KEY_DOWN)switch(mode)case 2:if(ffprice!=50)ffprice=ffprice-10;

42、case 3:if(uprice!=12) uprice=uprice-4;case 4:if(cedj!=200) cedj=cedj-100;2计数子程序代码void count() interrupt 1 using 0TH0=0xff;TL0=0x9c;km+;if(km%10=0)flag=1;3计费子程序代码void control()if(flag)flag=0; if(km30) fare=fare+uprice;if(farecedj) fare=fare+uprice/2;4写命令子程序代码void lcd_wcmd(unsigned char cmd)while(lcd_

43、bz(); rs=0; rw=0; ep=0; _nop_(); _nop_(); DATAPIN = cmd;NOP(); ep=1;NOP(); ep=0;5写数据子程序代码void lcd_wdat(unsigned char dat) while(lcd_bz();rs=1;rw=0;ep=0;DATAPIN = dat;NOP();ep=1;NOP();ep=0;6初始化子程序代码void lcd_init()初始化 lcd_wcmd(0x38);delay(1);lcd_wcmd(0x0c);delay(1);lcd_wcmd(0x06);delay(1);lcd_wcmd(0x0

44、1);delay(1);7写字符串子程序代码void lcdprintf(unsigned char X,unsigned char Y,char *String) if(Y=0) if(X16) gotoxy(X,Y); for(;X16 & *String!=0;X+) lcd_wdat(unsigned char)*String); String+; if(*String!=0) X=0; Y=1; if(Y=1) gotoxy(X,Y); for(;X16 & *String!=0;X+) lcd_wdat(unsigned char)*String); String+; 附录二:电路pcb图30

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!