基于51单片机的出租车计价器设计毕业设计论文.doc
第一章 绪论1.1出租车计价器的研究背景及意义1.1.1研究背景当今社会,随着生活水平的日益提高,衣食住的享受已不能满足人们的需求,出行的舒适度已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受,所以越来越受到广大群众的欢迎。我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。重庆市起重机厂是我国的第一家生产计价器企业,最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能。可以这么说,早期的计价器就是一个里程表,并且,总存在着买卖纠纷等各种问题困扰着行业的发展。而改良出租车计价器是在出租车行业中解决这一矛盾的最好方法,用更加精良的计价器来为乘客提供更加优质的服务。随着改革开放日益深入,出租车行业的迅猛发展,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。出租车行业已成为象征着城市文明的窗口,现在各大中城市出租车行业都已普及自动计价器,计价器技术的发展已成定局,所以未来汽车计价器的市场还是十分有潜力的。1.1.2 研究意义凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如3KM)计费数字显示开始从起步价(如7元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。出租车计价的的原理简单的概括为以下几个方面:l 里程传感器:采集车速信号,(也可以自己做车速传感器,采用霍尔效应做),车速信号为脉冲信号,采集脉冲信号的频率就可以得到车速,可以用到芯片的定时器捕获。如果车速大于一定的值,采用公里数计算价格,如果车速小于这个值,就可以用时间计算。l 计算公里数:应用芯片计算其公里数。l 计算时间:用到芯片定时器确定时间,或者用RTC中断采集到更精确的时间。l 显示:用数码管或液晶显示公里数,时间,以及价格,可以用芯片驱动数码管或者用芯片驱动液晶空车牌来提供计价器计价的信号。l 打印机:打印机来打印所需要的票据,通过排线连接计价器主机。 随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可以完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善.当单片机出现并应用于计价器后,现代出租车计价器的模型也就基本具备了,它可以完成计程,计价,显示等基本工作。 本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,通过学习与实验设计,将所学的知识更好的与生活相联系,做到“学有所用,学以致用”。通过前面的介绍,我们可以非常清楚的了解道到出租车计价器是出租车行业发展的重要标志,是出租车中最重要的工具,并且它关系着交易双方的利益,具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。所以,我们在设计的过程中为们必须做到,简单、精确、实用、耐用。由于采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,不利于推广。为此在各种利弊权衡之后,最终决定采用单片机进行设计。单片机相对来说功能强大,用较少的硬件和适当的软件相互配合就可以很容易的实现设计要求,对于初学者来说简单易上手,且灵活性强,可以通过软件编程来完成更多的附加功能。1.2 单片机概览1.2.1 单片机的含义单片机(Single Chip Microcomputer,SCMC)亦称单片微电脑或单片微型计算机,国际上统称为微控制器(Microcontrollor,MCU,C),是一类内部集成了计算机核心技术的智能芯片。当今世界把计算机分为嵌入式计算机和通用计算机两大类,二单片机正是属于后者。嵌入式计算机是以嵌入式系统的形式隐藏在各种装置、产品和系统中。如果说把人看成是一个系统,人脑就是一台典型的嵌入式计算机。嵌入式系统的核心部件有以下3类:嵌入式微处理器、嵌入式DSP处理器和微控制器。顾名思义,微控制器主要用于控制领域,用于实现各种控制测试和控制功能。虽然微控制器只是一块芯片,但是从组成和和功能上来看,它已经具备了计算机系统的属性,因此可以称之为单片微型计算机(Single Chip Microcomputer,SCMC),简称单片机。如果说单片机是国人给该类芯片定义的一个俗名或土名,那么微控制器则是国际上公认的一个学名。单片机的称呼是从它的外观形态、外部表现、存在形式定名的,而微控制器的称谓则是从它的内在本质、功能特点、应用方向确定的。与单片机一词成并列关系的有单片机、计算机系统,与微控制器一词成并列关系的有未处理器、数字信号处理器等。单片机就是把中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入/输出端口I/O等主要的计算机功能部件,都集成在一块集成电路芯片上,从而形成一部概念上完整的微型计算机。换言之,把微型计算机的所有功能部件都集成并封装在一块芯片之内而构成一部超微型计算机,称其为单片机。单片机的设计目标主要是增强“控制”能力,满足实时控制(就是快速反应)方面的需要。因此,它在硬件结构、指令系统、I/O端口、功率消耗及可靠性等方面均有其独特之处,其最显著的特长之一就是具有非常有效的控制功能。尽管单片机主要是为控制目的而设计的,他仍然具备通用型计算机的全部特征,“麻雀虽小,五脏俱全”。既然单片机是一部概念上完整的微型计算机,那么单片机的功能部件和工作原理与微型计算机也是基本相同的。如图1-1所示,一台微型计算机是由运算器、控制器、存储器、输入设备、和输出设备和若干集成电路组成的。虽然微型计算机技术得到了充分的发展,但是微型计算机在系统结构上仍然属于经典计算机结构。这种结构是由计算机的开拓者数学家约翰·冯·诺依曼最先提出的,所以称之为冯·诺依曼计算机体系结构。而8051系列单片机用的是哈佛结构。 存储器输入设备输出设备 运算器 控制器 图1-1 微型计算机的基本结构 1.2.2单片机的发展史 单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。 而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。1.2.3单片机的特点及应用范围l 高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。l 控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。l 低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。l 易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。l 优异的性能价格比 单片机的性能极高,为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。据统计,我国的单片机年容量已达13亿片,且每年以大约16的速度增长,但相对于国际市场我国的占有率还不到1。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。提到单片机的应用,有人这样说,“凡是能想到的地方,单片机都可以用的上”,这样说并不夸张。因此,单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下几个领域。l 电信l 家用电器l 计算机外围设备l 办公自动化l 工业控制l 商用电子l 电子玩具l 仪器仪表l 汽车电子l 军用电子1.2.4 51系列单片机51系列单片机是在美国Intel公司于20世纪80年代推出的MCS-51系列高性能8位单片机的基础上发展而来的,它在单一芯片内集成了并行I/O口、异步串行口、16位定时器/计数器、中断系统、片内RAM和片内ROM,以及其他一些功能部件。现在51系列单片机已经有了很大的发展,除了Intel公司之外,Philips、Siemens、Fujutsu、OKI、Atmel、SST、Winbond等公司都推出了以8051为核心的新一代8位单片机。不同公司推出的51具有各自的功能和特点,但它们的内核都是以Intel公司的MCS-51为基础的,并且指令系统兼容,从而给用户带来了广阔的选择范围,同时又可以采用相同的开发工具。51系列单片机在存储器上的配置上采用所谓“哈佛”结构,即在物理上具有独立的程序存储器和数据存储器,而在逻辑上采用相同的地址空间,利用不同的指令和寻址方式进行访问,可分别寻址64KB的程序存储空间和64KB的数据存储空间,充分满足工业测量控制的需要。80C51系列单片机指的是MCS-51系列和其他公司的衍生产品、变异产品、派生产品的总称。有些衍生产品是再标准MCS-51基础上精简部分一觉和缩减产品功能二形成的(例如AT89C1051、AT89C2051、51LPC系列、LPC900系列等)。而越来越多的衍生产品是在标准MCS-51的基础上增加了一些片内外设模块,还增强了一些实用功能而形成的(例如,Flash程序存储器、EEPROM数据存储器、模拟/数字转换器模块ADC、数字/模拟转换器模块DAC、可编程计数器阵列PCA、双数据指针、看门狗功能WDT、模拟比较器、SPI串口、I2C串口、CAN串口、I-Wire串口、USB串口、双串行通信接口UART、在系统内编程ISP、在应用中编程IAP、融入可编程逻辑器件PLD、增加并行端口、无线收发接口、红外线收发接受扣等功能)。这些增强的51兼容产品,给传统的80C51单片机注入了新的活力,也拓展了更广泛的应用开发前景。 一个单片机芯片包括:l 中央处理器CPU,它是单片机的核心,用于产生各种控制信号,并完成对数据的算术逻辑运算与传送;l 内部数据存储器RAM,用于存放可以读写的数据;l 内部程序存储器ROM,用于存放程序指令或某些常数表格;l 21个特殊功能寄存器;l 4个8位的并行I/O接口P0、P1、P2、和P3,每个口都可以用做输入或者输出;l 2个(8051)或3个(8052)定时器/计数器,用来作外部事件计数器,也可以用来定时;l 内部中断系统具有5个中断源,2个优先级的嵌套中断结构,可以实现二级中断服务程序嵌套,每一个中断源都可以用软件程序规定为高优先级中断或低优先级中断;l 一个可编程全双工串行接口,可以用于异步接受发生器;l 内部时钟,单晶体和微调电容需要外接,振荡频率可以高达40MHZ。l 一个具有位寻址功能、适于逻辑运算的位处理器。80C51单片机的内部结构如图1-2所示,其核心部件为中央处理单元或中中央处理器(CPU),它包括运算电路和控电路两大部分。运算电路以算术逻辑单元为核心,包括累加器(ACC)、寄存器(B)、程序状态字(PSW)和两个暂存寄存器(TMP)等。算术逻辑单元是一个8位的全加器,它通过各部分的共同作用可以实现各种算术运算逻辑运算、数据传输和程序转移等功能。控制器在单片机内部协调各功能部件之间的数据传送和运算操作,是保证单片机各部分能在程序运行过程中自动而协调工作的指挥枢纽。 P0.0P0.7 P2.0P2.7P2驱动P0驱动P0锁存器RAM地址寄存器RAMFPEROMP2锁存器动 程序地址寄存器ACCB寄存器堆栈指针缓冲TMP1TMP2PC增加1中断、串行口和定时器ALUPCPSW指令寄存器PSENDPTR定时控制P3锁存器P1锁存器OSCP1驱动P1驱动 P3.0-P3.7P1.0-P1.7 图1-2 80C51单片机内部结构图1.2.5 单片机的学习方法 知识上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。一般的大学毕业生都可以了,自学过这2门课程的高中生也够条件。设备上,一般是建议购买一个仿真器,单片机的学习分两方面,一方面是单片机的原理及内部结构,另一方面是单片机的接口技术。这些都是需要平时多积累,多动手,多思考,这样才能学好单片机技术。单片机学习的4个阶段l 整体了解 要知道单片机是什么,单片机有何用,如何系统学习单片机,单片机系统设计的流程是怎样的,需要掌握哪些辅助软件。了解这些之后,我们的学习就有了目标和方法。l 揭秘 单片机很难学,是因为其内部结构、编程语言抽象,且实际应用中与其他电子技术和元器件知识相互关联,需结合起来一起设计开发产品。所以,第二阶段要了解单片机的内部结构是怎样的,单片机开发经常会用到哪些电子技术和元器件知识,如何将一条条编程指令组合成一段段有效的程序。l 解密 之所以单片机能成为控制核心,设计出包罗万象的应用系统来,是因为开发者利用了单片机提供的种种功能及各种外设。所以,第三阶段我们要掌握单片机的各种功能,再加上诸如传感器、模数转换、扫描显示、串行、中断的应用思维,结合更多的元器件、电子电路知识,逐个学习、体会实际的单片机系统的秘密。l 远航 通过以上三个阶段,读者基本就可掌握单片机的应用了。但要设计出丰富的单片机系统,解决复杂的实际问题,还需要了解更多的外设知识及其与单片机的联系(如电动机、各类存储器、继电器、红外管等)。这些需要不断的学习和积累。有时候,接到一些开发任务,就需要你针对这个任务自觉地去搜集、学习相关知识,在实践中不断载学习和提高。 第二章 计价器的功能设计与方案2.1 功能设计此次出租车计价器的设计内容主要包括:起步价,白天/晚上不同收费,拼车收费3个部分。根据调查,烟台地区的出租车计价器收费情况如下:l 起步价为7元,不超过3公里不额外收费;l 超过3公里但不超过10公里时,白天每公里2元,晚上每公里2.5元;拼车时白天每公里1元,晚上1.5元;l 超过10公里时,白天每公里2.5元,晚上每公里3.5元;拼车时白天每公里2元,晚上每公里3元。显示部分才用LED液晶显示屏,分为6位。里程显示3位,精确到公里;价格显示3位,精确到元。2.2 设计方案金额显示AT89C51单片机里程显示按键控制 脉冲上输入 译码器 串口显示驱动电路 图2-1 总体设计方案图AT89C51单片机有较大的活动空间,利用其丰富的IO端口,及其控制的灵活性,不但能实现基本的里程计价功能和价格调节、时钟显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。l 按键控制:通过按键控制行驶里程数,白天/晚上,拼车计价方式的转换。l 脉冲输入:用计数脉冲代替车轮上的霍尔元件,给单片机里程信号,进行里程计数。l AT89C51单片机:计价器的核心,完成控制,运算等工作。l LED显示单元:采用动态显示的方法,显示金额与里程。l 译码器单元:选用74LS138译码器进行片选译码,同时对P1口地址进行拓展实现显示部分的选择l 串行口驱动单元:由于单片机的P0口及P1口的驱动电路较小,不足以驱动LED显示单元的显示,因此需要外接驱动将电流增大。 第三章 硬件设计3.1 控制核心芯片AT89C51 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,它的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.1 AT89C51的主要特性l 与MCS-51系列单片机产品兼容;l 4K字节在系统可编程Flash存储器(片内具有4K字节闪速存储器);l 1000次擦写周期;l 128Bytes的内部RAM单元;l 4个8位I/O口,即32位可编程I/O口线;l 2个16位定时器/计数器;l 6个中断源;l 可编程全双工串行口;l 低功耗空闲和掉电模式;l 掉电后中断可唤醒;l 看门狗定时器l 双数据指针l 灵活的ISP在线编程功能(字或字节模式);l 宽范围的工作电压,VCC的允许变化范围为了2.76.0V;l 可设置为待机状态和掉电状态;l 振荡器及时钟电路,全静态工作方式,时钟频率可为0Hz24MHz。具有全静态的工作方式,表明它不一定要求连续的工作时钟定时,在等待内部事件期间,时钟频率可降至0;l AT89C51芯片在出厂时,闪存处于可擦除状态,各地址单元内容为FFH,可随时进行编程。编程是按字节进行的。编程电压VPP有高压12V的,也有低压5V的。3.1.2 AT89C51单片机的引脚图: 图3-1 AT89C51单片机引脚图下面对其主要引脚进行简介:l VCC:供电电压。l GND:接地l P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。l P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。l P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故,P2口在FLASH编程和校验时接收高八位地址信号和控制信号。l P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行输入口) P3.2 /INT0(外部中断0) P3.4 T0(计时器0外部输入) P3.5 T1(计时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。l RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。l ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。l /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。l /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。l XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。l XTAL2:来自反向振荡器的输出。3.1.3 中断服务系统简介由于在设计的过程中主要用到单片机的中断服务系统,所以下面对中断服务系统进行简介:l 中断的基本概念:可以举例说明,例如:你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。l 中断源及中断请求:向单片机发出中断请求的来源称为中断源。AT89C51单片机的中断源共有5个,分别是两个外部中断源、两个定时中断源和一个串行中断源。l 中断系统结构:为了保证系统安全可靠,使用灵活,51系列单片机的中断系统采用多级管理的机制。为了为了解决多级嵌套问题,51单片机还设置了两级中断优先级。51系列单片机的中断系统由中断源、中断请求标志位、中断允许寄存器IE,中断优先级寄存器IP及其他辅助电路。l 中断优先级的控制原则和逻辑:低优先级的请求不能打断高优先级的中断服务;同级中断之间不能嵌套;如果同级的多个中断请求同时出现,其中断响应次序按单片机查询次序确定,查询次序为:外部中断0 定时器0 外部中断1 定时中断1 串行中断。l 中断处理过程:要满足单片机的中断响应条件(有中断源发出中断请求;中断源对应的中断允许位为1;中断总允许位 EA=1),在满足中断响应的条件下,CPU响应中断,硬件自动将断点地址压入堆栈保护,在中断服务完成后,先撤销该中断请求,CP然后返回原程序的断点(既原来中断的位置),继续原来的程序。3.1.4硬件图: 图3-2 AT89C51单片机3.2 LED显示部分LED(Light Emitling Diode)是发光二极管的缩写,LED显示器是由发光二极管显示字段的单片机输出设备。LED数码管以发光二极管作为发光单元,颜色有单红, 黄,蓝,绿,白,黄绿等效果。单色,分段全彩管可用大楼,道路,河堤轮廓亮化,LED数码管可均匀排布形成大面积显示区域,可显示图案及文字,并可播放不同格式的视频文件。通过电脑下flash、动画、文字等文件,或使用动画设计软件设计个性化动画,播放各种动感变色的图文效果。单片机应用系常采用7段LED数码管作为显示器,这种显示器具有耗电低、配置灵活、线路简单、安装方便、耐振动、价格低廉且寿命长等优点,因此应用广泛。 3.2.1 LED驱动显示原理:LED数码管显示器可以文卫共阴极和共阳极两种结构。l 共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,如图3-3所示。 图 3-3 共阴极结构 图 3-4共阳极结构l 共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,如图3-4所示。单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和 动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。l 静态方式:LED显示器工作在静态显示方式下,共阴极或共阳极点连接在一起接地或+5V;每位的段选线(a-dp)与一个8位并行口相连。如图所示,该图表示了一个四位静态LED显示器电路。该电路每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时间里每一位显示的字符可以各不相同。N位静态显示器要求有N*8根I/O口线,占用I/O口资源较多。故在位数较多时往往采用动态显示方法。l 动态方式在多位LED显示时,为了简化电路,降低成本,将所有位的段选码并联在一起。由一个8位I/O口控制,而共阴点或共阳点分别由相应的I/O口线控制。显示时通过位控信号采用扫描的方法逐位的循环点亮各位数码管。动态显虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有视觉暂留效应,看起来与全部数码管持续点亮的效果完全一样。这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。所以在本次设计的过程中,显示部分采用动态显示。l 硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。l 软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式。 驱动电流:l 显示效果: 由于LED属于电流敏感元件,其正向压降的分散性很大,并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动晶片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。l 安全性: 即使是短时间的电流超载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。 另外,我们所采用的超大型积体电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极体的损害。超大型积体电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。本设计中用到8段LED显示器,下面对其进行简要介绍:8段LED显示器由7条发光二极管组成显示字段,并按“日”字形排列,其引脚图如图3-5所示。这8段发光管分别称为a,b,c,d,e,f,g,有的还带有一个小数点dp,8段LED由此得名,将8段发光管阴极都连在一起,称为共阴极接法,当某个字段的阳极为高电平时,对应的字段就点亮。共阳极接法是将LED显示器的所有阳极并接后连到+5V电源上,当某一字段的阴极为0时,对应的字段就点亮。 图 3-5 8段LED数码管引脚图 如:显示一个“3”字,那么应当是a亮b亮g亮e不亮d亮f不亮c亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。 下面以共阴极接法说明显示字符和数字量与段编码关系。由于加在7段阳极上的电压可以用数字量表示,对于共阴极,如果某位为1,则对应段发光;如为0,则不发光。数字量与段的对应关系如表3-1所示: 表3-1 数码管数字量与段的对应关系表D7 D6 D5 D4 D3 D2 D1 D0dpgfedcba 例如:当加到阳极的数字量为00111111B=3FH时,除dp,g不发光外,其他6段均发光,因此显示一个0字符。对于共阳极接法,加到阴极的数字量为:11000000=C0H,则显示0字符。由此可见,共阳极接法的段选码与共阴极接法的段选码是逻辑“非”关系。3.2.2 硬件图 图 3-6 LED显示部分显示部分分为两部分:前一部分为总金额显示,后一部分为里程显示。在显示的过程中,里程与金额同步显示,里程没增加一公里,金额会根据设定的规则发生相应的变化。这样设计的目的是让顾客可以清楚的看到里程金额的变化,更加的简单直观,这样就可以大幅度的避免顾客与司机之间的纠纷,让旅途更加的愉快! 3.3 片选电路在LED 数码管显示的过程中,字形码的输出控制可采用硬件译码方式,如采用BCD-7段译码/驱动器74LS1281、74LS49、74LS48、CD4511(共阴极)或74LS46、74LS47、CD4513(共阳极),也可用软件表的方式将上述16进制代码经接口输出。在本次设计的过程中,考虑到设计者在学习的过程中都74LS138译码器掌握的比较熟练,选择它作为译码电路的译码器。在动态显示的过程中,各个数码管的公共端接在另一接口的不同位,完成数位选择,即片选,控制各数码管轮流点亮。3.3.1 硬件图 图 3-7 译码器片选电路3.3.2 74LS138简介74LS138的引脚图如图 3-8所示:图3-8 74LS138译码器引脚图74LS138 为3 线8 线译码器,共有 54LS138和 74LS138 两种线路结构型式。工作原理:l 当一个选通端(E1)为高电平,另两个选通端((/E2)和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。l 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。l 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。l 可用在8086的译码电路中,扩展内存。引脚功能:l A.B.C:地址输入端l STA(E1):选通端l /STB(/E2)、/STC(/E3):选通端(低电平有效)l /Y0/Y7:输出端(低电平有效) 3.4 驱动电路3.4.1 硬件图 图3-9 驱动部分硬件图通过学习了解,我们可以知道,AT89C51单片机的P0口的输出电流大约为10mA,P1口由于内部具有上拉电阻,输出电流大约为30mA。6个8段二极管动态显示所需的驱动电流大约为 6*8*10=480mA,因此,仅仅使用单片机是不足以驱动显示电路显示的,还需要外加驱动电路来驱动显示。3.4.2 74ALS245简介74LS245是在单片机中用来驱动led或者其他的设备的常用芯片,它是8路同相三态双向总线收发器,可双向传输数据。接收模式:当片选端/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)。3.5 里程计数单元3.5.1 霍尔元件简介霍尔传感器 AT89C51小磁铁车轮 图3-10传感器测距示意图在实际应用的过程中,计算里程是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的,其原理如图3-10所示。因为A44E 属于开关型的霍尔器件,它的工作电压范围比较宽(4.518V),其输出的信号符合TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ,所以在出租车行业得到了广泛的应用,集成开关型霍尔传感器原理如图3-11所示。图3-11 集成开关型霍耳传感器原理图 A44E 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D 和OC 门输出E 五个基本部分组成。在输入端输入电压CC V ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差H V 输出,该H V 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出。当施加的磁场达到工作点.(即OP B )时,触发器输出高电压(相对于地电位)使三极管导通,此时OC 门输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到释放点(即rPB )时,触发器输出低电压,三极管截止,使OC 门输出高电这种状态为“关”。这样两次电压变换,使霍耳开关完成了一次开关动作。其集成霍耳开关外形及接线如图3-12所示。