基于51单片机的出租车计价器毕业设计论文

第一章 绪论

1.1出租车计价器的研究背景及意义

1.1.1研究背景

当今社会,随着生活水平的日益提高,衣食住的享受已不能满足人们的需求,出行的舒适度已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受,所以越来越受到广大群众的欢迎。

我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。重庆市起重机厂是我国的第一家生产计价器企业,最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能。可以这么说,早期的计价器就是一个里程表,并且,总存在着买卖纠纷等各种问题困扰着行业的发展。而改良出租车计价器是在出租车行业中解决这一矛盾的最好方法,用更加精良的计价器来为乘客提供更加优质的服务。

随着改革开放日益深入,出租车行业的迅猛发展,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。出租车行业已成为象征着城市文明的窗口,现在各大中城市出租车行业都已普及自动计价器,计价器技术的发展已成定局,所以未来汽车计价器的市场还是十分有潜力的。

1.1.2 研究意义 凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如3KM)计费数字显示开始从起步价(如7元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。

出租车计价的的原理简单的概括为以下几个方面:

 里程传感器:采集车速信号,(也可以自己做车速传感器,采用霍尔效应做),车速信号为脉冲信号,采集脉冲信号的频率就可以得到车速,可以用到芯片的定时器捕获。如果车速大于一定的值,采用公里数计算价格,如果车速小于这个值,就可以用时间计算。

 计算公里数:应用芯片计算其公里数。

 计算时间:用到芯片定时器确定时间,或者用RTC中断采集到更精确的时间。  显示:用数码管或液晶显示公里数,时间,以及价格,可以用芯片驱动数码管或

者用芯片驱动液晶空车牌来提供计价器计价的信号。

 打印机:打印机来打印所需要的票据,通过排线连接计价器主机。

随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可以完成计价的工作。 大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善.当单片机出现并应用于计价器后,现代出租车计价器的模型也就基本具备了,它可以完成计程,计价,显示等基本工作。

本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,通过学习与实验设计,将所学的知识更好的与生活相联系,做到“学有所用,学以致用”。通过前面的介绍,我们可以非常清楚的了解道到出租车计价器是出租车行业发展的重要标志,是出租车中最重要的工具,并且它关系着交易双方的利益,具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。所以,我们在设计的过程中为们必须做到,简单、精确、实用、耐用。由于采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,不利于推广。为此在各种利弊权衡之后,最终决定采用单片机进行设计。单片机相对来说功能强大,用较少的硬件和适当的软件相互配合就可以很容易的实现设计要求,对于初学者来说简单易上手,且灵活性强,可以通过软件编程来完成更多的附加功能。

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单片机的特点及应用范围

 高集成度,体积小,高可靠性

单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。

 控制功能强

为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。

 低电压,低功耗,便于生产便携式产品

为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。

 易扩展

片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。

 优异的性能价格比

单片机的性能极高,为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使

用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。

单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。据统计,我国的单片机年容量已达1~3亿片,且每年以大约16%的速度增长,但相对于国际市场我国的占有率还不到1%。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。

提到单片机的应用,有人这样说,“凡是能想到的地方,单片机都可以用的上”,这样说并不夸张。因此,单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下几个领域。

 电信

 家用电器

 计算机外围设备

 办公自动化

 工业控制

 商用电子

 电子玩具

 仪器仪表

 汽车电子

 军用电子

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单片机注入了新的活力,也拓展了更广泛的应用开发前景。

一个单片机芯片包括:

 中央处理器CPU,它是单片机的核心,用于产生各种控制信号,并完成对数据的

算术逻辑运算与传送;

 内部数据存储器RAM,用于存放可以读写的数据;

 内部程序存储器ROM,用于存放程序指令或某些常数表格;

 21个特殊功能寄存器;

 4个8位的并行I/O接口P0、P1、P2、和P3,每个口都可以用做输入或者输出;  2个(8051)或3个(8052)定时器/计数器,用来作外部事件计数器,也可以用

来定时;

 内部中断系统具有5个中断源,2个优先级的嵌套中断结构,可以实现二级中断

服务程序嵌套,每一个中断源都可以用软件程序规定为高优先级中断或低优先级中断;

 一个可编程全双工串行接口,可以用于异步接受发生器;

 内部时钟,单晶体和微调电容需要外接,振荡频率可以高达40MHZ。  一个具有位寻址功能、适于逻辑运算的位处理器。

80C51单片机的内部结构如图1-2所示,其核心部件为中央处理单元或中中央处理器(CPU),它包括运算电路和控电路两大部分。运算电路以算术逻辑单元为核心,包括累加器(ACC)、寄存器(B)、程序状态字(PSW)和两个暂存寄存器(TMP)等。算术逻辑单元是一个8位的全加器,它通过各部分的共同作用可以实现各种算术运算逻辑运算、数据传输和程序转移等功能。控制器在单片机内部协调各功能部件之间的数据传送和运算操作,是保证单片机各部分能在程序运行过程中自动而协调工作的指挥枢纽。

图1-2 80C51单片机内部结构图

1.2.5 单片机的学习方法

知识上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。一般的大学毕业生都可以了,自学过这2门课程的高中生也够条件。设备上,一般是建议购买一个仿真器,单片机的学习分两方面,一方面是单片机的原理及内部结构,另一方面是单片机的接口技术。这些都是需要平时多积累,多动手,多思考,这样才能学好单片机技术。

单片机学习的4个阶段

 整体了解

要知道单片机是什么,单片机有何用,如何系统学习单片机,单片机系统设计的流程是怎样的,需要掌握哪些辅助软件。了解这些之后,我们的学习就有了目标和方法。

 揭秘

单片机很难学,是因为其内部结构、编程语言抽象,且实际应用中与其他电子技术和元器件知识相互关联,需结合起来一起设计开发产品。所以,第二阶段要了解单片机的内部结构是怎样的,单片机开发经常会用到哪些电子技术和元器件知识,如何将一条条编程指令组合成一段段有效的程序。

 解密

之所以单片机能成为控制核心,设计出包罗万象的应用系统来,是因为开发者利用了单片机提供的种种功能及各种外设。所以,第三阶段我们要掌握单片机的各种功能,再加上诸如传感器、模数转换、扫描显示、串行、中断的应用思维,结合更多的元器件、电子电路知识,逐个学习、体会实际的单片机系统的秘密。

 远航

通过以上三个阶段,读者基本就可掌握单片机的应用了。但要设计出丰富的单片机系统,解决复杂的实际问题,还需要了解更多的外设知识及其与单片机的联系(如电动机、各类存储器、继电器、红外管等)。这些需要不断的学习和积累。有时候,接到一些开发任务,就需要你针对这个任务自觉地去搜集、学习相关知识,在实践中不断载学习和提高。

第二章 计价器的功能设计与方案

2.1 功能设计

此次出租车计价器的设计内容主要包括:起步价,白天/晚上不同收费,拼车收费3个部分。根据调查,烟台地区的出租车计价器收费情况如下:

 起步价为7元,不超过3公里不额外收费;

 超过3公里但不超过10公里时,白天每公里2元,晚上每公里2.5元;拼车时白天每公里1元,晚上1.5元;

 超过10公里时,白天每公里2.5元,晚上每公里3.5元;拼车时白天每公里2元,晚上每公里3元。

显示部分才用LED液晶显示屏,分为6位。里程显示3位,精确到公里;价格显示3位,精确到元。

2.2 设计方案

图2-1 总体设计方案图

AT89C51单片机有较大的活动空间,利用其丰富的IO端口,及其控制的灵活性,不但能实现基本的里程计价功能和价格调节、时钟显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。

 按键控制:通过按键控制行驶里程数,白天/晚上,拼车计价方式的转换。  脉冲输入:用计数脉冲代替车轮上的霍尔元件,给单片机里程信号,进行里程计

数。

 AT89C51单片机:计价器的核心,完成控制,运算等工作。

 LED显示单元:采用动态显示的方法,显示金额与里程。

 译码器单元:选用74LS138译码器进行片选译码,同时对P1口地址进行拓展实

现显示部分的选择

 串行口驱动单元:由于单片机的P0口及P1口的驱动电路较小,不足以驱动LED

显示单元的显示,因此需要外接驱动将电流增大。

第三章 硬件设计

3.1 控制核心芯片AT89C51

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and

Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,它的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 3.1.1 AT89C51的主要特性

 与MCS-51系列单片机产品兼容;

 4K字节在系统可编程Flash存储器(片内具有4K字节闪速存储器);  1000次擦写周期;  128Bytes的内部RAM单元;

 4个8位I/O口,即32位可编程I/O口线;  2个16位定时器/计数器;  6个中断源;

 可编程全双工串行口;  低功耗空闲和掉电模式;  掉电后中断可唤醒;  看门狗定时器  双数据指针

 灵活的ISP在线编程功能(字或字节模式);

 宽范围的工作电压,VCC的允许变化范围为了2.7~6.0V;  可设置为待机状态和掉电状态;

 振荡器及时钟电路,全静态工作方式,时钟频率可为0Hz~24MHz。具有全静态

的工作方式,表明它不一定要求连续的工作时钟定时,在等待内部事件期间,时钟频率可降至0;

 AT89C51芯片在出厂时,闪存处于可擦除状态,各地址单元内容为FFH,可随时

进行编程。编程是按字节进行的。编程电压VPP有高压12V的,也有低压5V的。

3.1.2 AT89C51单片机的引脚图:

图3-1 AT89C51单片机引脚图

下面对其主要引脚进行简介:  VCC:供电电压。  GND:接地

 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0

口的管脚第一次写1时,被定义为高阻输入。

 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输

出4TTL门电流。

 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出

4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故,P2口在FLASH编程和校验时接收高八位地址信号和控制信号。  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口同时为闪烁编程和编程校验接收一些控制信号。

 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时

间。

 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低

位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器

周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),

不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。  XTAL2:来自反向振荡器的输出。 3.1.3 中断服务系统简介

由于在设计的过程中主要用到单片机的中断服务系统,所以下面对中断服务系统进行简介:

 中断的基本概念:可以举例说明,例如:你正在家中看书,突然电话铃响了,你

放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。  中断源及中断请求:向单片机发出中断请求的来源称为中断源。AT89C51单片机

的中断源共有5个,分别是两个外部中断源、两个定时中断源和一个串行中断源。

 中断系统结构:为了保证系统安全可靠,使用灵活,51系列单片机的中断系统采

用多级管理的机制。为了为了解决多级嵌套问题,51单片机还设置了两级中断优

先级。51系列单片机的中断系统由中断源、中断请求标志位、中断允许寄存器IE,中断优先级寄存器IP及其他辅助电路。

 中断优先级的控制原则和逻辑:低优先级的请求不能打断高优先级的中断服务;

同级中断之间不能嵌套;如果同级的多个中断请求同时出现,其中断响应次序按单片机查询次序确定,查询次序为:外部中断

定时器外部中断1 定时中断串行中断。

 中断处理过程:要满足单片机的中断响应条件(有中断源发出中断请求;中断源

对应的中断允许位为1;中断总允许位 EA=1),在满足中断响应的条件下,CPU响应中断,硬件自动将断点地址压入堆栈保护,在中断服务完成后,先撤销该中断请求,CP然后返回原程序的断点(既原来中断的位置),继续原来的程序。 3.1.4硬件图:

3.2 LED显示部分

LED(Light Emitling Diode)是发光二极管的缩写,LED显示器是由发光二极管显示字段的单片机输出设备。LED数码管以发光二极管作为发光单元,颜色有单红, 黄,蓝,绿,白,黄绿等效果。单色,分段全彩管可用大楼,道路,河堤轮廓亮化,LED

数码管可均匀排布形成大面积显示区域,可显示图案及文字,并可播放不同格式的视频文件。通过电脑下flash、动画、文字等文件,或使用动画设计软件设计个性化动画,播放各种动感变色的图文效果。单片机应用系常采用7段LED数码管作为显示器,这种显示器具有耗电低、配置灵活、线路简单、安装方便、耐振动、价格低廉且寿命长等优点,因此应用广泛。 3.2.1 LED驱动显示原理:

LED数码管显示器可以文卫共阴极和共阳极两种结构。

 共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,如图3-3

所示。

图 3-3 共阴极结构

图 3-4共阳极结构

 共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,如图3-4

所示。

单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和 动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。  静态方式:

LED显示器工作在静态显示方式下,共阴极或共阳极点连接在一起接地或+5V;每位的段选线(a-dp)与一个8位并行口相连。如图所示,该图表示了一个四位静态LED显示器电路。该电路每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时间里每一位显示的字符可以各不相同。

N位静态显示器要求有N*8根I/O口线,占用I/O口资源较多。故在位数较多时往往采用动态显示方法。  动态方式

在多位LED显示时,为了简化电路,降低成本,将所有位的段选码并联在一起。由一个8位I/O口控制,而共阴点或共阳点分别由相应的I/O口线控制。显示时通过位控信号采用扫描的方法逐位的循环点亮各位数码管。动态显虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有视觉暂留效应,看起来与全部数码管持续点亮的效果完全一样。

这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;

动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。所以在本次设计的过程中,显示部分采用动态显示。

 硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,

硬件接线有一定标准。

 软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软

件来处理,是目前常用的显示驱动方式。 驱动电流:

 显示效果: 由于LED属于电流敏感元件,其正向压降的分散性很大,并且还与

温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动晶片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。

 安全性: 即使是短时间的电流超载也可能对发光管造成永久性的损坏,采用恒

流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。 另外,我们

所采用的超大型积体电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极体的损害。超大型积体电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。 本设计中用到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 数码管数字量与段的对应关系表

例如:当加到阳极的数字量为00111111B=3FH时,除dp,g不发光外,其他6段均发光,因此显示一个0字符。对于共阳极接法,加到阴极的数字量为:11000000=C0H,则显示0字符。由此可见,共阳极接法的段选码与共阴极接法的段选码是逻辑“非”关系。 3.2.2 硬件图

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 两种线路结构型式。 工作原理:

 当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,

可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。

 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩

展成 32 线译码器。

 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。  可用在8086的译码电路中,扩展内存。 引脚功能:

 A.B.C:地址输入端  STA(E1):选通端

 /STB(/E2)、/STC(/E3):选通端(低电平有效)

 /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.1←D1),其它时间处于输出(P0.1→D1)。

3.5 里程计数单元

3.5.1 霍尔元件简介

图3-10传感器测距示意图

在实际应用的过程中,计算里程是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的,其原理如图3-10所示。

因为A44E 属于开关型的霍尔器件,它的工作电压范围比较宽(4.5~18V),其输出的信号符合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所示。

图3-12集成霍耳开关外形及接线

3.5.2 硬件图

图 3-13 模拟脉冲

在应用仿真的过程中,我们选择了P3.3 口作为模拟信号的输入端,内部采用外部中断1,一个脉冲代表一公里(这样可以节省时间),单片机就会将金额随着公里数的增加而增加。

3.6 按键单元

在硬件部分添加按钮的目的是:通过按钮的闭合,来实现不同功能的要求。按键单元包括3个按钮,其功能分别为:

 开始按钮:当顾客上车时按下开始按钮,等待脉冲,开始里程计数与金额计算,

与P3.0相连接;

 白天/晚上按钮:由于白天和晚上的计费不同,进入晚上时按下此按钮,进入晚

上计费系统,与P3.1相连接;

 拼车按钮:当有人拼车时按下此按钮,进入拼车计费系统,与P3.2相连接。 按键单元的硬件图如下图所示:

图3-14 按键单元硬件图

 上拉电阻的作用:将不确定的信号固定在高电平。如果没有按键按下的时候是高

电平,有按键的时候是低电平按键的功能就是把单片机的引脚接地,现在问题出来了,但你按键松开的时候,如果没有上拉电阻,那么单片机的引脚就会一直停留在低电平,让单片机误认为一直有按键按下。

 反相器的作用:输入高电平,输出低电平,增大单片机的驱动能力。

3.7 单片机最小系统

3.7.1 复位单元

51系列单片机的复位是靠外部电路实现的。单片机工作后只要在它的RESET引线上加载10ms以上的高电平,单片机就能有效的复位。在应用系统中,有些外围芯片也需要复位,如果这些芯片复位端的复位电平要求与单片机复位电平要求一致,则可以将复位信号与之相连。

常用的复位电路如图3-15所示:

图3-15 复位电路

3.7.2 晶振电路

单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取33pF)。这样就构成一个稳定的自激振荡器。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号是机器周期信号。

4.2 程序流程图

中断子程序:

图 4-1 中断程序流程图

4.3 汇编程序:

如需要完整程序,发邮件到[email protected]

第五章 结论与展望

5.1 工作总结

时光荏苒,宝贵的四年大学时光如白驹过隙,转眼就到了毕业季。在这最后的大

学生活中,我们迎来了大学最后一个重要的课程——毕业设计,它是衡量每个大学生知识掌握程度的关键,而且是对前面所学知识的一种检验,更是对自己能力的一种提高,所以我们必须高度重视。毕业设计是学校对我们在大学中所学知识的一个综合的检验,工作做的好坏,直接体现了学生个人现阶段学习动手的强弱,我们必须以最饱满的热情,最专业的态度来对待它,争取完美的完成这项任务。

经过几个月的奋战我的毕业设计终于完成了,但是现在回想起来做毕业设计的整个过程,颇有心得,其中有苦也有甜,不过乐趣尽在其中! 整个毕业设计的过程可以大致的总结如下:

接到任务书以后进行选题,选择方案,了解课题思路。拿到课题——《基于单片机的出租车计价器设计》的时候,虽然一开始有些迷茫,不知道何从下手,但是通过老师的知道,同学讨论,以及去图书馆查阅资料,很快就在脑海中形成了大致的思路。俗话说的好“好的开端就相当于成功了一半”,因此资料是否全面、可靠,关系到整个毕业设计的进程。总之,不管通过哪种方式查的资料都是有利用价值的,要一一记录下来以备后用。很多时候,得到的资料只是一些零碎的片段,还需要通过自己的努力,将其整合在一起。在硬件设计时,我参考了课本上的LED动态演示事例,通过自己的改造,添加了驱动和按键,完成了初步的电路设计。软件设计方面,大部分程序是靠自己的努力编写而成的,LED的动态显示程序参考了书上的例题。初步设计大约在二周内完成,之后的大部分时间都是在完善和修改,使出租车计价器达到既定的要求。在设计的过程中,最大的感受就是知识掌握的不牢靠,有很多简单的错误都发现不了,而且还有眼高手低的毛病。通过本次课程设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义上相结合起来,考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力。从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于在日后的学习中得以改进、提高。

此次出租车设计的亮点在于它加入了拼车单元,使其更加的完善。不足之处在于没有实时时钟单元,因此还需要继续努力与完善。

5.2 展望

“养兵千日,用兵一时”。在毕业设计中,我为能用上四年所学而欣慰,同时我深深的感觉到了基础知识的重要性。专业课学习时,老是感觉所学知识与实际相差太远。这种急功近利的思想使自己对一些专业课的学习有所放松,在毕业设计的过程中,我深深的体会到了“书到用时方恨少”的含义。虽然遇到了不少的困难但从中我也学到了很多知识,更培养了我独立工作与思考的能力,激发了我的创新意识,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。

毕业以后我将继续攻读研究生,通过这次经历,我会更加的我的专业,努力的学习专业知识。“万丈高楼从地起”,切实做到理论联系实际,学以致用。

致 谢

在此,我要感谢我的指导老师,林老师,感谢她的悉心指导,帮助我们开拓设计思路,精心点拨、热忱鼓励。由于在设计期间要进行研究生复试,林老师耐心的给我鼓励,让我有精力和时间准备复试才不至于手忙脚乱,使我做到复试和毕业设计两不

误!

林老师知识渊博、经验丰富而且非常的平易近人,对待学生更是知无不言言无不尽。在做毕业设计期间,有很多细小的问题,林老师都给以耐心的解答,严谨的态度使我在遇到问题事不会手足无措,而是更有信心去接受挑战,更好的完成任务,我论文设计的工作自始至终都是在林老师老师全面、具体、细心的指导下进行的。从小到一个芯片的功能介绍,大至程序模块的设计,无一不细致入微。我从林老师身上学到了很多,再次衷心的感谢她。

此外,我还要感谢在一起设计讨论的同学,正是由于你们的帮助和支持,我才能克服一个又一个的困难和疑惑,直至本设计的顺利完成, 感谢你们给予我的帮助。

在本系统的设计过程和论文编写过程中,还有很多老师、同学和朋友都给予了我许多无私的帮助,尤其是我的导师倪志莲教授给我提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢!

参考文献

[1] 朱定华,单片机微机原理、汇编与C51及接口技术,北京:清华大学出版社,2010

[2] 汪贵平,新编单片机原理与应用,北京:机械工业出版社,2009

[3] 李学海,经典80C51单片机轻松入门与上手,北京:清华大学出版社,2009

[4] 徐爱钧,单片机原理实用教程——基于Prteus虚拟仿真,北京:电子工业出版社,2009 [5] 李朝青,单片机原理与接口技术[M].,北京:北京航天航空大学出版社,2005 [6] Dabis.W.S. PCB and Design: A Structured Approach. Addison-Wesley Pub. Co 2003 [7] 姚福安,电子电路设计与实践,山东:山东科学技术出版社,2002 [8] 阎石,数字电子技术基础[M],北京:高等教育出版社,2007 [9] 白云生,浅谈51单片机在出租车计价器的应用研究[J],2006,(05) [10] [11]

徐维祥,单片机微型计算机原理与应用[M],大连:大连理工大学出版社,1996 周航慈,单片机设计基础[M],北京:北京航天航空大学出版社,2005

附录

总的接线图:

第一章 绪论

1.1出租车计价器的研究背景及意义

1.1.1研究背景

当今社会,随着生活水平的日益提高,衣食住的享受已不能满足人们的需求,出行的舒适度已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受,所以越来越受到广大群众的欢迎。

我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。重庆市起重机厂是我国的第一家生产计价器企业,最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能。可以这么说,早期的计价器就是一个里程表,并且,总存在着买卖纠纷等各种问题困扰着行业的发展。而改良出租车计价器是在出租车行业中解决这一矛盾的最好方法,用更加精良的计价器来为乘客提供更加优质的服务。

随着改革开放日益深入,出租车行业的迅猛发展,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。出租车行业已成为象征着城市文明的窗口,现在各大中城市出租车行业都已普及自动计价器,计价器技术的发展已成定局,所以未来汽车计价器的市场还是十分有潜力的。

1.1.2 研究意义 凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如3KM)计费数字显示开始从起步价(如7元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。

出租车计价的的原理简单的概括为以下几个方面:

 里程传感器:采集车速信号,(也可以自己做车速传感器,采用霍尔效应做),车速信号为脉冲信号,采集脉冲信号的频率就可以得到车速,可以用到芯片的定时器捕获。如果车速大于一定的值,采用公里数计算价格,如果车速小于这个值,就可以用时间计算。

 计算公里数:应用芯片计算其公里数。

 计算时间:用到芯片定时器确定时间,或者用RTC中断采集到更精确的时间。  显示:用数码管或液晶显示公里数,时间,以及价格,可以用芯片驱动数码管或

者用芯片驱动液晶空车牌来提供计价器计价的信号。

 打印机:打印机来打印所需要的票据,通过排线连接计价器主机。

随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可以完成计价的工作。 大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善.当单片机出现并应用于计价器后,现代出租车计价器的模型也就基本具备了,它可以完成计程,计价,显示等基本工作。

本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,通过学习与实验设计,将所学的知识更好的与生活相联系,做到“学有所用,学以致用”。通过前面的介绍,我们可以非常清楚的了解道到出租车计价器是出租车行业发展的重要标志,是出租车中最重要的工具,并且它关系着交易双方的利益,具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。所以,我们在设计的过程中为们必须做到,简单、精确、实用、耐用。由于采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,不利于推广。为此在各种利弊权衡之后,最终决定采用单片机进行设计。单片机相对来说功能强大,用较少的硬件和适当的软件相互配合就可以很容易的实现设计要求,对于初学者来说简单易上手,且灵活性强,可以通过软件编程来完成更多的附加功能。

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单片机的特点及应用范围

 高集成度,体积小,高可靠性

单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。

 控制功能强

为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。

 低电压,低功耗,便于生产便携式产品

为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。

 易扩展

片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。

 优异的性能价格比

单片机的性能极高,为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使

用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。

单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。据统计,我国的单片机年容量已达1~3亿片,且每年以大约16%的速度增长,但相对于国际市场我国的占有率还不到1%。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。

提到单片机的应用,有人这样说,“凡是能想到的地方,单片机都可以用的上”,这样说并不夸张。因此,单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下几个领域。

 电信

 家用电器

 计算机外围设备

 办公自动化

 工业控制

 商用电子

 电子玩具

 仪器仪表

 汽车电子

 军用电子

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单片机注入了新的活力,也拓展了更广泛的应用开发前景。

一个单片机芯片包括:

 中央处理器CPU,它是单片机的核心,用于产生各种控制信号,并完成对数据的

算术逻辑运算与传送;

 内部数据存储器RAM,用于存放可以读写的数据;

 内部程序存储器ROM,用于存放程序指令或某些常数表格;

 21个特殊功能寄存器;

 4个8位的并行I/O接口P0、P1、P2、和P3,每个口都可以用做输入或者输出;  2个(8051)或3个(8052)定时器/计数器,用来作外部事件计数器,也可以用

来定时;

 内部中断系统具有5个中断源,2个优先级的嵌套中断结构,可以实现二级中断

服务程序嵌套,每一个中断源都可以用软件程序规定为高优先级中断或低优先级中断;

 一个可编程全双工串行接口,可以用于异步接受发生器;

 内部时钟,单晶体和微调电容需要外接,振荡频率可以高达40MHZ。  一个具有位寻址功能、适于逻辑运算的位处理器。

80C51单片机的内部结构如图1-2所示,其核心部件为中央处理单元或中中央处理器(CPU),它包括运算电路和控电路两大部分。运算电路以算术逻辑单元为核心,包括累加器(ACC)、寄存器(B)、程序状态字(PSW)和两个暂存寄存器(TMP)等。算术逻辑单元是一个8位的全加器,它通过各部分的共同作用可以实现各种算术运算逻辑运算、数据传输和程序转移等功能。控制器在单片机内部协调各功能部件之间的数据传送和运算操作,是保证单片机各部分能在程序运行过程中自动而协调工作的指挥枢纽。

图1-2 80C51单片机内部结构图

1.2.5 单片机的学习方法

知识上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。一般的大学毕业生都可以了,自学过这2门课程的高中生也够条件。设备上,一般是建议购买一个仿真器,单片机的学习分两方面,一方面是单片机的原理及内部结构,另一方面是单片机的接口技术。这些都是需要平时多积累,多动手,多思考,这样才能学好单片机技术。

单片机学习的4个阶段

 整体了解

要知道单片机是什么,单片机有何用,如何系统学习单片机,单片机系统设计的流程是怎样的,需要掌握哪些辅助软件。了解这些之后,我们的学习就有了目标和方法。

 揭秘

单片机很难学,是因为其内部结构、编程语言抽象,且实际应用中与其他电子技术和元器件知识相互关联,需结合起来一起设计开发产品。所以,第二阶段要了解单片机的内部结构是怎样的,单片机开发经常会用到哪些电子技术和元器件知识,如何将一条条编程指令组合成一段段有效的程序。

 解密

之所以单片机能成为控制核心,设计出包罗万象的应用系统来,是因为开发者利用了单片机提供的种种功能及各种外设。所以,第三阶段我们要掌握单片机的各种功能,再加上诸如传感器、模数转换、扫描显示、串行、中断的应用思维,结合更多的元器件、电子电路知识,逐个学习、体会实际的单片机系统的秘密。

 远航

通过以上三个阶段,读者基本就可掌握单片机的应用了。但要设计出丰富的单片机系统,解决复杂的实际问题,还需要了解更多的外设知识及其与单片机的联系(如电动机、各类存储器、继电器、红外管等)。这些需要不断的学习和积累。有时候,接到一些开发任务,就需要你针对这个任务自觉地去搜集、学习相关知识,在实践中不断载学习和提高。

第二章 计价器的功能设计与方案

2.1 功能设计

此次出租车计价器的设计内容主要包括:起步价,白天/晚上不同收费,拼车收费3个部分。根据调查,烟台地区的出租车计价器收费情况如下:

 起步价为7元,不超过3公里不额外收费;

 超过3公里但不超过10公里时,白天每公里2元,晚上每公里2.5元;拼车时白天每公里1元,晚上1.5元;

 超过10公里时,白天每公里2.5元,晚上每公里3.5元;拼车时白天每公里2元,晚上每公里3元。

显示部分才用LED液晶显示屏,分为6位。里程显示3位,精确到公里;价格显示3位,精确到元。

2.2 设计方案

图2-1 总体设计方案图

AT89C51单片机有较大的活动空间,利用其丰富的IO端口,及其控制的灵活性,不但能实现基本的里程计价功能和价格调节、时钟显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。

 按键控制:通过按键控制行驶里程数,白天/晚上,拼车计价方式的转换。  脉冲输入:用计数脉冲代替车轮上的霍尔元件,给单片机里程信号,进行里程计

数。

 AT89C51单片机:计价器的核心,完成控制,运算等工作。

 LED显示单元:采用动态显示的方法,显示金额与里程。

 译码器单元:选用74LS138译码器进行片选译码,同时对P1口地址进行拓展实

现显示部分的选择

 串行口驱动单元:由于单片机的P0口及P1口的驱动电路较小,不足以驱动LED

显示单元的显示,因此需要外接驱动将电流增大。

第三章 硬件设计

3.1 控制核心芯片AT89C51

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and

Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,它的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 3.1.1 AT89C51的主要特性

 与MCS-51系列单片机产品兼容;

 4K字节在系统可编程Flash存储器(片内具有4K字节闪速存储器);  1000次擦写周期;  128Bytes的内部RAM单元;

 4个8位I/O口,即32位可编程I/O口线;  2个16位定时器/计数器;  6个中断源;

 可编程全双工串行口;  低功耗空闲和掉电模式;  掉电后中断可唤醒;  看门狗定时器  双数据指针

 灵活的ISP在线编程功能(字或字节模式);

 宽范围的工作电压,VCC的允许变化范围为了2.7~6.0V;  可设置为待机状态和掉电状态;

 振荡器及时钟电路,全静态工作方式,时钟频率可为0Hz~24MHz。具有全静态

的工作方式,表明它不一定要求连续的工作时钟定时,在等待内部事件期间,时钟频率可降至0;

 AT89C51芯片在出厂时,闪存处于可擦除状态,各地址单元内容为FFH,可随时

进行编程。编程是按字节进行的。编程电压VPP有高压12V的,也有低压5V的。

3.1.2 AT89C51单片机的引脚图:

图3-1 AT89C51单片机引脚图

下面对其主要引脚进行简介:  VCC:供电电压。  GND:接地

 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0

口的管脚第一次写1时,被定义为高阻输入。

 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输

出4TTL门电流。

 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出

4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故,P2口在FLASH编程和校验时接收高八位地址信号和控制信号。  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口同时为闪烁编程和编程校验接收一些控制信号。

 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时

间。

 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低

位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器

周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),

不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。  XTAL2:来自反向振荡器的输出。 3.1.3 中断服务系统简介

由于在设计的过程中主要用到单片机的中断服务系统,所以下面对中断服务系统进行简介:

 中断的基本概念:可以举例说明,例如:你正在家中看书,突然电话铃响了,你

放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。  中断源及中断请求:向单片机发出中断请求的来源称为中断源。AT89C51单片机

的中断源共有5个,分别是两个外部中断源、两个定时中断源和一个串行中断源。

 中断系统结构:为了保证系统安全可靠,使用灵活,51系列单片机的中断系统采

用多级管理的机制。为了为了解决多级嵌套问题,51单片机还设置了两级中断优

先级。51系列单片机的中断系统由中断源、中断请求标志位、中断允许寄存器IE,中断优先级寄存器IP及其他辅助电路。

 中断优先级的控制原则和逻辑:低优先级的请求不能打断高优先级的中断服务;

同级中断之间不能嵌套;如果同级的多个中断请求同时出现,其中断响应次序按单片机查询次序确定,查询次序为:外部中断

定时器外部中断1 定时中断串行中断。

 中断处理过程:要满足单片机的中断响应条件(有中断源发出中断请求;中断源

对应的中断允许位为1;中断总允许位 EA=1),在满足中断响应的条件下,CPU响应中断,硬件自动将断点地址压入堆栈保护,在中断服务完成后,先撤销该中断请求,CP然后返回原程序的断点(既原来中断的位置),继续原来的程序。 3.1.4硬件图:

3.2 LED显示部分

LED(Light Emitling Diode)是发光二极管的缩写,LED显示器是由发光二极管显示字段的单片机输出设备。LED数码管以发光二极管作为发光单元,颜色有单红, 黄,蓝,绿,白,黄绿等效果。单色,分段全彩管可用大楼,道路,河堤轮廓亮化,LED

数码管可均匀排布形成大面积显示区域,可显示图案及文字,并可播放不同格式的视频文件。通过电脑下flash、动画、文字等文件,或使用动画设计软件设计个性化动画,播放各种动感变色的图文效果。单片机应用系常采用7段LED数码管作为显示器,这种显示器具有耗电低、配置灵活、线路简单、安装方便、耐振动、价格低廉且寿命长等优点,因此应用广泛。 3.2.1 LED驱动显示原理:

LED数码管显示器可以文卫共阴极和共阳极两种结构。

 共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,如图3-3

所示。

图 3-3 共阴极结构

图 3-4共阳极结构

 共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,如图3-4

所示。

单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和 动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。  静态方式:

LED显示器工作在静态显示方式下,共阴极或共阳极点连接在一起接地或+5V;每位的段选线(a-dp)与一个8位并行口相连。如图所示,该图表示了一个四位静态LED显示器电路。该电路每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时间里每一位显示的字符可以各不相同。

N位静态显示器要求有N*8根I/O口线,占用I/O口资源较多。故在位数较多时往往采用动态显示方法。  动态方式

在多位LED显示时,为了简化电路,降低成本,将所有位的段选码并联在一起。由一个8位I/O口控制,而共阴点或共阳点分别由相应的I/O口线控制。显示时通过位控信号采用扫描的方法逐位的循环点亮各位数码管。动态显虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有视觉暂留效应,看起来与全部数码管持续点亮的效果完全一样。

这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;

动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。所以在本次设计的过程中,显示部分采用动态显示。

 硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,

硬件接线有一定标准。

 软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软

件来处理,是目前常用的显示驱动方式。 驱动电流:

 显示效果: 由于LED属于电流敏感元件,其正向压降的分散性很大,并且还与

温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动晶片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。

 安全性: 即使是短时间的电流超载也可能对发光管造成永久性的损坏,采用恒

流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。 另外,我们

所采用的超大型积体电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极体的损害。超大型积体电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。 本设计中用到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 数码管数字量与段的对应关系表

例如:当加到阳极的数字量为00111111B=3FH时,除dp,g不发光外,其他6段均发光,因此显示一个0字符。对于共阳极接法,加到阴极的数字量为:11000000=C0H,则显示0字符。由此可见,共阳极接法的段选码与共阴极接法的段选码是逻辑“非”关系。 3.2.2 硬件图

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 两种线路结构型式。 工作原理:

 当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,

可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。

 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩

展成 32 线译码器。

 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。  可用在8086的译码电路中,扩展内存。 引脚功能:

 A.B.C:地址输入端  STA(E1):选通端

 /STB(/E2)、/STC(/E3):选通端(低电平有效)

 /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.1←D1),其它时间处于输出(P0.1→D1)。

3.5 里程计数单元

3.5.1 霍尔元件简介

图3-10传感器测距示意图

在实际应用的过程中,计算里程是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的,其原理如图3-10所示。

因为A44E 属于开关型的霍尔器件,它的工作电压范围比较宽(4.5~18V),其输出的信号符合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所示。

图3-12集成霍耳开关外形及接线

3.5.2 硬件图

图 3-13 模拟脉冲

在应用仿真的过程中,我们选择了P3.3 口作为模拟信号的输入端,内部采用外部中断1,一个脉冲代表一公里(这样可以节省时间),单片机就会将金额随着公里数的增加而增加。

3.6 按键单元

在硬件部分添加按钮的目的是:通过按钮的闭合,来实现不同功能的要求。按键单元包括3个按钮,其功能分别为:

 开始按钮:当顾客上车时按下开始按钮,等待脉冲,开始里程计数与金额计算,

与P3.0相连接;

 白天/晚上按钮:由于白天和晚上的计费不同,进入晚上时按下此按钮,进入晚

上计费系统,与P3.1相连接;

 拼车按钮:当有人拼车时按下此按钮,进入拼车计费系统,与P3.2相连接。 按键单元的硬件图如下图所示:

图3-14 按键单元硬件图

 上拉电阻的作用:将不确定的信号固定在高电平。如果没有按键按下的时候是高

电平,有按键的时候是低电平按键的功能就是把单片机的引脚接地,现在问题出来了,但你按键松开的时候,如果没有上拉电阻,那么单片机的引脚就会一直停留在低电平,让单片机误认为一直有按键按下。

 反相器的作用:输入高电平,输出低电平,增大单片机的驱动能力。

3.7 单片机最小系统

3.7.1 复位单元

51系列单片机的复位是靠外部电路实现的。单片机工作后只要在它的RESET引线上加载10ms以上的高电平,单片机就能有效的复位。在应用系统中,有些外围芯片也需要复位,如果这些芯片复位端的复位电平要求与单片机复位电平要求一致,则可以将复位信号与之相连。

常用的复位电路如图3-15所示:

图3-15 复位电路

3.7.2 晶振电路

单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取33pF)。这样就构成一个稳定的自激振荡器。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号是机器周期信号。

4.2 程序流程图

中断子程序:

图 4-1 中断程序流程图

4.3 汇编程序:

如需要完整程序,发邮件到[email protected]

第五章 结论与展望

5.1 工作总结

时光荏苒,宝贵的四年大学时光如白驹过隙,转眼就到了毕业季。在这最后的大

学生活中,我们迎来了大学最后一个重要的课程——毕业设计,它是衡量每个大学生知识掌握程度的关键,而且是对前面所学知识的一种检验,更是对自己能力的一种提高,所以我们必须高度重视。毕业设计是学校对我们在大学中所学知识的一个综合的检验,工作做的好坏,直接体现了学生个人现阶段学习动手的强弱,我们必须以最饱满的热情,最专业的态度来对待它,争取完美的完成这项任务。

经过几个月的奋战我的毕业设计终于完成了,但是现在回想起来做毕业设计的整个过程,颇有心得,其中有苦也有甜,不过乐趣尽在其中! 整个毕业设计的过程可以大致的总结如下:

接到任务书以后进行选题,选择方案,了解课题思路。拿到课题——《基于单片机的出租车计价器设计》的时候,虽然一开始有些迷茫,不知道何从下手,但是通过老师的知道,同学讨论,以及去图书馆查阅资料,很快就在脑海中形成了大致的思路。俗话说的好“好的开端就相当于成功了一半”,因此资料是否全面、可靠,关系到整个毕业设计的进程。总之,不管通过哪种方式查的资料都是有利用价值的,要一一记录下来以备后用。很多时候,得到的资料只是一些零碎的片段,还需要通过自己的努力,将其整合在一起。在硬件设计时,我参考了课本上的LED动态演示事例,通过自己的改造,添加了驱动和按键,完成了初步的电路设计。软件设计方面,大部分程序是靠自己的努力编写而成的,LED的动态显示程序参考了书上的例题。初步设计大约在二周内完成,之后的大部分时间都是在完善和修改,使出租车计价器达到既定的要求。在设计的过程中,最大的感受就是知识掌握的不牢靠,有很多简单的错误都发现不了,而且还有眼高手低的毛病。通过本次课程设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义上相结合起来,考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力。从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于在日后的学习中得以改进、提高。

此次出租车设计的亮点在于它加入了拼车单元,使其更加的完善。不足之处在于没有实时时钟单元,因此还需要继续努力与完善。

5.2 展望

“养兵千日,用兵一时”。在毕业设计中,我为能用上四年所学而欣慰,同时我深深的感觉到了基础知识的重要性。专业课学习时,老是感觉所学知识与实际相差太远。这种急功近利的思想使自己对一些专业课的学习有所放松,在毕业设计的过程中,我深深的体会到了“书到用时方恨少”的含义。虽然遇到了不少的困难但从中我也学到了很多知识,更培养了我独立工作与思考的能力,激发了我的创新意识,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。

毕业以后我将继续攻读研究生,通过这次经历,我会更加的我的专业,努力的学习专业知识。“万丈高楼从地起”,切实做到理论联系实际,学以致用。

致 谢

在此,我要感谢我的指导老师,林老师,感谢她的悉心指导,帮助我们开拓设计思路,精心点拨、热忱鼓励。由于在设计期间要进行研究生复试,林老师耐心的给我鼓励,让我有精力和时间准备复试才不至于手忙脚乱,使我做到复试和毕业设计两不

误!

林老师知识渊博、经验丰富而且非常的平易近人,对待学生更是知无不言言无不尽。在做毕业设计期间,有很多细小的问题,林老师都给以耐心的解答,严谨的态度使我在遇到问题事不会手足无措,而是更有信心去接受挑战,更好的完成任务,我论文设计的工作自始至终都是在林老师老师全面、具体、细心的指导下进行的。从小到一个芯片的功能介绍,大至程序模块的设计,无一不细致入微。我从林老师身上学到了很多,再次衷心的感谢她。

此外,我还要感谢在一起设计讨论的同学,正是由于你们的帮助和支持,我才能克服一个又一个的困难和疑惑,直至本设计的顺利完成, 感谢你们给予我的帮助。

在本系统的设计过程和论文编写过程中,还有很多老师、同学和朋友都给予了我许多无私的帮助,尤其是我的导师倪志莲教授给我提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢!

参考文献

[1] 朱定华,单片机微机原理、汇编与C51及接口技术,北京:清华大学出版社,2010

[2] 汪贵平,新编单片机原理与应用,北京:机械工业出版社,2009

[3] 李学海,经典80C51单片机轻松入门与上手,北京:清华大学出版社,2009

[4] 徐爱钧,单片机原理实用教程——基于Prteus虚拟仿真,北京:电子工业出版社,2009 [5] 李朝青,单片机原理与接口技术[M].,北京:北京航天航空大学出版社,2005 [6] Dabis.W.S. PCB and Design: A Structured Approach. Addison-Wesley Pub. Co 2003 [7] 姚福安,电子电路设计与实践,山东:山东科学技术出版社,2002 [8] 阎石,数字电子技术基础[M],北京:高等教育出版社,2007 [9] 白云生,浅谈51单片机在出租车计价器的应用研究[J],2006,(05) [10] [11]

徐维祥,单片机微型计算机原理与应用[M],大连:大连理工大学出版社,1996 周航慈,单片机设计基础[M],北京:北京航天航空大学出版社,2005

附录

总的接线图:


相关内容

  • FPGA的出租车计费器论文
  • 长春工程学院毕业设计(论文)1 引言最近几年出租车行业发展迅速,在全国有几千家出租车公司,因此出租车计费器的市场 是庞大的.由于受到油价影响,各大城市都推出了运价油价联动机制,所以出租车计费器计 价标准的灵活设定成为未来计费器不可缺少的一部分.而出租车运价是 1993 年制定的,1998 年做过微调 ...

  • 基于单片机的出租车计价器的设计(毕业论文)
  • 毕 业 论 文 ( 设 计 ) 论文题目: 基于单片机的出租车计价器的设计 学生姓名: ****** 学号: ******* 指导教师: ***** 职称: 教授 院 系: 物理与电子信息工程学院 专业班级: *************************** 二○一二 年 五 月 十 日 摘 ...

  • 电气自动化设计论文题目大全
  • 机电一体化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数 ...

  • 电气自动化毕业设计论文题目
  • 电 气 自 动 化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机 ...

  • PLC毕业设计论文题目
  • P L C 第1-100个PLC毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MS ...

  • 自动化毕业设计论文题目
  • 自 动 化 毕 业 设 计 论 文 题 目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC12 ...

  • 单片机毕业设计题目
  • 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 ...

  • 通信工程毕业设计题目精选
  • 不管怎样,生活还是要继续向前走去.有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此.每件事到最后一定会变成一件好事,只要你能够走到最后. 通信工程毕业设计题目精选 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激 ...

  • 100个自动化概论课结课论文题目
  • 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 ...