已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
- 1 -出租车里程显示系统的设计第 1 章 概 述1.1 国内外研究现状自今汽车走过了 100 多年的发展历程,汽车仪表也在不断开发和发展之中。汽车仪表发展,按其工作原理上取得的重大技术创新来分经过四代:第一代汽车仪表是基于机械作用力而工作的机械式仪表,即机械机芯表;第二代汽车仪表的工作原理基于电子测量原理,即通过各类传感器将被测的非电量变换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电机式全数字汽车仪表。目前,汽车仪表正在经历第三代向第四代转型时期。第三代汽车用仪表工作原理与电气式仪表基本相同,只是用电子器件取代原来的电气器件。随着集成电路技术突飞猛进的发展,这种仪表现在均采用汽车仪表专用集成电路,是国内汽车仪表目前的主流产品,经过多年的发展,其结构形式经历了动圈式机芯和动磁式机芯阶段。电子器件经历了分立器件和专用集成电路阶段。发展到今天以塑料件为主;围绕提高指示精度和指针平稳性,有动圈式、动磁式等。第四代步进电机式全数字式汽车仪表从其应用的技术手段上看,还是电子技术范畴,也属于电子式仪表,但信号处理方式己从模拟变成数字。其最显著的特征是工作原理与第三代汽车仪表完全不同。本系统研制的步进电机式车速里程表就是在这第三代和第四代转型时期开发研制的第四代新型仪表。该表属于第四代步进电机式全数字式汽车仪表,本系统开发的仪表的优点是指示精度高,响应速度快、无抖动,指示范围分度均匀等。1.2 方案比较根据设计任务,车速里程表机芯的研制主要设计出车速的指示和里程的显示,具有小计里程和总里程的双显示功能,车速具有回零功能。因此根据总体设计要求,经过分析研究设计出方案如下。1.2.1 方案一:动磁式车速里程表电子车速里程表是由步进电机 M 驱动机械式里程记录机构(计数器) ,装在变速箱内霍尔传感器的输出信号控制步进电机。步进电机 M 由专门集成电路 BL2115 驱动,步进电机 M 转动量与变速箱输出轴转动量成一定速比关系,从而取消了传统的软轴驱动。指示瞬时车速的指针用十字交叉动磁式机芯驱动,该机芯上有一个专门集成电路LM1819 同时接受霍尔传感器输出信号,并输出两路驱动十字交叉线包的电流信号。这两路电流信号决定十字交叉线包的合成磁场方向,合成磁场驱动瞬时车速的指针偏转,用以指示车速。综上所述,累计里程计数和瞬时车速指示都受控于同一个信号源(霍尔速度传感器) 。图 1-1 是动磁式车速里程表工作原理框图。- 2 -图 1-1 动磁式车速里程表工作原理框图这种结构的车速里程表结构复杂,但它具有较好的优点:用指针指示速度,指针的转速连续、稳定,驾驶员不易产生视觉疲劳。1.2.2 方案二:双线圈式车速里程表本方案是通过单片机来实现里程累计、清零及存储,存储由E 2PROM芯片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 所示。步进电机式车速里程表是一种以单片机来实现里程累计、小计、清零及存储,并以步进电机来实现车速的指示。该方案成本低廉、指针稳定性好、响应速度快、抗震性强、可靠性和性价比都很高。- 3 -单片机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显示里程。并把显示的总里程保存在E 2PROM 中。第二章 步进电机式车速里程表的硬件构成在上一章中我们论证了车速里程表的设计方案,步进电机式车速里程表是本文选取的最优方案。本章将重点介绍该方案的具体实施内容,其中包括车速、里程信号模块、控制模块、LCD 显示模块、步进电机指示模块和掉电保护模块等。下面我们分别对各个模块进行一一介绍。2.1 总体结构的设计和原理概述步进电机式车速里程表机芯研制的硬件原理框图如图 2-1 所示。其中车速、里程信号部分是由霍尔传感器组成。霍尔传感器安装在变速箱输出轴上,霍尔传感器采集到的信号送是给单片机的定时器/计数器 T0 和定时器/ 计数器 T2 中。单片机构成了控制部分,单片机把霍尔传感器送来的信号,通过单片机的计数器 T0 做相应编程,记录下汽车行驶 0.1km 时霍尔传感器所产生的信号脉冲个数,通过单片机转换为 BCD 码送给LCD 显示,也就实现了最小显示为 0.1km ,如果累计到 1km,就把 1km 累加到总里程并送入 E2PROM 保存,再从 E2PROM 中调入 LCD 中进行总里程显示。在 LCD 显示中分为小计里程显示和总里程显示,小计里程可实现单次行驶路程,总里程记录汽车总行驶路程。在 E2PROM 中只保存总里程值,以备单片机掉电时总里程数据丢失。定时器/ 计数器 T2 用于记录单个脉冲的周期,把这个周期值通过软件编译转化为车速值,再由单片机的 P0 口送给步进电机指示瞬时车速值。- 4 -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 的车型为例,汽车行驶一公里,则霍尔传感器发出的脉冲数共为86244992 个。步进电机式车速里程表机芯的转动和 LCD 中里程的显示都是受控于霍尔探头输出的方波个数。记录 4992 个脉冲表示汽车行驶 1 公里,记录单个脉冲的周期算出汽车行驶的速度,具体应用将在相应章节中介绍。图 2-2 霍尔传感器组件- 5 -2.3 控制模块电路的设计控制模块由单片机构成,单片机的复位电路和振荡电路的连接如图 2-3 所示,复位选用自动上电复位方式,晶振选用典型值 11.0592MHz。电容 C01 和 C02 的作用是帮助起振。由于 AT89S52 有 8k 字节的 ROM,对于本系统来说存储器能够满足要求,因此, =1。EA图 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 接地。- 6 -图 2-4 LCD 显示模块连线图车速里程表的速比表示的是:车轮转轴在汽车行驶一公里时所转过的转数。步进电机式车速里程表采用的是霍尔式转速传感器。这种车速里程表转轴每转一圈,霍尔传感器将感应发出八个脉冲。现在以速比为 1:624 的车型为例,汽车行驶一公里,则霍尔传感器发出的脉冲数共为 86244992 个,也就是说,每个脉冲代表了 1/4992 公里的路程。将这些脉冲信号输入给单片机的定时器/ 计数器 T0,利用 T0 的计数功能,使之计到 499 个脉冲产生一个中断,中断后进入计数器 T0 中断子程序,在这个中断子程序中,实现对小计里程的累计和总里程的累加。若累加了总里程则把累加的总里程数送到 E2PROM 芯片 AT24C02 中保存,并从芯片 AT24C02 中调出送给 LCD 显示。从以上章节,我们已经知道 LCD 分别显示出小计里程和总里程,其中小计里程进位时,也同时累计至总计里程。小计里程显示为 000.0999.9km ,总里程液晶显示为000000999999km。液晶里程显示屏见图 2-5 所示,其中上一排 6 位显示总里程,下一排 4 位显示小计里程,且小计里程的最后一位为小数。器件子地址的传送顺序是从上排左首至右结束,接着再从下排右首开始,至左首结束,上下两排都是左首为高位。小计里程显示的复位是通过外部中断 INT0 来实现的,小计里程以 0.1km 为最低显示数字,停车关掉电门后不保存,总里程显示数值保存在 E2PROM 中,从而掉电不会丢失总里程数值,当打开电门,即刻显示上次总里程累计数。下次行车总里程继续累计相加,总里程累计超过显示范围 999999km 时,不再响应里程数的变化,而一直显示999999 km。小计里程超过显示范围 999.9km 时即刻清零,并从 000.0 开始重新计数。- 7 -19m38图 2-5 液晶里程显示屏2.6 掉电保护电路的设计由于需要保存总里程,但单片机在掉电模式下数据会丢失。因此应该选择E2PROM 存储器,本文选择的 E2PROM 存储器是 AT24C02,它的主要特点在于 I2C 总线的应用,16 字节页写缓冲区、100 万次擦写周期、数据存储长达 100 年和温度范围大等优点。该存储芯片和单片机的 P2.0、P2.1 相连,在计数时只要总里程有进位,单片机就把总里程送入 AT24C02 中保存,同样每次显示的总里程都是从该存储器件中调入的。该器件支持 I2C 总线数据传送协议。I2C 总线协议规定,任何将数据传送到总线的作为发送器,任何从总线接收数据的器件为接收器。数据传送由主器件控制,总线的串行时钟、起始停止条件均由主控制器产生。主器件和从器件都可以作为发送器或者接收器,但数据转送(接收或发送)模式由主器件控制。I 2C 总线协议定义如下:1. 只有在总线非忙时才被允许进行数据传送。2. 在数据传送时,当时钟线为高电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被当作总线的启动或停止条件。I2C 总线的具体应用,请参考相关书籍,本文不再骜述。总之,通过开始信号、写或读命令、应答信号、传送字节、结束信号等依次顺序送入即可实现数据的传送。电路连线如图 2-8 所示。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 21-May-2006 Sheet of File: F:业业业业业业MyDesign.ddb Drawn By:A01A12A23GND4 SDA 5SCL 6WP 7VCC 8U224C02R15.1kR25.1kVCCP2.1P2.0图 2-8 E2PROM 连线图- 8 -里程显示的程序设计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 的堆栈指针、读E 2PROM中的总里程并转化为BCD码,初始化LCD显示,初始化步进电机并使之逆时针旋转280度进行回零,然后判断20H.0是否为1,如为1则保存里程信号到 E2PROM中,否则调用里程显示模块,再判断20H.3是否为1,如为1则调用速度显示模块,否则返回继续判断20H.0。中断实现了对采集的信号处理、置判断标志、存储、送显示、指示等。- 9 -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发送起始地址 , 发送一个数据字节增加地址 , 增加发送单元调用结束信号结束返回S L A 2 4 0 0 HR 0 4 0 H , R 7 0 6 H 调用起始信号 ,送写字节 0 A 0 H发 送 起 始 地 址 ,调 用 起 始 信 号增加地址 , 增加接受单元送读字节 0 A 1 H ,读一个数据字节R 7 = 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 初值的计算为:162495037us216 表示计数器 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 单- 10 -元,以便写入 E2PROM 保存。如果标志位 20H.0 为 0,则中断返回。从而实现了里程的处理。关毕 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 ACCPUSH PSWCLR EAMOV TH0,#0FEhMOV TL0,#0Dh INC 36H;小计里程显示MOV A,36HCJNE A,#10,LT03MOV 36H,#00HCLR 20H.0LCALL LT06;小计里程进位送总里程INC 37HMOV A,37HCJNE A,#10,LT03MOV 37H,#00HINC 38HMOV A,38HCJNE A,#10,LT03MOV 38H,#00HINC 39HMOV A,39HCJNE A,#10,LT03MOV 39H,#00HLT03: MOV A,36H;小计里程送 46-49 以备送显示MOV 46H,AMOV A,37HMOV 47H,AMOV A,38HMOV 48H,A MOV A,39HMOV 49H,APOP PSWPOP ACCSETB EARETILT06: INC 35H;插入总里程MOV A,35HCJNE A,#10,LT04;45H 不等于 10,则跳转MOV 35H,#00HINC 34HMOV A,34HCJNE A,#10,LT04- 11 -;44H 不等于 10,则跳转MOV 34H,#00HINC33HMOV A,33HCJNE A,#10,LT04MOV 33H,#00HINC32HMOV A,32HCJNE A,#10,LT04MOV 32H,#00HINC31HMOV A,31HCJNE A,#10,LT04;41H 不等于 10,则跳转MOV 31H,#00HINC30HMOV A,30HCJNE A,#10,LT04MOV 30H,#09HMOV 31H,#09HMOV 32H,#09HMOV 33H,#09HMOV 34H,#09HMOV 35H,#09HLT04: SETB 20H.0RET- 12 -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。- 13 -基于红外线的电灯亮度遥控器的设计原理简介:一、编码格式红外遥控输出 40KHz 的载波编码,改变 R3 大小可以改变发射距离。遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码。电灯的亮度可分别用不同的脉冲个数来控制。为了使接收可靠,第一位码宽为 3ms,其余为 1ms,遥控码帧间隔大于 10ms。二、遥控码发射当某一个按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 40KHz 方波由红外线发射出去。输出调制波如图 3 所示。一、 数据帧的接收处理当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据帧接收时,将对第一位起始码的码宽进行验证,若第一位低电平码的脉宽小于 2ms,将作为错误码处理,当间隔位的高电平脉冲宽度大于 3ms 时,结束接收,然后根据累加器 A 中的脉冲个数,执行相应输出口的操作。图 4 为红外线接收器输出的一帧遥控码波形。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 28-Dec-2007 Sheet of File: D:usern1.ddb Drawn By:RST/VPP1 P3.0(RXD)2P3.1(TXD)3XTAL15 P3.2(INT0)6P3.2(INT1)7 P3.4(T0)8P3.5(T1)9 GND10VCC 20P1.7 19P1.6 18P1.5 17P1.4 16P1.3 15P1.2 14P1.1(AIN1) 13P1.0(AIN0) 12XTAL24P3.7 11U1AT89C2051Y16MHzC1 30pC2 30pC3 10pR110kVccR24.7kQ19013业业业业业业R339Vcc S1S2S3R410k R510k R610k图 1 红外发射电路1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 16-Feb-2008 Sheet of File: D:业业业业业业(业业)08业业业业业业.ddbDrawn By:RST/VPP1 P3.0(RXD)2P3.1(TXD)3XTAL15 P3.2(INT0)6P3.2(INT1)7 P3.4(T0)8P3.5(T1)9 GND10VCC 20P1.7 19P1.6 18P1.5 17P1.4 16P1.3 15P1.2 14P1.1(AIN1) 13P1.0(AIN0) 12XTAL24P3.7 11U1AT89C2051Y16MHzC1 30pC2 30pC3 10pR110kVcc123业业业业HS0038VccR210kR3390R4120k/2WVccQ19012U2OPTOISO1 R62.7kR5120KQ2220VR75.6kR85.6kR9200kQ39013Q49013D310V1234D1-4BRIDGE1 220VK1JK1Q59012VccP1.7- 14 -图 2 红外接收电路图 3 输出编码波形图 图 4 一帧遥控码波形过零检测电路过零检测电路由变压器、桥式整流和两个 9013 三极管组成。原理自行分析。 。 。电灯开关及亮度控制电路1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 16-Feb-2008 Sheet of File: D:业业业业业业(业业)08业业业业业业.ddbDrawn By:RST/VPP1 P3.0(RXD)2P3.1(TXD)3XTAL15 P3.2(INT0)6P3.2(INT1)7 P3.4(T0)8P3.5(T1)9 GND10VCC 20P1.7 19P1.6 18P1.5 17P1.4 16P1.3 15P1.2 14P1.1(AIN1) 13P1.0(AIN0) 12XTAL24P3.7 11U1AT89C2051Y16MHzC1 30pC2 30pC3 10pR110kVcc123业业业业HS0038VccR210kR3390R4120k/2WVccQ19012U2OPTOISO1 R62.7kR5120KQ2220VR75.6kR85.6kR9200kQ39013Q49013D310V1234D1-4BRIDGE1 220VK1JK1Q59012VccP1.7电灯的开关受 P1.7 口控制,也可由可控硅的导通角控制,单片机产生可控硅控制的移相脉冲,移相角的改变实现导通角的改变,即当移相角较大时,可控硅的导通角较小,输出电压较低,电灯较暗;当移相角较小时,可控硅的导通角较大,输出电压较高,电灯较亮。当 P1.6 口为低电平时,9012 三极管导通,三极管集电极电流驱动光耦合器导通,使可控硅的 G 极产生导通电流,触发可控硅导通,当 P1.6 口为高电平时,9012 三极管、光电耦合器、可控硅都处于截止状态。3ms1ms帧间隙10ms10ms 10ms 停止位1ms第一位3ms1ms- 15 -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 模块框图微控制器微控制器键盘和接口电路IC 卡插座复位电路显示电路晶振电路图 2-1 IC 卡读写器模块框图2.2.4 IC 卡的选择及读写操作本设计中采用的是一种 ATMEL 公司生产的 AT24C02 存储式 IC 卡。它的存储容量为 2K,2.55V 低电压供电,双线串行接口,双向数据传输,它的擦/写次数可以达到 10 万次以上,其中保存数据的时间可以达到 100 年以上。它是目前国内使用最多的 IC 卡之一。AT24C02 中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达 8 个字节的数据。下面是- 16 -其引脚图。图 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线上的数据、地址、操作命令以及各种状态的“开始”与“结束” ,卡片中设计了多个逻辑控制单元。其中启动和停止逻辑单元产生控制读/写操作的“开始”- 17 -和“停止”标志信号。“开始”状态:当 SCL 处于高电平时,SDA 从高电平转向低电平,即产生“开始”标志信号。“停止”状态:当 SCL 处于高电平时,SDA 从低电平转向高电平,即产生一个“停止”标志信号,如下图所示。图 2-5 读/写操作的启动与停止时序图由图 2-5 可以看出 SDA 和 SCL 各自通过一个上拉电阻拉到高电平。当SCL 为高电平时对应的 SDA 上的数据有效;而当 SCL 为低电平时,允许 SDA上的数据变化。数据输入/输出应答逻辑单元产生数据输入/输出操作应答信号。操作是所有的地址和数据字都以 8 位码串行输入/输出于卡片。卡片每收到一个 8 位码长的地址码或数据字后,都以置 SDA 线为低电平方式 “确认”应答信号。其波形如下图所示。图 2-6 输入/输出的确认时序图IC 卡的写操作:在器件地址码之后,紧跟着的是字节地址码。地址码长度为八位。时序中- 18 -的数据为写字节时,由 IC 卡读/写器中的单片机在 SDA 发送一个八位码长的数据;卡片每收到一个数据字节后,都要通过 SDA 回送一个“确认”信号(ACK) 。写操作时序图如下所示。图 2-7 写操作时序图IC 卡的读操作:读操作有三种:现行地址读、随机地址读及顺序读。(1)现行地址读:如果最后一次操作的地址在 N,则现行地址为 N+1。(2)随机地址读:从选定的地址单元开始读,时序中器件地址和字地址概念同写操作,不同的是,IC 卡读/写器中的单片机在给出数据字地址码之后,不发生任何数据字,而是在卡片发出“确认”应答之后,又发出一个“开始”状态,进入“现行地址读”操作。单片机读如 1 个数据字后,使 SDA 处于高电平,随后产生一个“停止”状态,结束。图 2-8 读操作时序图(3)顺序读:可以从“现行地址读”和“随机地址读”开始。当 IC 卡读/写器中的单片机收到第一个数据字后,不发“停止”状态,而是回答一个“确认”信号。一旦卡片收到单片机发出的“确认”信号,则将卡片内地址计数器的地址自动加 1,并将此地址单元中的数据从 SDA 线上串行输出。只要单片机收到数据字后回答“确认”信号,顺序读操作就继续进行,直到单片机发出- 19 -“停止”信号为止。IC 卡的芯片操作地址(器件地址)表 2-1 AT24C02 的操作地址1 0 1 0 A2 A0 A1 R/W2.2.6 读写器的键盘电路在本设计中要求 IC 卡读/写终端除了完成基本的 IC 卡数据读写功能,还要提供其他功能。脱机型读写器要求可以脱离上位机独立工作,所以要求 IC 卡读/写器要有键盘和显示功能作为用户的操作界面。 操作界面是用户是对设备进行操作和控制的接口,一般包括键盘和显示。用户根据显示的提示,使用键盘输入命令,从显示得到设备输出的结果。这一部分是人机对话的部分,是人在使用机器时和机器对话的窗口。键盘实质上是一组按键开关的集合,控制 CPU 通过按键来识别特定的用户命令 从而转入相应的程序来执行用户命令。键盘的软硬件设计涉及下面几个方面的问题。(1)按键的确认:键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测便可确认键按下与否。图 2-10 按键的抖动示意图常见的键盘都是机械开关式的,由于机械咬合的特性以及操作人员手部的不稳定,在按键闭合和松开的瞬间会产生抖动的现象,如上图 2-10 所示。抖动现象一般持续 10ms 左右的时间。如果不采取措施消除抖动干扰,在程序中就会出现一个按键被反复按下的错误。这个时候我们就要想办法消除键盘的抖动,常用的消除抖动的方法有硬件和软件消除两种方法。在硬件上通常采用的是双 D 触发器构成 RS 触发器,通过分析 RS 触发器的特性可以知道,输入端有微小的抖动对输出的影响是非常小的,这种电路也- 20 -常使用在单按键电路中,在本设计中采用的键盘的按键有 16 个用硬件消除抖动的方法就显得太麻烦了,因此在设计中采用的是软件消除的办法,软件消除的方法很多,最常用的方法是延迟操作,其原理就是在读取第一个键值后,延迟一段时间后,再次读取键值,判断和前一次读取的键值是否相同,如果相同就认为读取了正确的键值。(2)按键接口设计和按键识别方法:按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键是各键互相独立,每个按键各接一根输入线,在没有键按下的时候,P1 口的电平是高电平,当有其中有键被按下的时候,和那个被按下的键相对应的 P1 口的就接地,这时其电平就会变成低电平,所以判断独立式键盘的哪个键被按下很简单,只要检测输入线的电平就可以来识别按键的状态。这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口线,I/O 资源浪费大。故此方法只适用于按键少,或其他控制功能很简单的场合。矩阵式键盘适用于按键数量较多的场合,它把键盘输入线分为行线和列线,按键位于行、列的交叉点上。按键的识别需要软件分别扫描行线和列线,根据扫描结果判断具体按下的按键。下图 2-11 是独立式按键的硬件设计图。图 2-11 独立式按键硬件设计图由上图可看出,独立式键盘的每一个按键都要占用一根输入口线,I/O 资源的浪费很厉害,因此它只适用于一些按键的数量较少的,或者是控制功能的要求很简单的设计,本设计的键盘的按键的数量有 16 个之多,这种独立式的按键设计方法很显然不适合本设计。所以在本设计中采用的是 4 乘 4 的 16 个按键的键盘,下图是其硬件电路示意图。 - 21 -图 2-12 矩阵式按键硬件设计图由上面两副图比较就可以看出,矩阵式结构的键盘显然比独立式要复杂一些,识别也要复杂一些,上图 2-12 中,列线通过电阻接正电源,并将行线所接的单片机的 I/O 口作为输出端,而列线所接的 I/O 口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过单片机读入输入线的状态就可得知是否有键按下了。确定矩阵式键盘上何键被按下有几种方法,下面介绍的扫描法就是一种“行扫描法” 。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,下面我们和具体的分析。(1) 判断有无键按下:首先将全部列线置低电平,然后检测行线的状态。只要有一行的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4个按键之中。若所有行线均为高电平,则键盘中无键按下。(2)判断闭合键所在的位置:在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将列线置为低电平,即在置某根列线为低电平时,其它线为高电平。在确定某根列线位置为低电平后,再逐行检测各行线的电平状态。若某行为低,则该行线与置为低电平的列线交叉处的按键就是闭合的按键。键盘扫描只是 CPU 的工作内容之一,CPU 在忙于各项工作时,如何处理键盘的输入取决于键盘的工作方式,键盘工作方式的选择应根据应用系统中CPU 工作的忙、闲情况而定。通常键盘工作方式有三种:编程扫描、定时扫描和中断扫描。(1)编程扫描:CPU 反复地扫描键盘,等待用户的输入命令,而执行键入命令或处理输入- 22 -数据时,CPU 不再响应输入要求,直到 CPU 返回重新扫描键盘为止。(2)定时扫描:它的工作方式是利用单片机内部定时器产生定时中断,CPU 响应定时器中断后对键盘进行扫描,在有键按下时识别出该键并执行相应功能程序。(3)中断方式:在没有键按下时,不占用 CPU 处理时间,只有当有键按下时产生键盘中断,由中断程序识别键并执行功能程序,这种方式对 CPU 的资源的使用非常的节省,因为它在没有按键按下的时候,并不需要 CPU 对其进行扫描,所以这种方法是使用最多的一种。本设计中键盘的各个按键和功能。1 2 3E47A58069CDB F图 2-13 键盘的按键图可以看到键盘有 09 十个数字键,A,B,C,D,E ,F 是五个不同的功能键,用于实现一些功能的操作。(1)09 是十个数字键,用于向卡中输入具体的数值。(2)A:取消键。(3)B:确认键。进行一步操作后进行确认时按下。(4)C:存款键,按下后,可以向卡中写入一定数额的钱数,然后确认。(5)D:缴费键,按下后,再输入要花费的数额,然后确认。(6)E:查询键,用于查询卡中钱数。(7)F:退格键,操作错误时恢复。2.2.7 显示电路的设计应用系统中常用的显示器有发光二极管显示器,简称 LED;液晶显示器,简称 LCD;荧光显示器。前面两种显示器使用最多,本设计中采用的是 LED,下面就对其显示原理和使用方法做简单的说明。- 23 -LED 显示器由发光二极管显示字段组成,在本设计中采用的是 7 段数码管作为显示装置 7 段数码管分为 8 段:A,B,C,D,E ,F ,G,DP 其中 DP 是小数点,数码管常用的有 10 根管脚,其中有两个管脚作为公共端,相互之间是连通的。如图 2-15 所示,1 号脚和 6 号脚是公共端,因为这是个共阴极的数码管,所以它们与地相连。下图 2-14 是 LED 的管脚图, 2-15 是其内部电路图。图 2-14 LED 的管脚图图 2-15 LED 的内部电路图LED 显示方式分静态显示和动态显示。静态显示时显示器中的各位相互独立,而且各位显示字符一经确定,相应锁存器的输出将维持不变,直到单片机将另一个要显示的字符送到为止。这种显示方式接口编程容易,管理简单,数据稳定占用的 CPU 的时间少,显示的时候每一个显示器都要占用一个 I/O 口。静态显示的优点在于,静态显示数据显示稳定,占用很少的 CPU 时间,但是每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多,有几个数码管就需要几个 I/O 锁存器,这样对资源的浪费比较严重,在显示的位数比较- 24 -多时,就不适合。在显示位较多时,一般都采用动态显示方式。LED 动态显示时,动态显示只需要一个显示驱动电路,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的 I/O 口线控制,实现各位的分时选通。若要各位 LED 能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的字形码,这样同一时刻只有一位显示出字符。在下一时刻,只让下一位的位选线处于选通状态,同时,在段选线上输出相应位将要显示字符的字符码。只要每位显示间隔足够短,如此循环就可以使各位显示出将要显示的字符,达到显示目的。动态显示会存在闪烁现象,但是如果 LED 不同位显示的时间间隔选择的好的话,由于人眼的暂留作用,人眼是无法分辨的,感觉就像是一组稳定的数据。上面所叙是 LED 显示的基本原理,根据这些基本原理,选择不同的软硬件方法都可以实现 LED 显示。在本设计中选用的就是 LED 的动态显示,其中段选线占用一个 8 位 I/O 口,由 74LS164 扩展得到,如下图 2-16 所示。在设计中单片机 AT89C52 的 P0.0 口和 P0.1 口用于和 74L164 相连接,它门分别与74L164 的 A, B 和 CLK 相连接,剩下的 P0 口的 6 个 I/O 口作为位选。74L164的作用是用于驱动数码管。图 2-16 驱动显示的连接图- 25 -由图可以看出,由于各位的段选线并联,段码的输出对各位来说都是相同的。因此,同一时刻,如果各位位选线都处于选通的话,6 位 LED 将显示相同的字符。所以若要各位 LED 能够显示出我们想要的字符,就必须采用扫描显示方式,即在同一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上海银清企业服务有限公司招聘参考考试题库及答案解析
- 2026四川成都市双流区川大江安小学教师招聘11人参考笔试题库附答案解析
- 幼儿园校园风景摄影大赛方案摄影活动
- 2025甘肃兰州新区石化产业投资集团有限公司法务专干、造价工程师、会计岗位招聘6人备考笔试题库及答案解析
- 2026西藏民族大学急需紧缺人才引进2人备考考试试题及答案解析
- 深度解析(2026)《GBT 25936.4-2024橡胶塑料粉碎机械 第4部分团粒机安全要求》(2026年)深度解析
- 深度解析(2026)《GBT 25907.3-2010信息技术 维吾尔文、哈萨克文、柯尔克孜文编码字符集 16点阵字型 第3部分:库非白体》
- 2026年威海乳山市民兵训练基地公开招聘事业单位工作人员(1名)参考考试题库及答案解析
- 痛风抗炎症治疗指南(2025 版)解读
- 2025江苏盐城市交通运输局直属事业单位选调1人参考考试试题及答案解析
- 2026届广东深圳市高一生物第一学期期末监测试题含解析
- 拍卖公司计划书
- 水浒传课件讲宋江
- 广西普法考试试题及答案2025年
- 《安全标志及其使用导则规范》
- 2025年《五级应急救援员》考试练习题(附答案)
- 英国文化礼仪介绍
- 【2025年】桥梁与道路试题及答案
- 口腔诊所运营管理实务指南
- 流脑防治知识培训内容课件
- 医院手术通知单(新)
评论
0/150
提交评论