出租车计价器系统 毕业论文.doc_第1页
出租车计价器系统 毕业论文.doc_第2页
出租车计价器系统 毕业论文.doc_第3页
出租车计价器系统 毕业论文.doc_第4页
出租车计价器系统 毕业论文.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

i 摘 要 现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成 定局。而部分小城市尚未普及,但随着城市建设加快,象征着城市面貌的出租车行 业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是 十分有潜力的。本系统以 stc89c54 单片机为核心,用电机模拟车轮运转,a04e 霍 尔传感器测电机转数。文章详细介绍了出租车计价器的硬件电路和软件设计。硬件 部分利用霍尔元件将电机每转一圈的脉冲数传入单片机系统,然后单片机系统将信 号经过处理送显示。软件部分用 c 语言进行编程,采用模块化设计思想。该系统实 现了对出租车里程的测量统计,并能将出租车的里程数、候时时间、时距并计总价 用 lcd 实时显示。 关键词:里程,霍尔元件,lcd 显示,时距并计 ii abstract it is the major cities in the taxi industry has universal automatic meter now,and meter technology development is a foregone conclusion. and some small cities not yet universal, but with increasing speed up urban construction, a symbol of taxi industry will also accelerate development, and the popularity meter is no doubt, therefore, the future of the automobile market valuation is still potential. by stc89c54 as kernel, electric motor imitating wheel revolving, using a04e hall element to measure revolution, the measure and statistic are achieved. in this article, the hardware circuit and software design of taximeter are introduced in detail. about the hardware, the pulse number is transmitted of one cycle of the electric motor into single chip microcomputer system. then the signal processed by single chip microcomputer system is sent to display scream. about the software, in c language, the program is designed in the mode of modules. the system has realized the taxi mileage waiting time and total price of time and mileage counting together can be displayed on lcd. keywords: mileage,hall element,lcd,time and mileage counting together iii 目 录 第一章 绪论 1 1.1 课题背景 1 1.2 课题的主要任务及内容 2 第二章 出租车计价器系统总体方案设计 4 2.1 任务分析与实现 4 2.2 出租车计价器系统硬件方案设计 4 2.2.1 里程测量传感器的设计 .5 2.2.2 方案的确定 .7 2.3 出租车计价器系统软件方案设计 7 第三章 出租车计价器系统硬件电路设计 9 3.1 概述 9 3.2 传感器及其测量系统 9 3.2.1 霍尔传感器的测量原理 .10 3.2.2 集成开关型霍尔传感器 .11 3.3 单片机的原理及应用 12 3.3.1 单片机原理简介 .12 3.3.2 单片机的引脚功能介绍 .13 3.3.3 单片机中断系统介绍 .16 3.3.4 单片机定时/计数功能介绍 18 3.4 单片机外围电路的设计 19 3.4.1 时钟电路的设计 .19 3.4.2 复位电路的设计 .20 3.4.3 显示电路的设计 .22 第四章 出租车计价器系统软件程序设计 25 4.1 概述 25 4.2 出租车计价器系统总体程序设计 25 4.3 中断子程序的设计 26 4.4 数据处理子程序的设计 27 第五章 系统调试与分析 29 5.1 硬件电路的搭建 29 5.2 调试故障及原因分析 29 5.3 调试结果 29 5.3.1 候时显示 .29 5.3.2 里程显示 .30 5.3.3 停车总价显示 .31 第六章 社会经济效益分析 32 结束语 33 iv 致 谢 34 参考文献 35 附录 出租车计价器系统硬件系统原理图 37 附录 元件清单 38 附录 程序清单 39 1 第一章 绪论 1.1 课题背景 随着我国经济的迅速发展,人民生活水平的显著提高,城市的交通日趋完善, 出租车计价器的应用也越来越广泛。虽然私家车的拥有量在大幅度地提高,但是出 租车还是在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可 少的重要仪器,它是负责出租车营运收费的专用智能化仪表。用户不仅要求计价器 性能稳定、计价准确而且对它的要求也越来越高。 近年来,我国出租汽车行业迅猛发展,出租汽车已经成为我国城市公共交通的 重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交 通工具。出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出 租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离 和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车的 经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器计价准 确与否,直接关系到经营者和消费者的经济利益。依据国家有关法律、法规,出租 汽车计价器是列入国家首批强制检定的工作计量器具之一,也是近年来国家质量技 术监督部门强化管理的六类重点计量器具之一。 出租车行业在我国是八十年代初兴起的一项新兴行业,随着我国国民经济的高 速发展,出租汽车已成为城市公共交通的重要组成部分。多年来国内普遍使用的计 价器只具备单一的计量功能。目前全世界的计价器中有 90%为台湾所生产。现今我 国生产计价器的企业有上百家,主要是集中在北京,上海,沈阳和广州等地。 现在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关 注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志, 是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论 是对广大出租车司机朋友还是乘客来说都是很必要的。 而自从单片微型计算机 1976 年问世以来发展非常迅速,现在已成为微型计算机 一个很重要的分支,在现实生活中应用越来越广泛,已经对人类产生了巨大的影响, 尤其是美国 intel 公司的 mcs51 系列单片机,由于其集成度高、处理功能强、性 2 能价格比高、可靠性高、系统结构简单,可以灵活的与其他芯片组成众多的测量电 路用于速度、温度、深度、高度、湿度、光强等方面的测量和研究等特点,在我国 现代化生活、生产中已经得到了广泛的应用,如在工业检测控制、仪器仪表、电子 工业、机电一体化等众多领域取得了令人瞩目的成果。本设计利用 mcs51 系列单 片机扩展方便、可靠性能高、处理功能强、速度高等特点,实现对出租车里程的测 量。 1.2 课题的主要任务及内容 本课题主要任务是利用霍尔元件、单片机等部件设计一个可用 lcd 实时显示里 程、候时时间和总价的出租车计价器系统。基于此任务,本课题的内容主要分为软 件和硬件两大部分,在遵循软硬件相结合的原则下,先熟悉软件环境,然后进行硬 件电路设计,再根据设计的硬件进行软件编程,进行模块化设计,并对各模块进行 调试,再焊接电路板,最后软硬件进行调试。 本文主要介绍了出租车计价器系统的设计思想、电路原理、方案论证以及元件 的选择等内容,整体上分为硬件部分设计和软件部分设计。 本文首先扼要介绍了该课题的产生背景、主要任务和内容;接着针对该课题的 任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了出租车计价 器系统的硬件设计,包括传感器的选择、单片机的选择、显示电路的设计;然后阐 述了该出租车计价器系统的软件设计,包括数据处理子程序的设计、显示子程序的 设计;最后针对仿真过程和硬件搭建过程中遇到的问题进行了具体说明与分析,对 本次设计进行了系统的总结,并对其进行了综合经济效益分析。 本文的核心部分是第 3、4、5 章。这 3 章内容具体介绍了硬件设计过程、软件 设计过程和系统仿真过程。 具体的硬件电路包括 stc89c54 单片机的外围电路以及 lcd 显示电路等。在电 路板上每一个硬件电路焊接完成后,每一部分单独调试,在各个部分调试成功后, 联调整个硬件电路,最后做出分析,得出结论。 软件设计包括:芯片的初始化程序、定时中断采样子程序、显示子程序等,软 件采用 c 语言编写,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐 3 一设计,再分别进行调试,最后联调整个程序,判断是否达到预期的要求,得出结 论。仿真是整个设计的重要一环,也是设计能否实现的关键。 4 第二章 出租车计价器系统总体方案设计 2.1 任务分析与实现 本次毕业设计的题目是:出租车计价器系统设计。 其设计的任务是:以通用 mcs-51 单片机为处理核心,用传感器将车轮的转数 转换为电脉冲,进行处理后送入单片机。里程的测量,是经过 mcs-51 的定时/计数 器测出总的脉冲数乘以每圈 5 米,再经过单片机的计算得出的,其结果通过 lcd 显 示器显示出来。 本系统总体思路如下:假定轮圈的周长为 l,在轮圈上安装 m 个永久磁铁,则 测得的里程值最大误差为 l/m。经综合分析,本设计中取 m=1。当轮子每转一圈, 通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚 p3.3 外部中断 1 端输入, 传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一 圈,中断数 n 与轮圈的周长 l 的乘积为里程值。 要求达到的各项指标及实现方法如下: (1)利用霍尔传感器产生里程数的脉冲信号。 (2)对脉冲信号进行计数。 实现:利用单片机自带的计数器 t1 对霍尔传感器脉冲信号进行计数。 (3)对数据进行处理,要求用 lcd 显示里程、候时时间和总价。 实现:利用软件编程,对数据进行处理得到需要的数值。 最终实现目标:出租车计价器具有里程、候时时间与总价显示功能,采用单片 机作控制,显示电路可显示里程及总价。整个设计过程包括硬件电路的搭建,软件 的编程,系统的调试,调试通过后,固化程序,脱离开发系统运行。 2.2 出租车计价器系统硬件方案设计 自从 1971 年微型计算机问世以来,随着大规模集成电路技术的不断进步,微型 机主要向两个方向发展:一个向高速度,高性能的高档微型计算机方向发展。一个 向稳定可靠,小而廉价的单片机方向发展。所谓的单片机,就是把中央处理器 cpu、只读存储器 rom、定时 /计数器以及 i/o 接口电路等集成在一块集成电路芯 5 片上的微型计算机。从组成和功能上看,它具有微型计算机的含义。 单片机由于将 cpu、内存和一些必要的接口集成到一个芯片上,并且面向控制 功能将结构作了一定的优化,所以它有一般芯片不具有的特点: (1)体积小、重量轻; (2)电源单一、功耗低; (3)功能强、价格低; (4)全部集成在一块芯片上,布线短、合理; (5)数据大部分在单片机内传送,运行速度快、抗干扰能力强、可靠性高。 在本系统中采用 stc 公司的 89c54 单片机,它具有功能丰富、性能稳定的特点。 2.2.1 里程测量传感器的设计 (1)里程传感器的设计 里程测量传感器的选择有以下几种方案:使用光敏电阻对里程进行测量、利用 编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传 感感器测量里程。这几种方案都是通过出租车车轮转动产生脉冲数,然后根据脉冲 数计算里程。 霍尔传感器 霍尔传感器是对磁敏感的传感元件,常用于信号采集的有 a04e、 cs3020、cs3040 等,这类传感器是一个 3 端器件,外形与三极管相似,只 要接上电源、地,即可工作,通常是集电极开路(oc 门)输出,工作电压范围宽,使 用非常方便。a04e 的外形如图 2.1 所示。 6 1-vcc 2-gnd 3-out 图 2.1 a04e 外形图 使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴 的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁 钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上 粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔 传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出, 可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。 光电传感器 光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射 式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。以红 外光电传感器为例,当有物体挡在红外光电发光二极管和高灵敏度的光电晶体管之 间时,传感器将会输出一个低电平,而当没有物体挡在中间时则输出为高电平,从 而形成一个脉冲。该系统在出租车后轮的轴处保持着与轮子旋转切面平行的方向延 伸附加一个铝盘,在这个铝盘的边沿处挖出若干个圆形过孔,把传感器的检测部分 放在圆孔的圆心位置。每当铝盘随着后轮旋转的时候,传感器将向外输出若干个脉 冲。 光电编码器 光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、 码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种 输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标 测定等需要检测角度的装置和设备中。 2.2.2 方案的确定 光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信 号;光敏电阻对环境的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖, 光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂;霍 尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且 7 安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济 适用。 本系统的硬件系统框图如图 2.2 所示 图 2.2 系统原理框图 其中 lcd 型号为 1602,单片机型号为 stc89c54,霍尔传感器型号为 a04e,键 盘有调整起价按键、停车按键和系统复位按键三个按键。 2.3 出租车计价器系统软件方案设计 硬件是基础,软件是灵魂。通过软件控制单片机的功能是单片机的主要特点和 优点,程序的设计要考虑合理性和可读性。程序遵循模块化设计的原则,采用自顶 向下的设计方法。即先考虑整体目标,明确整体任务,然后把整体任务分成一个个 子任务,子任务再分成子子任务,这样逐层细分,同时分析层次间的关系与同一层 次各任务间的关系,最后拟订出各任务的细节。模块化设计使程序的可读性好、修 改及完善方便。 软件设计包括主程序、行车过程中里程表算子程序、中断服务子程序、显示子 程序等等。 中断子程序是将传感器产生的信号接入外部中断 1,利用中断和定时器对分别 对里程进行累加、每转 5 周的时间进行测量。 数据处理子程序是将进入单片机的脉冲信号与实际要显示值之间有一定的对应 关系,经过软件编程显示所需要的值。 显示子程序是将数据处理的结果送显示器显示。 本系统软件总体流程图如图 2.3 所示。 8 图 2.3 软件总体流程图 图中暂停与否通过电机是否暂停来判断,是否到达目的地通过键盘上的停止按 键控制,按下停止按键即为到达目的地。 9 第三章 出租车计价器系统硬件电路设计 3.1 概述 出租车计价器系统的硬件电路设计是本次毕业设计的基础部分,它包括信号的 捕获、放大、整形,单片机的计算处理,lcd 的实时显示和单片机外围基本电路的 设计。而本章的两大主要器件就是传感器和单片机了。 传感器在人们研究自然现象、规律以及生产实践活动中,起着非常重要的作用。 特别是在当今,科学技术的发展使人类进入了一个信息时代,在利用信息的过程中, 首先要解决的就是获取准确可靠的信息。传感器是获取自然或生产领域中信息的关 键器件,是现代信息系统和各种设备不可缺少的信息采集工具。磁传感器是一种将 磁学量信号转变为电信号的器件或装置。随着信息产业、工业自动化、医疗仪器等 的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换 成可与计算机兼容的电信号。作为输入信号,这就给磁传感器的快速发展提供了机 遇,形成了磁传感器的产业。其中最具代表的磁传感器就是霍尔传感器,在自动检 测系统中,利用霍尔传感器测转数是一种最基本的测量工作。 自从 1971 年微型计算机问世以来,随着大规模集成电路技术的不断进步,微型 机主要向两个方向发展:一个向高速度,高性能的高档微型计算机方向发展。一个 向稳定可靠,小而廉价的单片机方向发展。所谓的单片机,就是把中央处理器 cpu、只读存储器 rom、定时 /计数器以及 i/o 接口电路等集成在一块集成电路芯 片上的微型计算机,可见它的功能非常强大。单片机是本次设计的核心部件,它是 信号从采集到输出的桥梁,而且肩负计算、定时、信息处理等功能。下面我们就具 体介绍一下硬件电路设计的过程。 3.2 传感器及其测量系统 本次设计信号的捕获采用的是霍尔传感器,霍尔器件是一种磁传感器。用它们 可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件以霍尔效应 为其工作基础。 霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命 长、安装方便、功耗小、频率高(可达 1mhz)、耐震动、不怕灰尘、油污、水汽及烟 10 雾等的污染或腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无 磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。取用了各种补偿和保护 措施的霍尔器件工作温度范围宽,可达55150。按照霍尔器件的功能可将它 们分为:霍尔线性器件和霍尔开关器件,前者输出模拟量,后者输出数字量。 按被 检测对象的性质可将它们的应用分为:直接应用和间接应用。前者是直接检测出受 检测对象本身的磁场或磁特性,后者是检测受检对象上人为设置的磁场,用这个磁 场来作被检测的信息的载体。通过它,将许多非电、非磁的物理量例如力、力矩、 压力、应力、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状 态发生变化的时间等,转变成电量来进行检测和控制。 3.2.1 霍尔传感器的测量原理 霍尔传感器是利用霍尔效应制成的一种磁敏传感器。在置于磁场中的导体或半 导体通入电流 i,若电流垂直磁场 b,则在与磁场和电流都垂直的方向上会出现一个 电势差 uh,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因为 它具有结构简单、频率响应宽、灵敏度高、测量线性范围大、抗干扰能力强以及体 积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等 领域。霍尔效应原理图如图 3.1 所示。 x y z b i l u h b d 图 3.1 霍尔效应原理图 3.2.2 集成开关型霍尔传感器 a04e 集成霍尔开关由稳压器 a、霍尔电势发生器(即硅霍尔片)b、差分放大器 11 c、施密特触发器 d 和 oc 门输出 e 五个基本部分组成,如图 3.2(a)所示。(1)、 (2)、(3)代表集成霍尔开关的三个引出端点。在电源端加电压 vcc,经稳压器稳压后 加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直 于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差 vh 输出, 该 vh 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到 oc 门输 出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导 通,此时 oc 门输出端输出低电压,通常称这种状态为开 。当施加的磁场达到释放 点时,触发器输出低电压,三极管截止,使 oc 门输出高电压,这种状态为关 。这 样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定, 此差值称为磁滞, d a b c e v c c ( 1 ) ( 2 ) g n d o u t ( 3 ) ( a ) 0 5 1 0 1 5 2 0 3 6 9 1 2 v o / v b / m t 释放点 ( o f f ) 工作点 ( o n ) ( v ) ( b ) 图 3.2 集成开关型霍尔传感器 在此差值内,v 0 保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开 关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强度 b 与 输出电压 v0 之间的关系。a04e 集成霍尔开关是单稳态型,由测量数据作出的输出 特性曲线如图 3.2(b)所示。测量时 在 1、2 两端加 5v 直流电压,在输出端 3 与 1 之 间接一个 2k 的负载电阻,如图 3.3 所示。 12 1 2 3 4 a b c d 4321 d c b a title number revisionsize a4 date: 8-may-2011 sheet of file: e:2011件件件件件件czcjjq.ddb drawn by: db07 db18 db29 db310 db411 db512 db613 db714 e6 rs4 rw5 u2 1602 r1 1k r2 1k r3 1k r4 1k r5 1k r6 1k r7 1k r8 1k vcc s2 sw-pb s3 sw-pb s4 sw-pb 1 2 y1 11.0592m c1 30p c2 30p r9 res2 10k s5 sw-pb c3 10uf vcc p101 p112 p123 p134 p145 p156 p167 int113 int012 p178 t014 t115 ea16 x119 x218 reset9 rd17 wr16 psen 29 ale/p 30 txd 11 rxd 10 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p27 28 vcc 40 gnd 20 u1 89ssc52 vcc 1 2 3 p1 header 3 vcc vcc 1 2 p2 header 2 vcc 件件件件 件件件件 图 3.3 集成霍尔开关接线图 3.3 单片机的原理及应用 3.3.1 单片机原理简介 单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算 机的各种功能部件,包括 cpu(centralprocessingunit)、随机存储器 ram(randomaccess memory)、只读存储器 rom(read-onlymemory)、基本输入/ 输 出(input/output)接口电路。定时器/计数器等部件都制作在一块集成芯片上,构成一 个完整的微型计算机从而实现微型计算机的基本功能。单片机内部结构示意图如图 3.4 所示。 单片机实质上是一个芯片。在实际应用中,通常很少将单片机直接和被控对象 进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件, 才能构成一个单片机应用系统。 图 3.4 单片机内部结构示意图 13 (1)中央处理器 中央处理器是单片机最核心的部分,主要完成运算和控制功能。 (2)内部存储器 内部存储器包括内部数据存储器(内部 ram)和内部程序存储器。存储器是由 大量的寄存器所组成,其中每一个寄存器就称为一个存储单元。 (3)定时/计数器 单片机的定时器和计数器是同一结构,只是计数器记录的是单片机外部发生的 事件,由单片机的外部电路提供计数信号;而定时器是由单片机内部提供一个非常 稳定的计数信号。 (4)中断系统 中断系统在计算机中起着十分重要的作用,是现代计算机系统中广泛采用的一 种实时控制技术,能对突发事件进行及时处理,从而大大提高系统的实时性能。 (5)串行 i/o 接口 串行 i/o 口的数据各位按顺序传输,其特点是需要一对传输线,成本低;但速 度慢,效率低,适合静态显示。 (6)并行 i/o 接口 并行 i/o 接口的数据所有位同时传送。其特点是传输速度快,效率高;但传送 多少位就需要多少根传输线,因此传送成本高,适合动态显示。 3.3.2 单片机的引脚功能介绍 stc89c54 是 stc 公司生产的低电压,高性能 cmos 8 位单片机,片内含 8k bytes 的可反复擦写的只读程序存储器(eprom )和 256 字节的随机存取数据存储 器(ram) ,器件采用 stc 公司的高密度、非易失性存储技术生产,与标准 mcs- 51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器(cpu)和 flash 存 储单元,功能强大,stc89c54 单片机适合于许多较为复杂控制场合应用。 14 图 3.5 stc89c54 引脚图 stc89c54 提供以下标准功能:8k 字节 flash 闪速存储器,256 字节内部 ram,32 个 i/o 口线,3 个 16 位定时/计数器,一个全双工串行通信口,片内具有 振荡器及时钟电路。同时,stc89c54 可降至 0hz 的静态逻辑操作,并支持两种软 件可选的节电工作模式。空闲方式停止 cpu 的工作,但允许 ram,定时/计数器, 串行通信口及中断系统继续工作。掉电方式保存 ram 中的内容,但振荡器停止工 作并禁止其它所有部件工作直到下一个硬件复位。stc89c54 管脚图如图 3.5 所示。 stc89c54 的主要管脚功能如下: p0.0p0.7:p0 口是一组 8 位漏极开路型双向 i/o 口,也是地址/ 数据总线复用 口。作为输出口用时,每位能吸收电流的方式驱动 8 个 ttl 逻辑门电路,对端口 p0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这 15 组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 p1.0p1.7:p1 是一个带内部上拉电阻的 8 位双向 i/o 口,p1 的输出缓冲极可 驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口写“1” ,通过内部的上拉电 阻把端口拉到高电平,此时可作输入口。 p2.0p2.7:p2 是一个带内部上拉电阻的 8 位双向 i/o 口,p2 的输出缓冲极可 驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口 p2 写“1” ,通过内部的上 拉电阻把端口拉到高电平,此时可作输入口。 p3.0p3.7:p3 是一个带内部上拉电阻的 8 位双向 i/o 口,p3 的输出缓冲极可 驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口 p3 写“1” ,通过内部的上 拉电阻把端口拉到高电平,此时可作输入口。 ale:地址锁存控制信号。在系统扩展时,ale 用于控制把 p0 口输出的低 8 位地址锁存起来,以实现低位地址和数据的隔离。此外,由于 ale 是以晶振 16 的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。 :外部程序存储器读选通信号。在读外部 rom 时, 有效(低电平),psen psen 以实现外部 rom 单元的读操作。 :访问程序存储控制信号。当 信号为低电平时,对 rom 的读操作限定aea 在外部程序存储器;当 信号为高电平时,对 rom 的读操作是从内部程序存储器e 开始,并可延至外部程序存储器。 rst:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有 效,用以完成单片机的复位初始化操作。 xtall 和 xtal2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于 外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 vss:地线。 vcc:+5v 电源。 以上是 mcs-51 单片机芯片 40 条引脚的定义及简单功能说明。 由于工艺及标准化等原因,芯片的引脚数目是有限制的。例如,mcs-51 系列 把芯片引脚数目限定为 40 条,但单片机为实现其功能所需要的信号数目却远远超过 此数,因此就出现了需要与可能的矛盾。如何解决这个矛盾? “兼职”是唯一可行 16 的办法,即给一些信号引脚赋以双重功能。如果把前述的信号定义为引脚第一功能 的话,则根据需要再定义的信号就是它的第二功能。下面介绍一些信号引脚的第二 功能。 (1) p3 口线的第二功能。p3 的 8 条口线都定义有第二功能,如表 3.1 所示 表 3.1 p3 口引脚与第二功能 引脚 第二功能 信号名称 p3.0 rxd 串行数据接收 p3.1 txd 串行数据发送 p3.2 0int外部中断 0 申请 p3.3 1外部中断 1 申请 p3.4 t0 定时/计数器 0 的外部输入 p3.5 t1 定时/计数器 1 的外部输入 p3.6 wr外部 ram 写选通 p3.7 d外部 ram 读选通 (2) eprom 存储器程序固化所需要的信号。有内部 eprom 的单片机芯片(例 如 8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚 以第二功能的形式提供的,即: 编程脉冲:30 脚(ale/ )prog 编程电压(25v) :31 脚( /vpp)ea (3) 备用电源引入。mcs-51 单片机的备用电源也是以第二功能的方式由 9 脚 (rst/vpd)引入的。当电源发生故障,电压降低到下限值时,备用电源经此端向内 部 ram 提供电压,以保护内部 ram 中的信息不丢失。 3.3.3 单片机中断系统介绍 在本次设计当中,中断部分的设计尤为重要,所谓中断,是当计算机执行正常 程序时,系统中出现某些急需处理的事件,cpu 暂时中止当前的程序,转去执行服 务程序,以对发生的更紧迫的事件进行处理,待处理结束后,cpu 自动返回原来的 17 程序执行。stc89c54 系列单片机的系统有 5 个中断源,2 个优先级,可实现二级中 断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器 ie 控制 cpu 是否响应中 断请求;有中断优先级寄存器 ip 安排各优中断源的优先级;同一优先级内各终端同 时提出中断请求时,由内部的查询逻辑确定其响应次序。 本次设计采用的外部中断方式包括外部中断 0 和外部中断 1,它们的中断请求信 号分别由单片机引脚 /p3.2 和 /p3.3 输入 。0int1i 外部中断请求有两种信号方式:电平触发方式和脉冲触发方式。电平触发方式 的中断请求是低电平有效。只要在 和 引脚上出现有效低电平时,就激活0itn 外部中断方式。脉冲触发方式的中断请求则是脉冲的负跳变有效。在这种方式下, 在两个相邻机器周期内, 活 引脚电平发生变化,即在第一个机器周期内in1 为高电平,第二个机器周期内为低电平,就激活外部中断。由此可见,在脉冲方式 下,中断请求信号的高电平和低电平状态都应至少维持一个机器周期,以使 cpu 采 样到电平状态的变化,本次设计所采用的触发方式为脉冲触发方式。 (1)中断允许控制 cpu 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器 ie 控制的。ie 的状态可通过程序由软件设定,某位设定为 1,相应的中断源中断允许; 某位设定为 0,相应的中断源中断屏蔽。cpu 复位时,ie 各位为 0,禁止所有中断。 ie 寄存器各位的定义如下。 ex0( ie.0)外部 中断允许位;0int et0(ie.1)定时/计数器 t0 中断允许位; ex1( ie.2)外部 中断允许位;1i et1(ie.3)定时/计数器 t1 中断允许位; es(ie.4)串行口中断允许位; ea(ie.7)cpu 中断允许位。 (2)中断优先级控制 stc89c54 单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源 的中断优先级都是由中断优先级寄存器 ip 中的相应的状态来规定的。ip 的状态由软 18 件设定,某位设定为 1,则相应的中断源为高优先级中断;某位设定为 0.则相应的 中断源为低优先级中断。单片机复位时,ip 各位清 0,各中断源同为低优先级中断。 ip 寄存器各位的定义如下。 px0(p.0)外部中断 优先级设定位;0int pt0(ip.1)定时/计数器 t0 中断优先级设定位; px1(ip.2)外部中断 中断优先级设定位;1i pt1(ip.3)定时/计数器 t1 中断优先级设定位; ps(ip.4)串行口中断优先级设定位。 3.3.4 单片机定时/计数功能介绍 stc89c54 单片机定时/计数器的工作由两个特殊功能寄存器控制。tmod 用于 设置其工作方式;tcon 用于控制其启动和中断请求。 (1)工作方式寄存器 tmod 工作方式寄存器 tmod 用于设置定时/计数器的工作方式。 gate:门控位。 gate=0 时,只要用软件使 tcon 中的 tr0 或 tr1 为 1,就 可以启动定时/计数器工作;gate=1 时,要用软件 tr0 或 tr1 为 1,同时外部中断 引脚 或 也为高电平时,才能启动定时/计数器工作。0int1 :定时/计数模式选择位。 =0 为定时模式; =1 为计数模式。ctc/ tc/ m1m2:工作方式设置位。定时/计数器有 4 种工作方式,由 m1m2 进行设置。 本次设计 tmod 为 90h,即选通定时/计数器 1、定时功能、工作方式 1。工作 方式 16 位定时/计数器。 (2)控制寄存器 tcon tf1(tcon.7)定时/计数器 t1 溢出中断请求标志位。定时/计数器 t1 计数溢出时 由硬件自动置 tf1 为 1。cpu 响应中断后 tf1 由硬件自动清零。t1 工作时,cpu 可随时查询 tf 的状态。所以,tf1 可用作查询测试的标志。tf1 也可以用软件置 1 或清零,同硬件置 1 或清零的效果一样。 tr1(tcon.6)定时/计数器 t1 运行控制位。tr1 置 1 时时,定时/ 计数器 t1 开 始工作;tr1 置 0 时,定时/计数器 t1 停止工作。 tr1 由软件置 1 或清 0。 19 tf0(tcon.5):定时/计数器 t0 溢出中断请求标志位。 tr0(tcon.4):定时/计数器 t0 运行控制位。 定时/计数器控制寄存器 tcon 是 8 位寄存器,地址为 88h,可以位寻址。其高 4 位用于定时/计数器中断控制,低 4 位借给外部中断,用做中断标志和触发方式选 择位。本次设计采用定时中断,对系统的里程进行计数。 3.4 单片机外围电路的设计 3.4.1 时钟电路的设计 时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条 不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量 也直接影响单片机系统的稳定性。stc89c54 片内由一个反相放大器构成振荡器, 可以由它产生时钟。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为 外部时钟方式。本设计采用前者。 单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器 的输入为芯片引脚 xtal1,输出端为引脚 xtal2。这两个引脚跨接石英晶体振荡 器和电容,就构成一个稳定的自激振荡器。单片机内部时钟方式的振荡电路如图 3.6 所 示。 20 图 3.6 单片机片内振荡电路 电路中的电容 c1 和 c2 常选择为 30pf 左右。对外接电容的值虽然没有严格的要 求,但电容的大小会影响振荡器的高低、振荡器的稳定性、起振的快速性和温度的 稳定性。而外接晶体的振荡频率的大小,主要取决于单片机的工作频率范围,每一 种单片机都有自己的最大工作频率,外接的晶体振荡频率不大于单片机的最大工作 频率即可。此外,如果单片机有串行通信,则应该选择振荡频率除以串行通信频率 可以除尽的晶体。本设计晶振采用 12mhz,则计数周期为 shzt)( 121026 3.4.2 复位电路的设计 stc89c54 单片机的复位输入引脚 ret 为 stc89c54 提供了初始化的手段。有 了它可以使程序从指定处开始执行,即从程序存储器中的 0000h 地址单元开始执行 程序。在 stc89c54 的时钟电路工作后,只要在 ret 引脚上出现两个机器周期以上 的高电平时,单片机内部则初始复位。只要 ret 保持高电平,则 stc89c54 循环复 21 位。只有当 ret 由高电平变成低电平以后,stc89c54 才从 0000h 地址开始执行程 序。 本系统的复位电路是采用按键复位的电路,如图 3.7 所示,是常用复位电路之 一。单片机复位通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源, 电容 c 相当于瞬间短路,+5v 立即加到 ret/vpd 端,该高电平使 stc89c54 全机 自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。 按下按钮,则直接把+5v 加到了 ret/vpd 端从而复位称为手动复位。复位后,p0 到 p3 并行 i/o 口全为高电平,其它寄存器全部清零,只有 sbuf 寄存器状态不确定。 图 3.7 按键复位电路 工作原理:上电瞬间,rc 电路充电,rst 引脚出现高电平,只要 rst 端保持 10ms 以上高电平,就能使单片机有效地复位。 22 3.4.3 显示电路的设计 本设计中采用 lcd1602 显示。在单片机系统中,通常用 lcd 显示器来显示各 种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此 使用非常广泛。 图 3.8 为 lcd1602 硬件接线图。 1 2 3 4 a b c d 4321 d c b a title number revisionsize a4 date: 8-may-2011 sheet of file: e:2011件件件件件件czcjjq.ddb drawn by: db07 db18 db29 db310 db411 db512 db613 db714 e6 rs4 rw5 u2 1602 r1 1k r2 1k r3 1k r4 1k r5 1k r6 1k r7 1k r8 1k vcc s2 sw-pb s3 sw-pb s4 sw-pb 1 2 y1 11.0592m c1 30p c2 30p r9 res2 10k s5 sw-pb c3 10uf vcc p101 p112 p123 p134 p145 p156 p167 int113 int012 p178 t014 t115 ea16 x119 x218 reset9 rd17 wr16 psen 29 ale/p 30 txd 11 rxd 10 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p27 28 vcc 40 gnd 20 u1 89ssc52 vcc 1 2 3 p1 header 3 vcc vcc 1 2 p2 header 2 vcc 件件件件 件件件件 图 3.8 显示电路 图 3.9 为 lcd1602 总线方式。 图 3.9 lcd1602 总线方式 23 表 3.2 为 lcd1602 接口信号说明。 表 3.2 lcd1602 接口信号说明 表 3.3 为 lcd1602 基本操作时序。 表 3.3 lcd1602 基本操作时序 表 3.4 为 lcd1602 状态字说明。 表 3.4 lcd1602 状态字说明 24 表 3.5 为 lcd1602 ram 地址映射。 表 3.5 lcd1602 ram 地址映射 表 3.6 为 lcd1602 指令说明。 表 3.6 lcd1602 指令说明 25 第四章 出租车计价器系统软件程序设计 4.1 概述 在硬件设计完毕之后,接下来就是设计中最核心和最为主要的软件部分设计。 所谓软件设计就是把软件需求变换成软件的具体设计方案(即模块结构)的过程。模 块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功 能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系 统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置 找出问题的根源,从而更快地解决问题。所以说,在整个设计过程中,软件设计必 须与硬件设计紧密地结合在一起。 基于霍尔传感器出租车计价器系统的软件设计包括上电初始化程序、中断子程 序、里程调用子程序等几大部分。由于要实现很多功能,所以采用模块化设计,下 面就其主要部分分别加以分析。 4.2 出租车计价器系统总体程序设计 在主程序模块中,需要完成对各接口芯片的初始化、出租车里程的初始化、中 断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启 动/清除标志寄存器、里程寄存器,并对它们进行初始化。然后主程序将根据各标志 寄存器的内容,分别完成启动、清除、计程等不同的操作。 p3.7高电平为显示里程低电平启动计时器。中断0用于对轮子圈数的计数输入, 轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存器中的内容计算 和判断出行驶里程数。中断1用于控制定时器t1的启 /停,当输入为0时关闭定时器。 此控制信号是将轮子圈数的计数经二分频后形成。其程序流程如图4.1所示。 26 图 4.1 主程序流程图 4.3 中断子程序的设计 定时中断是为满足定时或计数的需要而设置的。为此在单片机内部有两个定时/ 计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发 生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请 求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单 片机芯片内部发生的,因此无须在芯片上设置引入端。 27 定时/计数器控制寄存器 tcon 是 8 位寄存器,地址为 88h,可以位寻址。其高 4 位用于定时/计数器中断控制,低 4 位借给外部中断,用做中断标志和触发方式选 择位。本设计采用定时中断,对系统的里程进行计数。中断子程序流程图如图 4.2 所示。

温馨提示

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

评论

0/150

提交评论