出租车里程显示系统的设计.doc

DZ057出租车里程显示系统的设计

收藏

压缩包内文档预览:(预览前20页/共44页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:512069    类型:共享资源    大小:491.26KB    格式:RAR    上传时间:2015-11-11 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
毕业设计
资源描述:
DZ057出租车里程显示系统的设计,毕业设计
内容简介:
- 1 - 参考必读 下列资料与各个论文题目均有所出入,相关内容仅供参考,不可雷同。 错误更改: (陈廷廷、胡大亮、吕帅、陈迟、许彪) 步进电机式湿度表的设计 改为 步进电机式温度表的设计 格式要求 内容分为:引言、正文、结论与展望、致谢、参考文献等几个部分。 各部分均要分页。各章亦要分页显示。 图表格式要正确, 必须用黑色笔书写 ,字体要端正,不可潦草。 nts- 2 - 出租车里程显示系统的设计 第 1 章 概 述 1.1 国内外研究现状 自今汽车走过了 100 多年的发展历程,汽车仪表也在不断开发和发展之中。汽车仪表发展,按 其工作原理上取得的重大技术创新来分经过四代:第一代汽车仪表是基于机械作用力而工作的机械式仪表,即机械机芯表;第二代汽车仪表的工作原理基于电子测量原理,即通过各类传感器将被测的非电量变换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电机式全数字汽车仪表。 目前,汽车仪表正在经历第三代向第四代转型时期。第三代汽车用仪表工作原理与电气式仪表基本相同,只是用电子器件取代原来的电气器件。随着集成电路技术突飞猛进的发展,这种仪表现在均采用汽车仪表专用集成电路,是国内汽车仪表目前的主流产品,经过 多年的发展,其结构形式经历了动圈式机芯和动磁式机芯阶段。电子器件经历了分立器件和专用集成电路阶段。发展到今天以塑料件为主;围绕提高指示精度和指针平稳性,有动圈式、 动磁式等 。 第 四 代 步进电机式 全数字式汽车仪表从其应用的技术手段上看,还 是电子技术范畴,也属于电子式仪表, 但信号处理方式己从模拟变成数字。其最显著的特征是工作原理与第三代汽车仪表完全不同。 本系统研制的步进电机式车速里程表就是在这第三代和第四代转型时期开发研制的第四代新型仪表。该表属于第四代步进电机式全数字式汽车仪表,本系统开发的仪表的优点是指示精度高, 响应速度快、无抖动, 指示范围 分度均匀 等。 1.2 方案比较 根据设计任务,车速里程表机芯的研制 主要设计出车速的指示和里程的显示 ,具有小计里程和总里程的双显示功能,车速具有回零功能。因此根据总体设计要求,经过分析研究设计出方案如下。 1.2.1 方案一:动磁式车速里程表 电子车速里程表是由步进电机 M 驱动机械式里程记录机构(计数器),装在变速箱内霍尔传感器的输出信号控制步进电机。步进电机 M 由专门集成电路 BL2115 驱动,步进电机 M 转动量与变速箱输出轴转动量成一定速比关系,从而取消了传统的软轴驱动。 指示瞬时 车速的指针用十字交叉动磁式机芯驱动,该机芯上有一个专门集成电路LM1819 同时接受霍尔传感器输出信号,并输出两路驱动十字交叉线包的电流信号。这两路电流信号决定十字交叉线包的合成磁场方向,合成磁场驱动瞬时车速的指针偏转,用以指示车速。综上所述,累计里程计数和瞬时车速指示都受控于同一个信号源(霍尔速度传感器)。图 1-1 是动磁式车速里程表工作原理框图。 nts- 3 - 图 1-1 动磁 式车速里程表工作原理框图 这种结构的车速里程表结构复杂,但它具有较好的优点:用指针指示速度,指针的转速连续、稳定,驾驶员不易产生视觉疲劳。 1.2.2 方案 二 : 双线圈式 车速里程表 本方案是通过单片机来实现里程累计、清零及存储,存储由 E2PROM芯片 AT24C02组成,并以 LM1819集成电路驱动十字线圈表头,从而实现车速的指示。原理框图见图1-2所示。 该设计方案成本低廉、指针稳定性好、响应速度快、抗震性强、可靠性和性价比都很高。该里程表完全取代 了 传统的以软轴驱动的车速里程表。当然 , 这只是一种实现方案 , 也可以由单片机通过软件来驱动十字线圈表头 , 即由单片机分别控制表头的正弦线圈和余弦线圈而省去 LM1819 集成电路。对此 , 本文 不再赘述。 单 片 机E E P R O ML C D 显 示L M 1 8 1 9 驱 动 器 双 线 圈 转 速 表图 1-2 双线圈式车速里程表原理框图 1.2.3 方案 三 :步进电机式车速里程表 本方案的步进电机式车速里程表是一种用指针指示速度、用液晶显示里程的电子式车速里程表。 车速表不再采用十字交叉动磁式机芯,而改用步进电机式机芯 。该 步进电机式机芯由 单片机 控制,再由步进电机带动指针指示行 驶 车速, 从而实现车速的瞬时指示, 因而称作单片机控制步进电机式机芯车速表。里程累计和小计不再使用机械计数器,而是改用 E2PROM 芯片 存储显示数值,由显示屏 LCD(液晶显示屏)显示累计 和小计里程。 采用液晶显示后, 克服了字轮显示故障率高、受命短等缺点,还增加了短距离计程等功能。本方案中的步进电机式车速里程表原理框图如图 1-3 所示。 步进电机式车速里程表是一种以单片机来实现里程累计、小计、清零及存储,并以步进电机来实现车速的指示。该方案成本低廉、指针稳定性好、响应速度快、抗震性强、可靠性和性价比都很高。 nts- 4 - 单 片 机E E P R O M驱 动驱 动L C D 显 示步 进 电 机T 0T 2图 1-3 步进电机式车速里程表原理框图 1.2.4 方案 论证 实现以上方案都可以达到车速和里程显示的目的,但采用动磁式车速里 程表在 装配过程中 易发生 针轴与轴承间间隙不一致、阻尼油阻尼不合适等问题 。而采用双线圈式车速里程表速度指示在低速区的线性差和精度不高。对于第三种方案采用步进电机式车速里程表,其工作原理上的技术创新以 及指针精度较。 故确定采用此方案来实现高精度的车速和里程。 步进电机式车速里程表 车速对应指示区间为 0200km/h; 里程表由总里程和小计里程组成,总里程显示范围为 0999999km,小计里程显示范围为 0999.9km。在这第三种方案中,车速和里程信号都是由霍尔传感器送入到单片机的 T0和 T2端口, T2记录霍尔传感器 送入信号的周期,在单片机中做相应处理后,送给步进电机用于车速的测量。 T0记录霍尔传感器送入信号的个数,记录到一定的数值送给 LCD显示里程。并 把显示的总里程 保存在 E2PROM 中。 第二章 步进电机式车速里程表的硬件构成 在上一章中我们论证了车速里程表的设计方案,步进电机式车速里程表是本文选取的最优方案 。本章将重点介绍该方案的具体实施内容,其中包括车速、里程信号 模块、控制模块、 LCD 显示模块、步进电机指示模块和掉电保护模块等。 下面我们分别对各个模块进行一一介绍。 2.1 总体结构的设计和原理概述 步进电 机式车速里程表机芯研制的硬件原理框图如图 2-1 所示。其中车速 、里程信号部分是由霍尔传感器组成。霍尔传感器安装在 变速箱输出轴上 , 霍尔传感器采集到的信号送 是 给单片机的定时器 /计 数 器 T0 和定时器 /计 数 器 T2 中。单片机构成了控制部分,单片机把霍尔传感器送来的信号,通过单片机的 计 数 器 T0 做相应编程,记录下汽车行驶 0.1km 时霍尔传感器所产生的信号脉冲个数,通过单片机转换为 BCD 码送给 LCD 显示,也就实现了最小显示为 0.1km ,如果累计到 1km,就把 1km 累加到总里程并送入E2PROM 保存,再从 E2PROM 中调入 LCD 中进行总里程显示。在 LCD 显示中分为小计里程显示和总里程显示,小计里程可实现单次行驶路程,总里程记录汽车总行驶路程。在 E2PROM 中只保存总里程值,以备单片机掉电时总里程数据丢失。 定时器 /计 数 器 T2用于记录单个脉冲的周期,把这个周期值通过软件编译转化为车速值,再由单片机的P0 口送给步进电机指示瞬时车速值。 nts- 5 - V单 片 机车 轮T 2T 0P 0P 2驱 动驱 动L C D 显 示步 进电 机E E P R O M图 2-1 步进电机式车速里程表机芯的 原理 框图 显示模块由驱动芯片 PCF8566 和 LCD 显示屏组成。在显示模块中,显示里程的信号是由 P2 口送入 的, P2 输出的信号要先经过驱动芯片 PCF8566 再送给 LCD 显示。步进电机模块同样也由驱动芯片组成,本系统选择的驱动芯片是 ULN2003,速度信号经由单片机 P0 口送给驱动芯片,再由驱动芯片送给步进电机指示相应车速值。 2.2 车速、里程信号电路的设计 第四代汽车仪表对于传感器的选择,一般常用的是霍尔式和干簧管式转速传感器,也比较少的用到磁电式转速传感器。因为随着车速的提高,用软轴驱 动的传统车速里程表受到前所未有的挑战 , 这是因为软轴在高速旋转时 , 由于受钢丝交变应力极限的限制而容易断裂 , 同时 , 软轴布置过长会出 现形变过大或运动迟滞等现象 。 第四代车速里程表 无论选择哪种传感器它们输出的信号都要是脉冲信号 ,从而使得非接触式转速传感器得以迅速发展 。也 只有选择产生脉冲信号的传感器才能满足本课题的要求。故本系统选用霍尔式转速传感器。 霍尔探头组件安装在变速箱输出轴上,里程计数、车速计时脉冲产生的工作原理如图 2-2 所示。八个磁钢与变速箱输出轴同步旋转。霍尔探头固定在变速箱壳体上静止不动,当输出轴上 某只磁钢转动到霍尔探头对应位置时,霍尔探头中的霍尔敏感器件受到磁钢磁场作用,霍尔探头输出一个低电平,当没有磁钢与霍尔探头对准时,霍 尔探头不再 受到磁场作用,输出高电平。输出轴转动一周,霍尔探头有八个方波输出。 如果以速比为 1: 624 的车型为例,汽车行驶一公里,则霍尔传感器发出的脉冲数共为 8 6244992 个。步进电机式车速里程表机芯的转动和 LCD 中里程的显示都是受 控于霍尔探头输出的方波个数。 记录 4992 个脉冲表示汽车行驶 1 公里,记录单个脉冲的周期算出汽车行驶的速度,具体应用将在相应章节中介绍。 图 2-2 霍尔传感器组件 nts- 6 - 2.3 控制模块电路的设计 控制模块由单片机构成,单片机的复位电路和振荡电路的连接如图 2-3 所示, 复位选用自动 上电复位方式,晶振选用典型值 11.0592MHz。 电容 C01 和 C02 的作用是帮助起振。由于 AT89S52 有 8k 字节的 ROM,对于本系统来说存储器能够满足要求,因此,EA =1。 图 2-3 开关按钮复位和晶振连接图 P0 口的低四位承担着传送步进电机时序信号的任务,这个时序信号用来指示相对应的速度,因此 P0 口的低四位接 ULN2003。由于 P0 口 是一个 8 位漏极开路的双向 I/O口 。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“ 1”时,引脚用作高阻抗输入。故需要接上拉电阻来实现“ 1”的输出。 P2 口中的 P2.0 和 P2.1 接 E2PROM芯片 AT24C02 的 SDA 和 SCL 管脚, P2.2 和 P2.3 接 PCF8566 的 SDA 和 SCL 管脚。 连线之间均接上拉电阻。 2.4 里程显示电路的设计 里程显示可由 LED 和 LCD 来显示。 由于 LCD 显示屏具有 零辐射、低功耗、散热小、体积小、 显示 清晰 等 优点,并且 显示视觉效果较好,可有效地缓解驾驶员的眼疲劳。对于功耗要求越低越好的汽车仪表来说,优先 选用 LCD 来显示里程是它最终的选择。本文选择的是 PCF8566 驱动器和专用 LCD 组 成 LCD 显示模块。之所以如此选择,是因为 PCF8566 芯片是 低功耗的 LCD 驱动器。 图 2-4 为 LCD 显示模块连线图。 PCF8566 的 SDA 和 SCL 管脚分别接单片机的 P2.0和 P2.1,在这两者的连线之间 接 上拉 电阻。 PCF8566 的四个背极输出 BP0-BP3 分别直接与 LCD 的背极输入 BP0-BP3 相连, PCF8566 的 24 个段输出也同样直接与 LCD 相连。PCF8566 器件地址和控制命令字要通过 I2C 总线发送进来,它们发送的顺序为:器件地址 方式设置 数据指针 器件选择 闪烁控制。但本系统只用到一个 PCF85 66 器件,器件的默认子地址为 00H,不需要再进行器件选择,故可省去器件选择这个控制命令字。那么控制命令字的发送顺序改为:器件地址 方式设置 数据指针 闪烁控制。 PCF8566 的 VDD 脚接 +5V, OSC、 A0、 A1、 A2、 VSS 和 VLCD 接地。 nts- 7 - 图 2-4 LCD 显示 模块 连 线 图 车速里程表的速比表示的是:车轮转轴在汽车行驶一公里时所转过的转数。步进电机式车速里程表采用的是霍尔式转速传感器。这种车速里程表转轴每转一圈,霍尔传感器将感应发出八个脉冲。现在以速比为 1: 624 的车型为例,汽车行驶一公 里,则霍尔传感器发出的脉冲数共为 8 624 4992 个,也就是说,每个脉冲代表了 1/4992 公里的路程。将这些脉冲信号输入给单片机的定时器 /计数器 T0,利用 T0 的计数功能,使之计到 499 个脉冲产生一个中断,中断后进入计数器 T0 中断子程序,在这个中断子程序中,实现对小计里程的累计和总里程的累加。若累加了总里程则把累加的总里程数送到E2PROM 芯片 AT24C02 中保存,并从芯片 AT24C02 中调出送给 LCD 显示。 从以上章节,我们已经知道 LCD 分别 显示 出小计里程和总里程,其中小计里程进位时,也同时累计至总计里程 。 小计里程显示为 000.0 999.9km, 总里程液晶显示为000000 999999km。液晶里程显示屏见图 2-5 所示,其中上一排 6 位显示总里程,下一排 4 位显示小计里程,且小计里程的最后一位为小数。器件子地址的传送顺序是从上排左首至右结束,接着再从下排右首开始,至左首结束,上下两排都是左首为高位。 小计里程显示的复位是通过外部中断 INT0 来实现的,小计里程以 0.1km 为最低显示数字,停车关掉电门后不保存,总里程显示数值保存在 E2PROM 中,从而掉电不会丢失总里程数值,当打开电门,即刻显示上次总里程累计数。 下次行车总里程继续累计相加,总里程累计超过显示范围 999999km 时,不再响应里程数的变化,而一直显示 999999 km。小计里程超过显示范围 999.9km 时即刻清零,并从 000.0 开始重新计数。 nts- 8 - 19mm3 8 m m图 2-5 液晶里程显示屏 2.6 掉电保护电路的设计 由于需要保存总里程,但单片机在掉电 模式下 数据会丢失。 因此 应该 选择 E2PROM存储器,本文选择的 E2PROM 存储器是 AT24C02,它的主要特 点 在于 I2C 总线的应用,16 字节页写缓冲区、 100 万次擦写周期、数据存储长达 100 年和温度范围大等优点。 该存储 芯片和单片机的 P2.0、 P2.1 相连,在计数时只要总里程有进位,单片机就把总里程送入 AT24C02 中保存,同样每次显示的总里程都是从该存储器件中调入的。该器件 支持 I2C 总线数据传送协议。 I2C 总线协议规定,任何将数据传送到总线的作为发送器,任何从总线接收数据的器件为接收器。数据传送由主器件控制,总线的串行时钟、起始停止条件均由主控制器产生。主器件和从器件都可以作为发送器或者接收器,但数据转送(接收或发送)模式由主器件控制。 I2C 总线协议定义如下: 1. 只有在总线非忙时才被允许进行数据传送。 2. 在数据 传送时,当时钟线为高电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被当作总线的启动或停止条件。 I2C 总线的具体应用,请参考相关书籍,本文不再骜述。总之,通过开始信号、写或读命令、应答信号、传送字节、结束信号等依次顺序送入即可实现数据的传送。电路连线如图 2-8 所示。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 2 1- M a y - 20 0 6 S he e t o f F i l e : F : 段争光 试验板 M y D e s i g n .d db D r a w n B y:A01A12A23GND4S D A5S C L6WP7V C C8U22 4C 0 2R15 .1 kR25 .1 kV C CP 2. 1P 2. 0图 2-8 E2PROM 连线图 nts- 9 - 里程显示的程序 设计 AT89S52 和一般单片机一样,支持 C51 高级语言和 asm51 汇编语言两种语言编程。但我们在大学的学习中用的是 asm51 汇编语言,为了更好的对大学所学 课程知识的一次再认识和连贯性总结,故本论文仍然选用汇编语言。 且 本程序在设计上主要具有以下特点 : 1) 在软件结构上 , 各功能程序实现模块化、子程序化 ; 2) 在显示方式上 , 采用循环 显示队列 ; 3) 速度信号采用脉冲周期测量法 , 根据 车轮 周长 推算出速度值 ; 4) 里程计数由脉冲个数换算成公里数 。 上 电 复 位 初 始 化 椎 栈设 定 时 器 T 0 、 T 2 工 作 方 式 ,外 部 中 断 0 ,中 断 1 ,及 赋 初 值 , 优 先 级 设 置各 内 存 单 元 赋 初 值 ,读 E E P R O M , 转 化 为B C D初 始 化 L C D , 全 显速 度 初 始 化 , 步 进 电 机 反 转 2 8 0 度速 度 显 示 模 块里 程 显 示 模 块2 0 H . 0 = 1 ?Y里 程 保 存 到 E E P R O MN2 0 H . 3 = 1 ?YN图 3-1 主程序流程 图 主程序流程图如图 3-1所示 。 在主程序中用来对系统进行初始化 , 将系统中所有的命令状态以及有关的存储单元置位成初始状态 , 设置 AT89S52的堆栈指针 、读 E2PROM中的总里程并转化为 BCD码 ,初始化 LCD显示,初始化步进电机并使之逆时针旋转 280度进行回零,然后判断 20H.0是否为 1,如为 1则保存里程信号到 E2PROM中,否则调用里程显示模块,再判断 20H.3是否为 1,如为 1则调用速度显示模块,否则返回继续判断20H.0。中断实现了 对采集 的信号 处理、 置 判断 标志 、存储、送显示 、指示 等 。 nts- 10 - 3.1.1 里程的累加 T0 中断里程计数子程序中,计 499 个脉冲表示行走了 0.1 公里,并产生中断进入T0 中断子程序。在这里首先关闭中断,小计里程单元加一,并送 备调用显示单元。如果进位达到一公里,则总里程单元也加一,并把总里程单元送入 E2PROM 芯片保存。其中写里程子程序如图 3-2 所示。起始地址 SLA24 赋值 00H,发送数据缓冲区首址为 50H,传送字节数为 06H,所以发送数据单元为 50H、 51H、 52H、 53H、 54H、 55H 六个单元。寻址字节为 0A0H,表示为写字节。最终发送的六个数据保存在 AT24C02 的 00H、 01H、02H、 03H、 04H 和 05H 中。 S L A 2 4 0 0 H , R 0 5 0 HR 6 0 6 HR 6 = 0 ?YN调 用 起 始 信 号 , 送写 字 节 0 A 0 H发 送 起 始 地 址 , 发送 一 个 数 据 字 节增 加 地 址 , 增 加发 送 单 元调 用 结 束 信 号结 束 返 回SLA240HR0H,R76 调用起始信号,写字节0AH发送起始地址,调用信号增加地址,增加接受单元送读字节0A1H,一个数据字节R7=0?NY调用结束信号返回图 3-2 写里程子程序 图 3-3 读里程子程序 读里程子程序如图 3-3 所示,其中起始地址 SLA24 同样赋值 00H,接收数据缓冲区首址为 40H,传送字节数为 06H,所以接受数据单元为 40H、 41H、 42H、 43H、 44H 和45H 六个单元。寻址字节为 0A0H 时为写字节,为 0A1H 时为读字节。同样是从 00H、01H、 02H、 03H、 04H 和 05H 这六个地址中读出的。 里程的设计关键是在中断里的设置,计数器 T0 初值的计算为: 162 4 9 9 6 5 0 3 7 us 216 表示计数器 T0 选择方式 1 的最大计数值, 499 为汽车行驶 0.1 公里的脉冲个数,65037 化为十六进制为 0FE0DH。当 T0 计到 499 个脉冲时,就跳转到 T0 中断。在中断中首先关闭中断允许 EA,接着就是做加法处理,并置标志位 20H.0 以便是否要送E2PROM 保存。图 3-4 为具体流程图。 小计里程在 36H、 37H、 38H、 39H 中做加法,并送 46H、 47H、 48H、 49H 单元,以便转化为 BCD 码送入 LCD 显示。标志位 20H.0 为 1 时,就把总里程加法处理过的 30H、31H、 32H、 33H、 34H、 35H 单元内容送 50H、 51H、 52H、 53H、 54H、 55H 单元,以便写入 E2PROM 保存。如果标志位 20H.0 为 0,则中断返回。从而实现了里程的处理。 nts- 11 - 关 毕 E A , 小 计 里 程 加 1保 护 现 场小 计 满 1 公里 ?总 里 程 加 1 ,2 0 H . 0 12 0 H . 0 0YN小 计 里 程 送4 6 H . . . 4 9 H ,恢 复 现 场中 断 返 回图 3-4 T0 中断子程序 下面我们给出 T0 中断的子程序: INTT0: PUSH ACC PUSH PSW CLR EA MOV TH0,#0FEh MOV TL0,#0Dh INC 36H ;小计里程显示 MOV A,36H CJNE A,#10,LT03 MOV 36H,#00H CLR 20H.0 LCALL LT06 ;小计里程进位送总里程 INC 37H MOV A,37H CJNE A,#10,LT03 MOV 37H,#00H INC 38H MOV A,38H CJNE A,#10,LT03 MOV 38H,#00H INC 39H MOV A,39H CJNE A,#10,LT03 MOV 39H,#00H LT03: MOV A,36H ;小计里程送 46-49 以备送显示 MOV 46H,A MOV A,37H MOV 47H,A MOV A,38H MOV 48H,A MOV A,39H MOV 49H,A POP PSW POP ACC SETB EA RETI LT06: INC 35H ;插入总里程 MOV A,35H CJNE A,#10,LT04 ;45H 不等于 10,则跳转 MOV 35H,#00H INC 34H MOV A,34H CJNE A,#10,LT04 ;44H 不等于 10,则跳转 MOV 34H,#00H INC 33H MOV A,33H CJNE A,#10,LT04 nts- 12 - MOV 33H,#00H INC 32H MOV A,32H CJNE A,#10,LT04 MOV 32H,#00H INC 31H MOV A,31H CJNE A,#10,LT04 ;41H 不等于 10,则跳转 MOV 31H,#00H INC 30H MOV A,30H CJNE A,#10,LT04 MOV 30H,#09H MOV 31H,#09H MOV 32H,#09H MOV 33H,#09H MOV 34H,#09H MOV 35H,#09H LT04: SETB 20H.0 RET nts- 13 - 3.1.2 里程的显示 LCD 显示子程序是里程显示中的难点,其关键在于 PCF8566 的应用。其中也用到 I2C 总线,这一点和读、写子程序一样,但比它要复杂一些。见图 3-5 所示。 调 用 起 始 信 号送 方 式 设 置 字 节送 P C F 8 5 6 6 地 址送 数 据 指 针 字 节送 闪 烁 控 制 字 节送 数 据 单 元 中 的B C D 码数 据 单 元 加 1 ,送 完 ?结 束 返 回YN图 3-5 LCD 显示子程序 在 LCD 显示子程序中,先送器件地址接着送器件的控制命令,根据“里程显示电路的设计”这一小节我们知道,控制命令有四个字节,但因为我们只有一个 LCD 显示芯片,故省去了器件选择控制命令这一字节。这个子程序在主程 序中循环调用,具体应用见附录 E。 nts- 14 - 基于红外线的电灯亮度遥控器的设计 原理简介: 一、编码格式 红外遥控输出 40KHz 的载波编码,改变 R3 大小可以改变发射距离。遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码。 电灯的亮度 可分别用 不同的脉冲 个数 来控制。为了使接收可靠,第一位码宽为 3ms,其余为 1ms,遥控码帧间隔大于 10ms。 二、遥控码发射 当某一个按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 40KHz 方波由红外线发射出去。输出调制波如图 3 所示。 一、 数据帧的接收处理 当红外线 接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据帧接收时,将对第一位起始码的码宽进行验证,若第一位低电平码的脉宽小于 2ms,将作为错误码处理,当间隔位的高电平脉冲宽度大于 3ms 时,结束接收,然后根据累加器 A 中的脉冲个数,执行相应输出口的操作。图 4 为红外线接收器输出的一帧遥控码波形。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i o nS i z eBD a t e : 2 8 - D e c - 2 0 0 7 S h e e t o f F i l e : D : u s e r n 1 .d d b D r a w n B y :R S T / V P P1P 3 .0 ( R X D )2P 3 .1 ( T X D )3X T A L 15P 3 .2 ( I N T 0 )6P 3 .2 ( I N T 1 )7P 3 .4 ( T 0 )8P 3 .5 ( T 1 )9G N D10V C C20P 1 .719P 1 .618P 1 .517P 1 .416P 1 .315P 1 .214P 1 .1 ( A I N 1 )13P 1 .0 ( A I N 0 )12X T A L 24P 3 .711U1A T 8 9 C 2 0 5 1Y16 M H zC13 0 pC23 0 pC31 0 pR11 0 kV c cR24 .7 kQ19 0 1 3红外线发射管R339V c cS1S2S3R41 0 kR51 0 kR61 0 k图 1 红外发射电路 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i o nS i z eBD a t e : 1 6 - F e b - 2 0 0 8 S h e e t o f F i l e : D : 教学 毕业设计 ( 联大 ) 0 8 红外接收电路 .d d bD r a w n B y :R S T / V P P1P 3 .0 ( R X D )2P 3 .1 ( T X D )3X T A L 15P 3 .2 ( I N T 0 )6P 3 .2 ( I N T 1 )7P 3 .4 ( T 0 )8P 3 .5 ( T 1 )9G N D10V C C20P 1 .719P 1 .618P 1 .517P 1 .416P 1 .315P 1 .214P 1 .1 ( A I N 1 )13P 1 .0 ( A I N 0 )12X T A L 24P 3 .711U1A T 8 9 C 2 0 5 1Y16 M H zC13 0 pC23 0 pC31 0 pR11 0 kV c c123红外接收H S 0 0 3 8V c cR21 0 kR33 9 0R41 2 0 k / 2 WV c cQ19 0 1 2U2O P T O I S O 1 R62 .7 kR51 2 0 KQ22 2 0 VR75 .6 kR85 .6 kR92 0 0 kQ39 0 1 3Q49 0 1 3D31 0 V1234D 1 - 4B R I D G E 122 0 VK1J K 1Q59 0 1 2V c cP 1 .7nts- 15 - 图 2 红外接收电路 图 3 输出编码波形图 图 4 一帧遥控码波形 过零检测电路 过零检测电路由 变压 器、 桥式整流和两个 9013 三极管组成 。原理自行分析。 电灯开关及亮度控制电路 1 2 3 4 5 6ABCD654321DCBAT itleN u m b e r R e v is io nS iz eBD a te : 1 6 -F e b -2 0 0 8 S h e e t o f F ile : D :教学 毕业设计 (联大 )0 8 红外接收电路 .d d bD ra w n B y :R S T /V P P1P 3 .0 (R X D )2P 3 .1 (T X D )3X T A L 15P 3 .2 (IN T 0 )6P 3 .2 (IN T 1 )7P 3 .4 (T 0 )8P 3 .5 (T 1 )9G N D10V C C20P 1 .719P 1 .618P 1 .517P 1 .416P 1 .315P 1 .214P 1 .1 (A IN 1 )13P 1 .0 (A IN 0 )12X T A L 24P 3 .711U1A T 8 9 C 2 0 5 1Y16 M H zC13 0 pC23 0 pC31 0 pR11 0 kV c c123红外接收H S 0 0 3 8V c cR21 0 kR33 9 0R41 2 0 k /2 WV c cQ19 0 1 2U2O P T O I S O 1 R62 .7 kR51 2 0 KQ22 2 0 VR75 .6 kR85 .6 kR92 0 0 kQ39 0 1 3Q49 0 1 3D31 0 V1234D 1 -4B R I D G E 1 22 0 VK1J K 1Q59 0 1 2V c cP 1 .7电灯的开关受 P1.7 口控制,也可由可控硅的导通角控制, 单片机产生可控硅控制的移相脉冲,移相角的改变实现导通角的改变,即当移相角较大时,可控硅的导通角较小,输出电压较低,电灯较暗;当移相角较小时,可控硅的导通角较大,输出电压较高,电灯较亮。当 P1.6 口为低电平时, 9012三极管导通,三极管集电极电流驱动光耦合器导通,使可控硅的 G 极产生导通电流,触发可控硅导通,当 P1.6 口为高电平时, 9012 三极管、光电耦合器、可控硅都处于 截止状态。 3ms 1ms 帧间隙 10ms 10ms 10ms 停止位 1ms 第一位 3ms 1ms nts- 16 - IC 卡简易收费装置 的设计 在本设计中,研究的是 IC 卡 的收费装置,简单的说就是对 IC 卡进行读和写的装置的研究。这种收费装置也可称为“读写设备、读写器或读写终端”。 IC 卡读写装置的种类很多,功能上也由于不同的需要差别也很大,但就其对卡的操作功能来说,都应该具备以下几个基本功能: ( 1) IC 卡的识别和控制。 ( 2)向 IC 卡提供其所需的稳定的电源与时钟信号。 ( 3)实现与卡的数据交换,并提供相应的控制信号。(对于加密数据系统,应提供相应的加密解密处理及密钥管理机制。提供相应的外部控制信息及其它设备的信息交换)。 2.2 IC 卡读写器硬件电路设计 2.2.1 功能要求 本课题设计实现的通用型接触式 IC 卡读写器需要实现以下具体的功能: ( 1)能够对 IC 卡进行识别。 ( 2)为 IC 提供稳定的时钟信号。 ( 3)有显示装置显示对 IC 卡操作前后, IC 卡中的数据。 ( 4)有键盘用于对 IC 卡进行具体的操作(数据的读出和写入)。 2.2.2 模块框图 图 2-1 IC 卡读写器模块框图 2.2.4 IC 卡的选择及读写操作 本设计中采用的是一种 ATMEL 公司生产的 AT24C02 存储式 IC 卡。它的存储容量为 2K, 2.5 5V 低电压供电,双线串行接口,双向数据传输,它的擦 /写次数可以达到 10 万次以上,其中保存数据的时间可以达到 100 年以上。它是目前国内使用最多的 IC 卡之一。 AT24C02 中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达 8 个字节的数据。 下面是其引微控制器 微控制器 键盘和接 口电路 IC 卡插座 复位电路 显示电路 晶振电路 nts- 17 - 脚图。 图 2-3 AT24C02 的引脚图 图 2-4 AT24C02 的设计连接图 上图 2-4 是本设计中 AT24C02 的电路连接图,其中 AT24C02 的 1, 2, 3 脚是三条地址线,用于确定芯片的硬件地址,它们和 4 号引脚都接地。第 8 和第 4引脚分别接正负电源。第 5 脚 SDA 为串行数据的输入输出端,数据通过这条 I2C总线进行串行传输,它和 AT89C52 的 P1.1 口相连接。第 6 脚是 SCL,它是串行时钟输入线,它和 AT89C52 的 P1.0 口相连接, SDA 和 SCL 和正电源的之间都要加 上一个上拉电阻,电阻的大小为 5.1K。第 7 脚需要接地,它是用来写保护的。 AT24C02 中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。下面对 AT24C02 的读写方式进行说明。 SDA 和 SCL: 在 AT24C02 中与逻辑控制有关的引出端线只有两条: SCL 和 SDA,所有的地址、数据及读 /写控制命令等信号都从 SDA 端输入 /输出。为了区分 SDA 线上的数据、地址、操作命令以及各种状态的“开始”与“结束”,卡片中设计了多个逻辑控制单元。其中启动和停止逻辑单元产生控 制读 /写操作的“开始”和“停nts- 18 - 止”标志信号。 “开始”状态:当 SCL 处于高电平时, SDA 从高电平转向低电平,即产生“开始”标志信号。 “停止”状态:当 SCL 处于高电平时, SDA 从低电平转向高电平,即产生一个“停止”标志信号,如下图所示。 图 2-5 读 /写操作的启动与停止时序图 由图 2-5 可以看出 SDA 和 SCL 各自通过一个上拉电阻拉到高电平。当 SCL为高电平时对应的 SDA 上的数据有效;而当 SCL 为低电平时,允许 SDA 上的数据变化。 数据输入 /输出应答 逻辑单元产生数据输入 /输出操作应答信号。操作是所有的地址和数据字都以 8 位码串行输入 /输出于卡片。卡片每收到一个 8 位码长的地址码或数据字后,都以置 SDA 线为低电平方式“确认”应答信号。其波形如下图所示。 图 2-6 输入 /输出的确认时序图 IC 卡的写操作: 在器件地址码之后,紧跟着的是字节地址码。地址码长度为八位。时序中的nts- 19 - 数据为写字节时,由 IC 卡读 /写器中的单片机在 SDA 发送一个八位码长的数据;卡片每收到一个数据字节后,都要通过 SDA 回送一个“确认”信 号( ACK)。写操作时序图如下所示。 图 2-7 写操作时序图 IC 卡的读操作: 读操作有三种:现行地址读、随机地址读及顺序读。 ( 1)现行地址读:如果最后一次操作的地址在 N,则现行地址为 N+1。 ( 2)随机地址读:从选定的地址单元开始读,时序中器件地址和字地址概念同写操作,不同的是, IC 卡读 /写器中的单片机在给出数据字地址码之后,不发生任何数据字,而是在卡片发出“确认”应答之后,又发出一个“开始”状态,进入“现行地址读”操作。单片机读如 1 个数据 字后,使 SDA 处于高电平,随后产生一个“停止”状态,结束。图 2-8 读操作时序图 ( 3)顺序读:可以从“现行地址读”和“随机地址读”开始。当 IC 卡读 /写器中的单片机收到第一个数据字后,不发“停止”状态,而是回答一个“确认”信号。一旦卡片收到单片机发出的“确认”信号,则将卡片内地址计数器的地址自动加 1,并将此地址单元中的数据从 SDA 线上串行输出。只要单片机收到数据字后回答“确认”信号,顺序读操作就继续进行,直到单片机发出“停止”信nts- 20 - 号为止。 IC 卡的 芯片操作地址(器件地址) 表 2-1 AT24C02 的操作地址 1 0 1 0 A2 A0 A1 R/W 2.2.6 读写器的键盘电路 在本设计中要求 IC 卡读 /写终端除了完成基本的 IC 卡数据读写功能,还要提供其他功能。脱机型读写器要求可以脱离上位机独立工作,所以要求 IC 卡读 /写器要有键盘和显示功能作为用户的操作界面。 操作 界面是用户是对设备进行操作和控制的接口,一般包括键盘和显示。用户根据显示的提示,使用键盘输入命令,从显示得到设备输出的结果。这一部分是人机对话的部分,是人在使用机器时和机器对话的窗口。 键盘实质上是一组按键开关的集合,控制 CPU 通过按键来识别特定的用户命令 从而转入相应的程序来执行用户命令。键盘的软硬件设计涉及下面几个方面的问题。 ( 1)按键的确认: 键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测便可确认键按下与否 。 图 2-10 按 键的抖动示意图 常见的键盘都是机械开关式的,由于机械咬合的特性以及操作人员手部的不稳定,在按键闭合和松开的瞬间会产生抖动的现象,如上图 2-10 所示。抖动现象一般持续 10ms 左右的时间。如果不采取措施消除抖动干扰,在程序中就会出现一个按键被反复按下的错误。这个时候我们就要想办法消除键盘的抖动,常用的消除抖动的方法有硬件和软件消除两种方法。 在硬件上通常采用的是双 D 触发器构成 RS 触发器,通过分析 RS 触发器的特性可以知道,输入端有微小的抖动对输出的影响是非 常小的,这种电路也常使用在单按键电路中,在本设计中采用的键盘的按键有 16 个用硬件消除抖动的方nts- 21 - 法就显得太麻烦了,因此在设计中采用的是软件消除的办法,软件消除的方法很多,最常用的方法是延迟操作,其原理就是在读取第一个键值后,延迟一段时间后,再次读取键值,判断和前一次读取的键值是否相同,如果相同就认为读取了正确的键值。 ( 2)按键接口设计和按键识别方法: 按键接口设计有两种方法,独立式按键和矩阵式键盘。 独立式按键是各键互相独立,每个按键各接一根输入线, 在没有键按下的时候, P1 口的电平是高电平,当有其中有键被按下 的时候,和那个被按下的键相对应的 P1 口的就接地,这时其电平就会变成低电平,所以判断独立式键盘的哪个键被按下很简单,只要检测输入线的电平就可以来识别按键的状态。这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口线, I/O 资源浪费大。故此方法只适用于按键少,或其他控制功能很简单的场合。矩阵式键盘适用于按键数量较多的场合,它把键盘输入线分为行线和列线,按键位于行、列的交叉点上。按键的识别需要软件分别扫描行线和列线,根据扫描结果判断具体按下的按键 。 下图 2-11 是 独 立 式 按 键 的 硬 件 设 计 图 。图 2-11 独 立式按键硬件设计图 由上图可看出,独立式键盘的每一个按键都要占用一根输入口线, I/O 资源的浪费很厉害,因此它只适用于一些按键的数量较少的,或者是控制功能的要求很简单的设计,本设计的键盘的按键的数量有 16 个之多,这种独立式的按键设计方法很显然不适合本设计。所以在本设计中采用的是 4 乘 4 的 16 个按键的键盘 , 下 图 是 其 硬 件 电 路 示 意 图 。 nts- 22 - 图 2-12 矩 阵式按键硬件设计图 由上面两副图比较就可以看出, 矩 阵式结构的键盘显然比 独立式 要复杂一些,识别也要复杂一些,上图 2-12 中,列线通过电阻接正电源,并将行线所接的单片机的 I/O 口作为输出端,而列线所接的 I/O 口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过 单片机 读入输入线的状态就可得知是否有键按下了。 确定矩阵式键盘上何键被按下 有几种方法,下面介绍的扫描法就是一种“行扫描 法”。 行扫描法又称为逐行 ( 或列 ) 扫描查询法,是一种最常用的按键 识别 方法,如上图 所 示键盘, 下面我们和具 体的分析。 ( 1) 判断有无键按下: 首先将 全部 列 线置低电平,然后检测 行 线的状态。只要有一 行 的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4个按键之中。若所有 行 线均为高电平,则键盘中无键按下。 ( 2) 判断闭合键所在的位置 : 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将 列线置为低电平,即在置某根 列 线为低电平时,其它线为高电平。在确定某根 列 线位置为低电平后,再逐行检测各 行 线的电平状态。若某 行 为低,则该 行 线与置为低电平的 列 线交叉处的按键就是闭合的按键。 键盘扫描 只是 CPU 的工作内容之一, CPU 在忙于各项工作时,如何处理键盘的输入取决于键盘的工作方式,键盘工作方式的选择应根据应用系统中 CPU工作的忙、闲情况而定。通常键盘工作方式有三种:编程扫描、定时扫描和中断扫描。 ( 1) 编程扫描: nts- 23 - CPU 反复地扫描键盘,等待用户的输入命令,而执行键入命令或处理输入数据时, CPU 不再响应输入要求,直到 CPU 返回重新扫描键盘为止。
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:DZ057出租车里程显示系统的设计
链接地址:https://www.renrendoc.com/p-512069.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!