《基于单片机出租车多功能计价器设计(共63页).doc》由会员分享,可在线阅读,更多相关《基于单片机出租车多功能计价器设计(共63页).doc(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上大连理工大学城市学院 本科生毕业设计(论文)学 院:电子与自动化学院 专 业:自动化 学 生: 姜美芹 指导教师:刁立强 完成日期:2013年6月6日 专心-专注-专业大连理工大学城市学院本科生毕业设计(论文)题目基于单片机出租车多功能计价器设计总计 毕业设计(论文)32 页 表格 6 表 插图 26 幅摘 要随着社会的高度发展,出租车已经成为人们日常生活中必不可少的代步工具,但由于各个地方的生活水平不同,导致物价存在一定的差异,因此出租车的计费标准也不尽相同。这就要求我们设计出简易化、智能化、计价精确、可移植、可靠性高的出租车计价器。本次设计利用软件设计和硬件设计相
2、结合,设计出具有性能可靠、电路简单、成本低等特点的多功能计价器。由单片机AT89C51控制,使用12MHz 晶振提供时钟信号,利用装在车轮上的霍尔传感器A44E发出的脉冲个数来测速,因为本设计涉及到白天和黑夜的转换,通过AT24C02实现白天和黑夜单价的修改和存储,从而实现白天和黑夜不同的计费标准。另外AT24C02中的数据是不可随意更改的,具有防作弊的效果。通过C语言编程实现记时、里程检测、费用计算,同时通过LED数码管将里从而达到计费的目的。最后将总车费和总金额很直观的在LED数码管中显示出来,达到计价器计价收费的目的。而且,本次设计还通过DS1302,可以在不计价的情况下作为时钟显示时、
3、分、秒,使驾驶员了解实时时间。系统包括控制模块、里程传感模块、掉电保护模块、独立键盘电路、电源电路、时钟显示模块部分。该系统设有五个按键(清除、查询/确认、停止、白天/黑夜、功能选择),进行相应的操作就可实现单程/往返模式选择、停止计费、等待时间查询、清除复位等功能,使操作简单方便。关键词:单片机; 霍尔传感器A44E; LED数码管;DS1302AbstractWith the high degree of social development, the taxi has become an everyday essential means of transport, but because
4、 of the different levels of each of the local life, causing prices there are some differences, so taxis are not the same accounting standards. This requires us to design a simple, intelligent, accurate pricing, portable, high reliability taxi meter.The design of the software and hardware design usin
5、g the combination of design with reliable performance, the circuit is simple and low cost multifunction meter. Controlled by the microcontroller AT89C51 using 12MHz crystal oscillator provides the clock signal, the use of a wheel mounted on the Hall sensor A44E number of pulses sent to the gun, as t
6、he design involves the conversion of the day and night, night and day to achieve through AT24C02 price changes and storage, day and night in order to achieve different billing standards. The data in another AT24C02 can not be changed, with the effect of anti-cheating. Through the C programming langu
7、age in mind, the mileage testing, cost calculations, while the inside through the LED digital tube so as to achieve the purpose of billing. Finally, the total amount of the total fare and very intuitive in the LED digital tube display, to achieve the purpose of the meter valuation fees. Moreover, th
8、is design also adopted DS1302, can not denominated in the case as the clock displays hours, minutes, seconds, the driver understand real-time. System comprises a control module, mileage sensing module, power protection module, separate keyboard circuit, power circuit, the clock display module sectio
9、n. The system has five buttons (Clear, check / confirm, stop, day / night function selection), the appropriate action can be achieved one way / return mode selection, stop charging, waiting time queries, clear Reset function. make operation simple and convenient.Keywords: microcontroller; hall senso
10、r A44E; LED digital tube; DS1302目录第一章 引言11.1出租车简介11.1.1出租车计价器概述11.1.2出租车计价器的工作原理11.2 单片机简介21.2.1单片机的基础知识21.2.2单片机的发展历史、趋势及应用21.2.3 MCS-51 单片机的应用特性31.3设计目的及要求41.3.1设计任务41.3.2 设计要求41.3.3系统主要功能5第二章 计价器硬件设计62.1.出租车计价器方案论证62.2 系统的硬件构成及功能82.3 AT89C51单片机及其引脚说明82.4 AT24C02掉电存储电路设计112.5里程计算、计价单元的设计132.6电源电路设
11、计152.7独立键盘电路设计162.8指示灯电路设计162.9数码管显示电路设计172.10 DS1302时钟电路设计20第三章 系统的软件设计233.1 系统主程序设计233.2 定时中断服务程序243.3 里程计数中断服务程序253.4 中途等待程序273.5 键盘扫描子程序283.6计算程序30结束语32致谢33参考文献34附录 多功能计价器程序设计35设计原理图55第一章 引言本次毕业设计利用单片机知识作为理论支撑来实现一台多功能出租车计价器设计,使之具有性能可靠、电路简单、成本低、使用方便等特点。1.1出租车简介1.1.1出租车计价器概述计价器显示的总金额是总里程与不同情况下的单价(
12、白天、黑夜、中途等待)的函数。出租车计价器通过里程传感器与车轮连接。出租汽车的实际里程通过传感器的脉冲信号在计价器里按照设定的函数转换成一定的总里程。出租车计价器功能主要有具有数据的复位功能、白天/黑夜转换功能、数据输出功能、计时计价功能等等,在原有功能的基础上增加单价输出、单价调整、路程输出、显示当前的系统时间等功能。1.1.2出租车计价器的工作原理当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定
13、值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程和单价、白天黑夜价格送数码管显示出来。1.2 单片机简介1.2.1单片机的基础知识 单片机结构包括:输入设备,运算器,输出设备,控制器,内存。 1946年第一台计算机诞生,经历了电子管、晶体管、集成电路、大规模集成电路、超大规模集成电路的过程1.2.2单片机的发展历史、趋势及应用历史: 1974年12月,美国仙童(Fairchild)公司推出了世界上第一台8位单片机F8。单片机的发展过程分为以下几个发展阶段。 1、第一代单片机(19741976年) 单片机发展的起步阶段。集成度也较低,并且采用了双片形式。 代表产品有Fairchi
14、ld公司的F8和Mostek公司的3870等。 2、第二代单片机(19761978年) 是单片机的发展阶段。 最典型的产品有Intel公司的MCS-48系列单片机。 3、第三代单片机(1979一1982年) 是8位单片机的成熟阶段。 代表产品有Intel公司的MCS-51系列机、Motorola公司的MC6801系列机、Zilog公司的Z8系列机等。 4、第四代单片机(1983年以后)1983年以后是16位单片机和8位高性能单片机并行发展的时代。趋势:目前,单片机正朝着高速度、高性能和多品种方向发展,单片机的发展趋势具体体现在以下四个方面:(1)4位、8位、16位、32位单片机共存,并各有自己
15、的生存空间。(2)CPU功能不断增强、运行不断速度提高。(3)内部资源增多,增加存储器容量、片内外设如AD、DA、LEDLCD驱动、DMA、PWM、WDT 。(4)引脚的多功能化 (5)低电压和低功耗 (6)结合ASIC和RISC技术,使单片机的应用范围进一步扩大。应用: 单片机具有集成度高、结构简单、可靠性高、控制功能强、应用灵活方便和价格低等优点,因此广泛应用于国民经济的各个领域。单片机的应用提高了机电设备的技术水平和自动化程度,对各行各业的技术改造和产品更新换代起到了重要的推动作用。1单片机特别适用于机、电、仪一体的智能产品 (1)单片机在日常生活中的应用(2)单片机在数据处理方面的应用
16、 (3)单片机在智能化的仪器仪表中应用2单片机在工业控制中的应用 单片机成功地应用于玩具、游戏机、无绳电话、充电器、按摩器、IC卡电话、IC卡水表、IC卡煤气表、IC卡电度表、流量温控仪表、家庭自动化、电子锁、电子秤、步进电机、防盗报警、电子日历时钟等这些日常生活的产品中。 图形终端、彩色黑白复印机、软盘及硬盘驱动器、磁带机、打印机的内部都采用单片机进行控制。 在各类仪器仪表中(包括医疗器械、色谱仪、温度、湿度、流量、流速、电压、频率、功率、厚度、角度、长度、硬度、元素测定等)引入单片机,使仪器仪表数字化、智能化、微型化,功能大大提高。11.2.3 MCS-51 单片机的应用特性 由于MCS-
17、51系列单片机具有体积小、功能全、价廉、面向控制、应用软件丰富、技术在不断更新、开发应用方便等优点,可以适应各个应用领域的不同需要,因而具有极强的竞争力和生命力,应用前景广阔。今后它仍将是科技界、工业界广泛选择应用的8位微控制器,仍将是单片机应用的主流机种。各高校实验室大多都配备了MCS-51系统仿真实验装置。所以,它今后仍将是高等院校教材的首选内容之一。11.3设计目的及要求1.3.1设计任务设计一款基于AT89C51单片机的多功能出租车计价器。1.3.2 设计要求1.用前4位数码管实时显示里程数(Z),单位为公里,最后一位为小数位; 用后4位数码管时时显示金额数(J),单位为元,最后一位为
18、小数位。格式:XXX.X 公里 XXX.X元2.规定出租车白天价格为2元/公里,黑夜则价格为1.5元/公里;白天/黑夜分别由“白天” 按键和“黑夜” 按键设定。3.(1)不同情况具有不同的收费标准。白天规定出租车单程价格为2元/公里,黑夜则价格为1.5元/公里起步公里数为3公里,价格为8元;若实际运行大于3公里, 按“设计任务2”计算价格。途中等待 车速5公里/小时的时间累积为总等待时间T(分钟), 每五分钟等待时间相当于里程加1公里。(2)能进行手动修改单价。(AT24C02)(3)具有数据的复位功能。(4)IO 口分配的简易要求 距离检测使用霍尔开关A44E 白天/黑夜收费标准的转换开关
19、数据的清零开关 单价的调整起步价、里程计费单价、等待时间计费单价(5)数据输出l 前4位数码管实时显示里程数(Z),单位为公里,最后一位为小数位; 后4位数码管时时显示金额数(J),单位为元,最后一位为小数位。(6) 按键 功能键P1.0;白天黑夜切换键P1.1;停止键P1.2;清除键P1.3; 查询、确认键P3.0(7) LED指示灯 空车P1.4;查询P1.5;等待P1.6;黑夜指示灯(仅晚上亮)P1.74.发挥部分(1) 能够在掉电的情况下存储单价等数据。(2) 能够显示当前的系统时间。 (3) 增加了指示灯提示功能1.3.3系统主要功能 本课程设计所设计的出租车计价器的主要功能有:数据
20、的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出,实现在系统掉电的时候保存单价和系统时间等信息等功能。输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。第二章 计价器硬件设计2.1.出租车计价器方案论证方案一: 采用数字电路控制。用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现;性能不够稳定,而且使用数字电路实现时整体规模大,使用器
21、件多,难调试,出现故障时,不易发现原因,不利于维修。单价显示金额显示电源电路及保护电路移位寄存器里程传感器图2-1数字电路方案图电路过于简单,性能不够稳定,而且不能够调节单价,也不能根据白天黑夜中途等待转换计费标准,电路不够实用。方案二:出租车驱动轮转数与转轴转数的传动比是一定的,磁感应传感器会产生一个大约20 ms的低脉冲,通过计算磁感应传感器产生的低脉冲数来计算出租车跑的里程数及相应的车费。编码器的单片机通过一个I/O口来检测磁感应传感器信号,当确定为传感器产生的信号时,就通过另一个I/O口向解码器的单片机发送一组编码,而解码器的单片机则首先判断当前准备接收的数据是编码器发送的编码还是解码
22、写入器发送的解码。当判断是解码写入器发送的解码时,解码器的单片机接收此解码,并利用12C总线协议将解码保存到EEPROM中去;当判断是编码器发送的编码时,解码器的单片机先接收此编码,然后读出EEPROM中的解码,将其与接收到的编码相比较,如果相同则解码器单片机通过一个I/O口向计价装置发出计价脉冲,否则不发出计价脉冲。解码器计价装置编码器磁感应传感器解码写入器计价脉 冲图2-2编码器方案图此方法通常使干扰信号也能产生计数脉冲,分立元件过于复杂,电路稳定性不好。方案三: 采用单片机控制。利用单片机丰富的I/O 端口来实现基本的里程计价功能和价格调节功能。相对来说功能强大,用较少的硬件和适当的软件
23、相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89C51单片机为主控器, A44E霍尔传感器测距,实现对出租车的基本的计价设计,并采用AT24C02实现掉电保护,输出采用8段数码显示管动态显示。根据按键转换白天/黑夜/中途等待来选择不同的工作模式。89C51单片机按键控制复位电路掉电保护显示模块时钟电路显示总里程和总金额图2-3单片机方案图通过比较以上三种方案,单片机方案有较大的活动空间,I/O端口丰富,且控制灵活。不但能实现所要求的功能而且能在很大的程度上扩展功能, 而且还可以方便的对系统进行升级, 所以我们采用最后一种方案。2.2 系统的硬
24、件构成及功能本系统的硬件设计主要包括单片机AT89C51、数码管显示、A44E霍尔传感器电路、AT24C02 掉电存储单元的设计、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。总体方案图如图2-4: AT89C51复位电路键盘控制里程计量电路掉电保护电路DS1302时钟电源数码管显示晶振电路指示灯电路图2-4 总体方案图2.3 AT89C51单片机及其引脚说明AT89C5
25、1是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一
26、种灵活性高且价廉的方案13。下面是关于AT89C51的引脚图图2-5。图2-5 AT89C51的引脚图AT89C51芯片的40个引脚功能为:VCC 电源电压。GND 接地。RST 复位输入。当RST变为高电平并保持2个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISKRTO位缺省为RESET输出高电平打开状态。XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 来自反向振荡放大器的输出。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定
27、义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入
28、。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序处理器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能的寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为一般的I/O口线外,更重要
29、的用途是它的第二功能,如表2-1所示。P3口还接收一些用于Flash闪速存储器编程和程序校验期间的控制信号。表2-1 P3口特殊功能P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)PSEN/ 程序储存允许输出是外部程序存储器的读先通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN/有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN/信号。
30、EA/VPP 外部访问允许。欲使CPU仅访问外部程序存储器,EA端必须保持低电平,需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程电压VPP。2.4 AT24C02掉电存储电路设计AT24C02芯片引脚配置如图2-6所示图2-6 AT24C02引脚配置图AT24C02芯片DIP封装,共有8个引脚,管脚描述如下:表2-2 AT24C02管脚描述管脚名称功能A0、A1、A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护Vcc+1.8V6.0V工作电压GND接地SCL:串行时钟端,用于对输入和输出数据的同步。在SCL上升沿时,
31、把数据写入EEPROM,在SCL下降沿时,把数据从EEPROM中读出。SDA:串行数据I/O端,用于输入和输出串行数据。当SCL为高,SDA由高电平变成低电平(下降沿),为起始信号;当SCL为高,SDA由低电平变成高电平(上升沿),为终止信号。WP:写保护。通过此引脚可提供硬件数据保护。当WP接地时允许芯片执行一般的读写功能。当WP接VCC时,对芯片实行写保护。WP接地是因为WP为写保护引脚,由于AT24C02不具有写保护功能,所以经该引脚接地。采用I2C总线与AT89C51相连15。 AT24C02 掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C0
32、2 是ATMEL公司的2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40 年以上,而且采用8 脚的DIP 封装,使用方便。其电路如图2-7所示。图 2-7掉电存储电路原理图由于在EEPROM内部,SCL和SDA是漏极开路结构的,所以,使用时需要外接上拉电阻。图中R11、R12是上拉电阻,其作用是减少AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设
33、定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。由于保存在24C02 中的数据是不能随意进行改动的, 因此它具有防作弊功能。此外出租车营运过程中的一些营运数据, 如: 单次出租的营运额和营运里程、一段时间内的营运总额和总路程等, 也存储在24C02 中, 以便出租车公司及司机查询, 使出租车司机更方便的管理营运数据, 出租车行业得到更有效的管理。2.5里程计算、计价单元的设计信号采集主要是通过传感器对采集车轴转数,通过主机模块进行计算,从而得出里程,金额等信息。通过对传感器的工作方法研
34、究发现,传感器A44E是比较符合条件。其工作原理图如图2-8所示:图2-8 霍尔传感器工作原理图霍尔传感器以霍尔效应为原理,根据霍尔效应原理,当霍尔片处在磁场中时,霍尔传感器的输出端输出低电平。当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集,从而产生信号。霍尔传感器检测并输出信号到单片机的IO口计算脉冲输入端,引起单片机的中断,对脉冲计数,当计数达到特定的次数时,里程就会增加,单片机对里程进行计算后,通过接口电路将计算好的结果传送到数码管并显示出来。A44E集成结构及工作点如图2-9所示。图2-9 A44E集成结构图(a)及工作点图(b)A44E型霍尔传感器属于
35、霍尔开关器件,其工作电压范围比较宽(4.518V)。其输出的信号符合TTL电平标准,可以直接接到单片机的I/O端口上,而且其最高检测频率可达到1MHZ。集成霍尔传感器外形图如图2-10所示。图2-10集成霍尔传感器外形图表2-3A44E外部引脚说明管脚名称管脚功能VCC 外接电源输入端GND外接电源地OUT数字信号输出端霍尔传感器A44E实现对车轮信号的检测,并输出脉冲信号送给单片机。单片机对传感器输出的脉冲信号进行计数,并进行里程(单位:km)换算。每一个脉冲信号代表轮胎旋转一圈,设轮胎一圈的长度为1m;轮胎转数为N,则里程Z=1*N/1000(km)。当圈数达到1000次时,也就是一公里,
36、单片机就控制将金额自动增加,其计算公式:当前单价*公里数=金额。设速度为V,脉冲信号频率为f,脉冲时间为T,则V=LunChang/I(m/s)=1*f(m/s) = 3.6*1*f(km/h)。如图2-11所示,霍尔传感器IC有3个外接端子,2个是电源的正负极端子,最后一个是脉冲信号输出,只要将此信号输出端接到单片机的IO口端子上便可以实现距离检测。其中,单片机的P3.2(INT0)引脚作为信号的输入端接收来自传感器输出的信号,采用外部中断0进行计数。图2-11霍尔传感器路程检测电路图2.6电源电路设计由于计价器的工作环境比较差, 它要求有抗振动、抗高低温、抗潮湿、抗电磁干扰等能力, 特别是
37、电源方面的干扰, 如出租车启动时, 发动机打火、电瓶充电等造成输入计价器的+ 12 V 电源不稳定。因此采用+ 12 V电瓶电源经过滤波和电源稳压管理芯片7805 后得到+ 5 V的稳定电压输出, 保证整个系统能够正常工作。如图2-12所示: 图2-12电源电路图2.7独立键盘电路设计键盘分为独立式键盘和矩阵式键盘,本次设计采用独立式键盘。独立式键盘中,每个按键占用一个独立的I/O口线,每个按键电路相互独立。I/O口线通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚端为低电平,电平被拉低。I/O口内部有上拉电阻时,外部可不用接上拉电阻。本次设计用到五个按键,分
38、别与P1.0P1.3、P3.0相连。需要注意的是:当按键按下和释放的瞬间都有抖动现象,一般来说,抖动的时间长短与键盘的机械特性有关,大约为5-10ms。所以在实际编程时一定要注意键盘的去抖动。键盘去抖动有专用的延时电路,也有专门的延时芯片,也可以用软件去抖,考虑到电路的难易程度,从简化硬件的角度,本次设计采用软件去抖动,用一个短延时程序,进行键盘去抖操作。本设计的键盘电路由5个独立按键组成,如图2-13所示。查询、确认键切换键清除键停止键功能键清除键图2-13独立键盘电路图2.8指示灯电路设计指示灯电路由4个LED组成,包括空车指示灯、查询指示灯、等待指示灯、黑夜指示灯。如图2-14所示等待黑
39、夜查询空车图2-14指示灯电路图这些指示灯能对计程车的每一种状态进行指示,空车时空车指示灯亮,查询时查询指示灯亮,当车速小于5km/h时等待指示灯亮。如果选择的模式为黑夜时黑夜指示灯亮,白天时不亮。2.9数码管显示电路设计数码管显示电路由8个LED数码管组成, LED数码管是由发光二极管排列组成的显示器件。它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、故障少、视角大、可视距离远等特点。此外,它的响应时间短(一般不超过0.1us),亮度也比较高。它的缺点是工作电流比较大,每一段的工作电流在10mA左右。其中每位数码管内部由8个LED组成,其中AG代表7个发光二极管构成7笔字形,余下一个D
40、P构成小数点,称为8段LED。8段LED数码管可以显示09等10个数字和小数点,使用非常广泛。如图2-15所示。图2-15段数码管图这类数码管可以分为共阳极和共阴极两种,本设计采用共阴极数码管共阴极则是把所有LED的阴极连接到共同接点,而每个LED的阳极分别为a、b、c、d、e、f、g、dp。共阳极则相反。如图2-16(a)、(b)所示。图2-16(a)8段共阳数码管 (b)8段共阴数码管通过控制这个公共端,可使该位对应的LED亮或暗。当共阴极端接地或共阳极接高电平,该位显示器有效,反之无效。本设计采用共阴LED数码管。其段选码如表2-4所示:表2-4共阴数码管的段选码03FH106H25BH
41、34FH466H56DH67DH707H87BH96FH数码管有静态显示和动态显示两种显示方式,本设计采用动态显示。静态显示的特点:数据稳定,占用CPU时间少,每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示的特点:有闪烁感,占用的CPU时间多,使用的硬件少,能节省线路板空间,更重要的是能节省成本。相比较而言,采用动态显示方式,比较节省I/O口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多是,CPU要依次扫描,占用CPU较多时间。本设计中使用的8个LED数码管接P0口作为段选,接P2口作为位选。空车时显示当前时间,开始计价时前四位显示里程,后四位显示金额
42、。当查询等待时间时显示为等待时间。如图2-17所示。图2-17数码管显示电路图由于数码管内部二极管点亮时需要10mA以上的电流,而单片机的输出电流还不到1mA,所以数码管与单片机连接时需加驱动电路,可以使用上拉电阻的方法,也可以使用专门的驱动芯片,考虑到复用单片机I/O接口,节省单片机I/O资源,此次设计采用74HC573锁存器驱动LED数码管段选端,其输出电流较大,电路接口简单且可直接驱动数码管显示。用三极管驱动LED数码管的位选端。因而本次数码管显示部分用到三极管驱动电路、8位数据锁存器74HC573锁存电路、8位LED数码管显示,74HC573用于连接51单片机和LED数码管,51单片机
43、的P0.0P0.7分别顺序对应数码管的ag和dp,当位P0.0为1时,对应A段点亮,以次类推。74HC573的管脚图如图2-18所示:图2-18 74HC573管脚图OE:为三态允许输入端(低电平有效),也可称作输出允许端;1D-8D为数据输入端;1Q-8Q为数据输出端;LE为锁存允许端。本次设计中LE接高电平,OE接低电平。74HC573的真值表如表2-5所示,其中H表示高电平,L低电平,Qo数据保持不变,Z高阻态。 表2-5 74HC573真值表DnLEOEQnHHLHLHLLXLLQoXXHZ2.10 DS1302时钟电路设计计价器在出租车空车行驶时需要显示实时时钟,因为它的时钟作为白天
44、/晚上单价自动转换的一个基准,且计价器的时钟显示能为司机和乘客提供方便。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,采用SPI三线接口与CPU进行同步通信;始终可提供秒、分、时;通过设置DS1302的控制状态寄存器选择日历,时钟方式经过初始校准后即可工作使用;工作电压宽2.55.5 V,采用双电源供电(主电源和备用电源),并设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力,在没有主电源的情况下启用备用电源能保存时间信息及数据14。DS1302的管脚图如图2-19所示:图2-19DS1302管脚图表2-6 DS1302管脚说明管脚名称管脚功能VCC1后备
45、电源VCC2主电源X1、X2振荡源RST复位/片选线I/O串行数据输入输出端SCLK输入端GND外接电源地DS1302由VCC1或VCC2两者中的较大者供电;当VCC2大于VCC10.2V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能。首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),SCLK始终是输入端。本设计连接图如图2-20所示,其中CI和C2起微调晶振的作用14。图2-20 DS1302电路图第三章 系统的软件设计本系统的软件设计主要可分为主程序模块、定时计数