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

上传人:公**** 文档编号:491507020 上传时间:2023-09-18 格式:DOC 页数:30 大小:2.42MB
返回 下载 相关 举报
694523395毕业设计(论文)基于单片机的出租车计费器设计_第1页
第1页 / 共30页
694523395毕业设计(论文)基于单片机的出租车计费器设计_第2页
第2页 / 共30页
694523395毕业设计(论文)基于单片机的出租车计费器设计_第3页
第3页 / 共30页
694523395毕业设计(论文)基于单片机的出租车计费器设计_第4页
第4页 / 共30页
694523395毕业设计(论文)基于单片机的出租车计费器设计_第5页
第5页 / 共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,#00000001B /清屏并光标复位。ACALL ENABLE /调用写入命令子程序。MOV P1,#00111000B /设置显示模式:8位2行5x7点阵。ACALL ENABLE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号