ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:173.88KB ,
资源ID:5004250      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5004250.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(出租车计价器.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

出租车计价器.docx

1、出租车计价器中南民族大学工商学院毕业论文(设计)系部: 电子信息工程系 专业:电子信息工程 年级: 06级 题目:基于AT89C51单片机的出租车计价系统的设计 学 生:涂燕雄 学号:20060645指导教师:葛蓁 职称: 导师 2010年5月8日目 录出租车计价器系统设计 4摘要: 4关键词: 4Abstract. 4Keywords 41 前言 52 元器件简介 52.1 AT89C51的硬件资源 52.1.1单片机的概念 52.1.2 89C51的芯片引脚图 72.1.3 使用I/O口的注意事项 82.2 89C51中断系统 82.2.1 中断源 82.2.2 中断的控制 92.2.3

2、中断响应 92.3 单片机定时器/计数器的使用 102.3.1与T/C有关的特殊功能寄存器 102.3.2 定时器/计数器的初始化 112.4 74LS273和74LS02简介: 123 方案论证 124 出租车计价器系统设计 144.1 硬件设计 144.2 软件设计 144.2.1模块介绍 154.2.2程序流程图 155 总结体会 17参考文献 18附录 出租车计价器系统设计源程序 19出租车计价器系统设计摘要:本文介绍了一种以AT89C51单片机为核心的多功能出租车计价器。有显示功能,文中在整体方案选择上对二个方案进行了对比,软件设计采用汇编语言编写,在对各芯片在出租车计价器中所起的作

3、用进行分析基础上对总体设计方案进行了分析。出租车计价器单片微机广泛的应用于各种中小型的控制系统中.我们所做的基于单片微机的出租车计价系统,利用了AT89C51单片机串行口进行通信控制,充分显示了单片微机在串行通信中的应用。基于单片机的计价器是由单片机和外部电路组成。本课设利用AT89C51的全双工串行口进行通信,其外接显示电路由74LS273和74ls02构成,实现了扩展并行I/O接口的功能,可以实现单价,起步价,显示和修改时间。本课设主要了解应用单片机的定时器/计数器,以及中断。这是一个比较小的系统,故采用汇编语言来编辑。汇编语言是一种编译型程序设计语言,它具有编译速度快,占用系统空间小,具

4、有一定的助记可读性等特点。关键词:单片机,多功能,定时器/计数器Taxi meter system designAbstract :This paper introduces a kind of with AT89C51 multifunctional meter taxi. A function, Based on the overall scheme selection of two schemes are compared, the software design using assembly language, for all chip in a taxi in the role of

5、 the meter is based on the analysis of the overall design scheme is analyzed. Single chip microcomputer meter taxi and widely used in all kinds of the control system. We have done based on single chip microcomputer taxi valuation system that USES AT89C51 serial. communication control, fully displays

6、 the single chip microcomputer application in serial communication. The meter is based on single-chip microcontroller and by external circuit. Using AT89C51 full-duplex serial communication, its external display circuit by 74LS273 and 74ls02 constitute, expand parallel I/O interface unit can realize

7、 the function, and started, display and modification time. This course mainly about the chip set the timer interruption, and counter /. This is a relatively small system, assembly language editing. The assembler language is a compilation of programming language, it has the compilation speed, small,

8、have certain space system of mnemonic readability, etc. Keywords: SCM, multi-function, timer/counters1 前言出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器计价准确与否,直接关系到经营者和消费者的经济利益。依据国家有关法律、法规,出租汽车计价器是列入国家首批强制检定的工作

9、计量器具之一,也是近年来国家质量技术监督部门强化管理的六类重点计量器具之一。随着社会进步,出租车已经越来越贴近生活,成为我们重要的交通工具,影响着我们现在的生活,出租文化已成为一种显著的文化,成为社会生活的组成部分。出租车计费系统,关系司机和乘客的切身利益,也是问题纠纷的焦点。本设计通过运用单片机设计的出租车计价器,简单易懂,是学习电子课程的一个综合性实验,有助于提高分析问题能力。本电路以89C51 单片机为中心、附加74LS273 芯片和74LS02或非门,实现对出租车计价统计。随着单片机性能不断提高而价格却不断下降, 单片机控制在越来越多的领域得以应用。按照传统的模式, 在整个项目开发过程

10、中, 先根据控制系统要求设计原理图, PCB 电路图绘制, 电路板制作, 元器件的焊接, 然后进行软件编程, 通过仿真器对系统硬件和软件调试, 最后将调试成功的程序固化到单片机中。这一过程中的主要问题是, 应用程序需要在硬件完成的情况下才能进行调试。虽然有的软件可以进行模拟调试, 但是对于一些复杂的程序如人机交互程序, 在没有硬件的时候, 没有界面的真实感, 给调试带来困难。在软硬件的配合中如需要修改硬件, 要重新制板, 在时间和投入上带来很大的麻烦。纵观整个过程, 无论是从硬件成本上, 还是从调试周期上, 传统开发模式的效率有待提高。能否只使用一种开发工具兼顾仿真, 调试, 制板, 以及最大

11、限度的软件模拟来作为单片机的开发平台, 用它取代编程器、仿真器、成品前的硬件测试等工作是广大单片机开发者的梦想。 2 元器件简介 本电路主要由AT89C51单片机和外部电路组成,外部电路有74LS273芯片和74LS02或非门等主要元器件。下面是对以上主要元器件的简单介绍:2.1 AT89C51的硬件资源2.1.1单片机的概念单片机(microcontroller,又称微控制器)是在一块硅片上集成了各种部件的微型计算机。这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。图2-1是80C51单片机的基本结构图:图2-1 89C51单片机的基本结

12、构图89C51单片机的结构特点有以下几点: 8位CPU; 片内振荡器及时钟电路; 32根I/O线; 外部存储器ROM和RAM,寻址范围各64KB; 两个16位的定时器/计数器; 5个中断源,2个中断优先级; 全双工串行口; 布尔处理器;定时器/计数器89C51内部有两个16位可编程定时器/计数器,记为T0和T1。16位是指它们都是由16个触发器构成,故最大计数模值为2-1。可编程是指他们的工作方式由指令来设定,或者当计数器来用,或者当定时器来用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的.如果需要,定时器在计到规定的定时值时可以向CPU发出

13、中断申请,从而完成某种定时的控制功能。在计数状态下同样也可以申请中断。定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理在定时工作时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的时钟。技术工作时,时钟脉冲由TO和T1输入。中断系统89C51的中断系统允许接受五个独立的中断源,即两个外部中断申请,两个定时器/计数器中断以及一个串行口中断。外部中断申请通过INTO和INT1(即P3.2和P3.3)输入,输入方式可以是电平触发(低电平有效),也可以是边沿触发(下降沿有效)。两个定时器中断请求是当定时器溢出时向CPU提出的,即当定时器由状态1转为全零时提出的。第五个中断请求是

14、由串行口发出的,串行口每发送完一个数据或接收完一个数据,就可提出一次中断请求。2.1.2 89C51的芯片引脚图 VCC:供电电压。GND:接地。 图2-2 89C51引脚图P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用

15、作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。因此作为输入时,P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带

16、内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(定时器/计数器0外部输入)P3.5 T1(定时器/计数器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复

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

18、号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.1.3 使用I/O口的注意事项(1) P1,P2,P3口的输出缓冲器可驱动4个LSTTL电路。对于HCMO

19、S芯片单片机的I/O口,在正常情况下,可任意由TTL或NMOS电路驱动。HMOS及CMOS性的单片机I/O口有集电极开路或漏极开路的输出来驱动时,不必外加上拉电阻。(2)对于74LS系列,CD4000系列以及一些大规模集成电路芯片(如8155,8253,8279等),都可以和MCS-51系列单片机直接接口。具体使用时,可以查阅有关器件手册或参考典型电路。(3)对一些线性组件,特别是应用键盘、码盘、LED显示器等输入/输出设备时,应当尽量增加驱动部分的容量,否则,单片机将提供不出足够的驱动电流供给负载使用。2.2 89C51中断系统所谓中断,是指当计算机执行正常程序时,系统中出现某些急需处理的异

20、常情况和特殊情求,CPU暂停执行现行程序,转去对随机发生地更紧迫事件进行处理;处理完毕后,CPU自动返回原来的程序继续执行。中断允许软件设计不需要关心系统其他部分定时要求,算术程序不需要考虑隔几个指令检查I/O设备是否需要服务。相反,算术程序编写时好像有无限的时间作算术运算而无其他工作在进行。若其它事件需要服务时,则通过中断告诉系统。89C51单片机有5个中断源,有两个中断优先级,每个中断源的优先级可以编程控制。中断允许受到CPU开中断和中断源开中断的两级控制。2.2.1 中断源中断源是指任何引起计算机中断的事件,一般一台机器允许有许多个中断源。89C51系列单片机至少有5个中断源。增加很少的

21、硬件就可把各种硬件中断源“线或”成为一个外部中断输入,然后再顺序检索一起中断的特定源。89C51单片机的5个中断源是: 1 外部中断请求0,由(P3.2)输入;2 外部中断请求1,由(P3.3)输入;3 片内定时器/计数器0益处中断请求;4 片内定时器/计数器1 溢出中断请求;5 片内串行口发送/接收中断请求;为了了解每个中断源是否产生了中断请求,中断系统应设置许多个中断请。求触发器(标志位)实现记忆。这些中断源请求标志位分别有特殊功能寄存器TCON和SCON的相应位锁存。定时器/计数器控制寄存器TCON,它是一个八位的寄存器,各位如下表所示表21TF1TF0IE1IT1IE0IT0 IT0,

22、IT1:外部中断0、1触发方式选择位,由软件设置。1是下降沿触发,0是电平触发。 IE0,IE1:外部终端0、1请求标志位。 TF0,TF1:定时器/计数器0、1溢出中断请求标志。2.2.2 中断的控制中断的控制主要实现中断的开关管理和中断优先级的管理。这个管理主要通过对特殊功能寄存器IE和IP的编程实现。(1)中断允许寄存器IE表22EA -ET2ESET1EX1ET0EX0 EX0,EX1:外部终端0,1的中断允许位。1是中断开,0是中断关 ET0,ET1:定时器/计数器0、1溢出中断允许位。1是开中断,0是关中断 ES:串行口中断允许位。1是中断开,0是中断关 ET2:定时器/计数器2溢

23、出中断位 EA:CPU开/关中断控制位。1是开中断,0是关中断(2)中断优先级寄存器IP表23PSPT1PX1PT0PX0若系统中多个中断源同时请求中断,则CPU按中断源的优先级别,由高到低分别响应。89C51单片机有两个中断优先级:高优先级和低优先级。每个中断源都可以编程为高优先级。这可以实现两级中断嵌套。嵌套的原则:一个正在执行的中断服务程序可以被高级的中断请求中断,而不能被同级或较低级的中断请求中断。两级中断通过使用IP寄存器设置,相应的位置1,则优先级高,0则优先级低。PX0、PX1:终端0、1中断优先级控制;PT0、PT1:定时器/计数器0、1中断优先级控制。PS:串行口中断优先级控

24、制。89C51复位时,IP被清零,5个中断源都在同一个优先级。这时若其中几个中断源同时产生中断请求,则CPU按照片内硬件优先级链路的顺序相应中断,硬件优先级由高到低的顺序是:外部终端0 定时器/计数器0 外部中断1 定时器/计数器1 串行口中断。2.2.3 中断响应89C51的CPU在每个机器周期采样中断源的中断请求标志位,如果没有上述阻止条件,则将在下一个机器周期响应被激活的最高级中断请求。阻止条件如下:1 CPU正在处理同级或更高级的中断;2 现行机器周期不是所执行指令的最后一个机器周期;3 正在执行的是RETI或者是访问IE或IP的指令;CPU在中断响应之后完成如下操作:1 硬件清除相应

25、的中断标志位;2 执行一条硬件子程序,保护断点,并转向中断服务程序入口。3 结束中断时执行RETI指令,恢复断点,返回主程序。89C51的CPU在相应中断请求时,由硬件电路自动形成转向与该中断源对应的中断的服务程序入口地址。这种方法为硬件向量中断法。各中断源的中断服务程序入口地址如下:表24编号中断源入口地址0外部终端00003H1定时器/计数器0000BH2外部终端10013H3定时器/计数器1001BH4串行口中断0023H各中断服务程序入口地址仅隔8个字节,编译器在这些地址放入无条件转移指令,跳到服务程序的实际地址。向量中断包括把先前的程序计数指针推入堆栈,中断服务程序很像其他子程序。当

26、向量中断发生时,硬件禁止所有中断。此时表明外部中断或定时器溢出的标志位由硬件清除。中断服务程序的不同分支取决于中断源。在重新允许全局CPU中断EA之前,必须仔细清除各种标志。标志会引起立即地重复中断。89C51对终端实际上有特殊的返回指令-RETI。不是RET。RETI重新允许系统识别其他中断。因而,没必要在正常使用中断时复位EA,只要在程序初始化时开中断一次就可以了。2.3 单片机定时器/计数器的使用89C51系列单片机至少有两个16位内部定时器/计数器。8952有三个定时器/计数器,其中连个基本定时器/计数器是定时器/计数器0和定时器/计数器1。他们既可以编程为定时器使用,也可以编程为计数

27、器使用。若是计数内部晶振驱动时钟,则它是定时器;若是计数89C51的输入引脚的脉冲信号,则它是计数器。89C51的T/C时加一计数的。定时器实际上也是工作在技术方式下的,只不过对固定频率的脉冲计数;由于脉冲周期固定,由计数值可以计算出时间,有定时功能。当T/C工作在定时器时,对振荡源12分频的脉冲计数,即每个机器周期计数值加一,频率加=fosc/12。晶振为6MHz,计数频率=500KHz,每2uS计数加一。当T/C工作在计数器时,计数脉冲来自外部脉冲输入引脚T0或T1。当T0或T1脚上负跳变需2个机器周期,即24个振荡周期。所以T0或T1脚输入的计数外部脉冲的最高频率为fosc/12。当晶振

28、为12MHz时,最高技术频率为500KHz,高于此频率将计数出错。2.3.1与T/C有关的特殊功能寄存器(1)计数寄存器TH和TLT/C是16位的,计数寄存器有TH高8位TL低8位构成。在特殊功能寄存器中,对应T/C0为TH0和TL0;对应T/C1为TH1和TL1。定时器/计数器的初始值通过TH1/TL1和TH0/TL0设置(2)定时器/计数器控制寄存器TCON表25TR1TR0TR0、TR1:定时器/计数器0、1启动控制位。1是启动,0是停止TCON复位后清零,T/C需要受到软件控制才能启动计数;当计数计满时,产生向高位的进位TF,即溢出中断请求标志T/C的方式控制寄存器TMOD表26GAT

29、EC/TM1M0GATEC/TM1M0 C/T:计数器或定时器选择位。1位计数器,0位定时器 GATE:门控信号。1时T/C的启动控制受到双重控制,即要求TR0/TR1和INT0/INT1同时为高;0时T/C的启动仅受TR0/TR1控制。 M1和M0:工作方式选择位,具体见下表表27M1 M0方式功能0 00为13位定时器/计数器,TL存低5位,TH存高8位0 11为16定时器/计数器,TL存低8,TH存高8位1 02常数自动装入的8位定时器/计数器1 13仅适用于T/C0,两个8为定时器/计数器2.3.2 定时器/计数器的初始化(1)初始化步骤在使用89C51的定时器/计数器前,应对它进行编

30、程初始化,主要是对TCON和TMOD编程,还需要计算和装载T/C的计数初值。一般完成以下几个步骤:1 确定T/C的工作方式-编程TMOD寄存器。2 计算T/C中的计数初值,并装载到TH和TL。3 T/C在中断方式工作时,须开CPU中断和源中断-编程IE寄存器。4 启动定时器/计数器-编程TCON中TR1和TR0位(2)计数初值的计算在定时器方式下,T/C是对机器周期脉冲计数的,如果fosc=6MHz,一个机器周期为2us,则方式0 13位定时器最大时间间隔=(2-1)*2us=16.384ms;方式1 16位定时器最大时间间隔=(2-1)*2us=131.072ms;方式2 8位时器最大时间间隔=(2-1)*2us=512us若使T/C工作在定时器方式1,要求定时1ms,求计数初值。如设计数初值为x,则有(2-1)*2us=1000us x=2-500因此,TH,TL可置65536-500。2.4 74LS273和74LS02简介:图2-3 74LS273管脚图引脚功能:74LS273是8位数据/地址锁存器。74LS273是一种带清除功能的8D触发器, 1D8D为数据输入端,1Q8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。 图2-4 74LS02管脚图 引脚功能:74LS02是四二输入或非门。该芯片有四个或非门公选择,如1A或1B

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1