毕业设计(论文)基于单片机的汽车里程表设计.doc

上传人:文库蛋蛋多 文档编号:2961291 上传时间:2023-03-05 格式:DOC 页数:38 大小:715.50KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的汽车里程表设计.doc_第1页
第1页 / 共38页
毕业设计(论文)基于单片机的汽车里程表设计.doc_第2页
第2页 / 共38页
毕业设计(论文)基于单片机的汽车里程表设计.doc_第3页
第3页 / 共38页
毕业设计(论文)基于单片机的汽车里程表设计.doc_第4页
第4页 / 共38页
毕业设计(论文)基于单片机的汽车里程表设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的汽车里程表设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的汽车里程表设计.doc(38页珍藏版)》请在三一办公上搜索。

1、浙江师范大学本科毕业设计(论文)目 录摘要 3第一章 课题分析 4第二章 方案论证 21 总体方案选择 522 数据采集模块方案选择 623 主控制模块方案选择 724 显示集模块方案选择 7第三章 系统设计 31 硬件电路设计 832 软件设计 21第四章 系统调试41 数据采集模块调试 2642 主控模块调试 2643液晶显示模块调试 2744 程序调试 28第五章 结论5. 1 系统性能 295. 2 存在问题 295.3 研究方向 29第六章 效益分析结束语 30参考文献 32附录A:程序清单附录B:系统原理图摘要单片机自1976年问世以来,作为微型机算计的重要分支,应用广泛发展迅速,

2、当然也引起了仪器仪表设计的巨大变革。自动化仪表正日趋智能化、系统化、小型化和多功能化,变革的关键是将微机应用于仪表中。在此基础上发展起来的智能仪表无论是在测量的准确度、灵敏度、可靠性、自动化程度、运用功能方面还是在解决测量技术与控制技术问题的深度及广度方面都有了很大的发展。随着单片微型机性能的不断改善,大大加快了仪器、仪表微机化和智能化的过程。与多芯片组成的微机相比,单片微机的体积小、功耗低、价格也比较便宜,用单片机开发各类微机化产品,周期短,成本低,在计算机和仪表一体化设计中,有着一般微机无法比拟的优势。同时,汽车电子化、智能化是现代汽车发展的重要标志之一。随着消费者对汽车需求的增加、机械系

3、统到电子系统的转换,这必将迅速推动半导体器件等电子器件在汽车电子中的发展,全球汽车电子产业面临着高速增长的机遇。我国汽车电子业尚处在起步发展阶段,规模化大生产还未形成,但随着未来汽车市场(国内和国外市场)的快速发展和汽车的电子价值含量迅速提高,我国汽车电子产业将形成巨大经济规模效应,成为支持汽车工业发展的一门相对独立新兴支柱产业。本文概述了基于单片机的汽车里程表系统研究设计的全过程。全文共分六章。第一章 课题分析;第二章 方案论证;第三章系统设计,包括主要芯片介绍,硬件电路设计,软件C51编程设计;第四章 系统实际调试;第五章结论,给出系统性能,分析系统存在的问题,以及研究方向。第六章市场分析

4、。第一章 课题分析新生事物不会因传统的存在而停止它前进的步伐,电子数码科技今天已渗透到工业,农业,民用的产品的点点滴滴。新概念汽车里程表直接用数字显示速度、里程,另外还有时间显示和温度测量以及超速报警。不只是为达到目的,更是为了享受驾驶的快感。本设计是一个十分实用的设计,是汽车必备的电子仪表。现在汽车制造的电子化程度越来越高,所以像这种电子计程表是一定会在实际应用之中有它的用武之地,市场前景十分广阔。其设计的具体功能要求是:1.实现速度的测量(单位:米/秒);2.具有测量行程的功能(单位:米);3.速度过快的警告功能*;4.LCD显示。要达到课题要求其难点在于:1.用霍尔元件数据采集的具体安装

5、和实现效果。2.单片机对里程和速度的计算,液晶输出的中断与数据采集造成里程和速度的误差。3.液晶显示的输入输出处理。 第二章 方案论证21总体方案选择汽车里程表是汽车仪表板中最显眼的,它表示汽车的时速,单位是km/h(公里小时)。车速里程表实际上由两个表组成,一个是车速表,另一个是里程表。方案一:机械式里程表;机械式里程表连接一根软轴,软轴内有一根钢丝缆,软轴另一端连接到变速器某一个齿轮上,齿轮旋转带动钢丝缆旋转,钢丝缆带动里程表罩圈内一块磁铁旋转,罩圈与指针连接并通过游丝将指针置于零位,磁铁旋转速度的快慢引起磁力线大小的变化,平衡被打破指针因此被带动。这种车速里程表简单实用,被广泛用于大小型

6、汽车上。可以说是一种历史古老但经久实用的仪表。现在还有许多这种仪表战斗在汽车速度、里程测量的第一线上。可以说是物美价廉,经济实用;但安装复杂,功能单一。方案二:电子式里程表;当然科技要发展时代要进步。人们对汽车仪表又提出了更新更高的要求。这样随着电子技术的发展,电子车里程表就应运而生了,现在很多轿车仪表已经使用电子车里程表,最常见的是从变速器上的速度传感器获取信号,通过脉冲频率的变化使指针偏转或者显示数字(如图2.1)。除了显示速度、里程,另外还有时间显示和温度测量以及超速报警的功能。以其功能多样,样式设计前卫,安装方便,逐渐取代了机械式里程表在汽车仪表方面的统治地位;但其精度和实用稳定性方面

7、还有待提高。单片机采样处理信号变换传感器显示 图2.1系统结构框图综上所述,世界是向前发展的,在科技迅速发展的今天,我们要紧跟时代步伐,开拓创新,与时俱进。探索科技前沿,设计与现在发展同步有广阔前景的产品 ,这样的毕业设计才会有意义,再加之本人学的是电子专业机械方面的东西肯定没有电子搞得透,需我选择防案二。22 数据采集模块方案选择方案一:利用钢铁材料(或其它导磁材料)做的齿轮、齿条的运动,产生磁通量的变化,通过SMR敏感元件获得信号,来测量速度和里程。特点是分辨率高,频响宽,可靠性高,内装放大整形电路,输出为幅度稳定的方波信号, 能实现远距离传输。广泛应用于机械、冶金、石油、化工、交通、铁路

8、、航 空、自控、军工等各个领域。此种元件精度高,价格贵,不适合用来这种相对粗糙的设计。有些划不来。方案二:运用霍尔开关元件,利用钢铁材料(或其它导磁材料)做的齿轮、齿条的运动,产生磁通量的变化。通过霍尔元获得信号从而来测量速度和里程。霍尔开关元件是目前汽车里程表中广泛应用的,因其集成度高,信号明显,价格合适,使用简便,受到广大汽车仪表制造商的青睐。方案三:运用红外线光敏元件,测量齿轮的旋转产生信号,来测量速度和里程。它的优点是成本低廉,应用范围广;但光敏元件大多不应用在汽车仪表上,这是因为红外线光敏元件比较精致,容易损坏,在汽车行驶时,由于颠簸震荡,达不到它的正常工作条件。 综上所述,方案一,

9、仪器精密度太高,而且价格昂贵,如果用它就有一些杀鸡用牛刀的感觉。方案三,虽然成本低,信号明显,但使信号产生的轮子必须是带孔的否则红外线无法被收集信号,在目前这是在汽车行驶时,汽车内部齿轮结构所无法达到的条件。做出来也没有实用价值。只有方案二,性价比合理,既可以实现功能又可以在实际中得到应用,它应是最理想方案。23 主控制模块方案选择 单片机是主控制模块的不二选择,但也要作出一些具体的选择。在16位单片机和8位单片机之间当然要选择8位单片机了。像跑这种小程序8位的就够了。如果用16位的就有点浪费了,再说我们学过的主要也是8位的,再在价方面也是为的要便宜。型号上当然是AT89系列的了,它们是嵌入式

10、开发设计中普遍应用的型号。一般来说都用89C51,但近期消息说ATMEL公司89C51已经停产了。它的地位逐渐由功能更强大的89S51取代。所以为了与时代同步,跟上科技发展的步伐,我选择89S51(其实它就比89C51多一个看门狗功能)。24 显示集模块方案选择方案一:采用步进电机驱动芯片控制的机械数字表显示(家庭电表常用)。选用可编程定时器/计数器8254-2,利用8254-2 的定时器/计数器,根据主控模块输入芯片的信息,采取频率的分频输出,从而控制步进电机使机械数字表现是里程和速度。方案二:采用步进电机驱动芯片控制的表盘显示。选用可编程定时器/计数器8254-2,利用8254-2 的定时

11、器/计数器,根据主控模块输入芯片的信息,采取频率的分频输出,从而控制步进电机使指针盘时仪表显示速度和里程。方案三:采用液晶驱动芯片控制的液晶显示版显示。选用液晶驱动芯片HT1621,根据主控模块输入芯片的信息,驱动液晶显示板显示里程和速度。综上三种方案,机械数字表显示虽然显示直观但携带笨重,安装不便。表盘显示显示不直观,携带笨重,安装不便。只有液晶显示版显示携带轻便,安装方便,显示直观,样式前卫。所以选用方案三。第三章 系统设计31 硬件电路设计3.1.1 概述 本系统的硬件电路总的来说由三部分组成.即数据发生采集电路,单片机主控电路,LCD液晶显示电路.本系统采用的是目前比较流行的ATMEL

12、公司生产的AT89S51单片机作为控制核心。以霍尔元件为数据采集和数据整理的核心元件。在由HT1621驱动液晶显示版将里程和速度以十进制显示出来。 3.1.2 主要芯片介绍AT89S51AT89系列单片机是美国ATMEL公司于1994年推出的电可擦写8位单片机。在ATMEL的89S51系列的89S51与89C51功能相同。指令兼容。HEX程序无需任何转换可以直接使用。89S51(如图3.1)只比89C51增加了一个看门狗功能。该系列单片机是采用高性能的静态80S51 设计。由先进CMOS 工艺制造并带有非易失性Flash 程序存储器全部支持12 时钟和6 时钟操作。由于器件采用了静态设计可提供

13、很宽的操作频率范围频率可降至0 ,可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式。冻结CPU, 但RAM 定时器串口和中断系统仍然工作掉电模式。保存RAM 的内容,但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。图3.1 AT89S51管脚结构特性:与MCS51指令系统兼容 存储器寻址范围:64K 字节ROM 和64K 字节RAM电源控制模式: 时钟可停止和恢复 空闲模式掉电模式两个工作频率范围:6 时钟模式时为0 到20MHz12 时钟模式时为0 到33MHzLQFP, PLCC 或DIP 封装扩展温度范围双数据指针3

14、 个加密位4 个中断优先级6 个中断源4 个8 位I/O 口全双工增强型UART: 帧数据错误检测 自动地址识别3 个16 位定时/计数器T0 T1 标准80C51 和增加的T2 捕获和比较可编程时钟输出异步端口复位低EMI (禁止ALE 以及6 时钟模式)掉电模式可通过外部中断唤醒看门狗定时器表3.1 AT89S51 极限参数参数额定值单位操作温度0+70 或-40 +85贮存温度范围-65 +150EA/Vpp 脚相对于Vss 的电压0+13.0V其它任何脚相对于Vss 的电压-0.5 +6.5V每个I/O 脚的最大IOL15MA功率损耗指器件表面的发热而非器件的功耗1.5W HT1621

15、HT1621是台湾Holtek公司推出的段码LCD驱东控制芯片,带同步串行接口,简单易用。是128 点内存映象和多功能的LCD 驱动器HT1621 的软件配置特性使它适用于多种LCD 应用场合包括LCD 模块和显示子系统用于连接主控制器和HT1621 的管脚只有4 或5 条HT1621 还有一个节电命令用于降低系统功耗。无需外部振电路。注: /CS 片 选, BZ /BZ 声音输出 ,/WR /RD DATA 串行接口,COM0- COM3 SEG0 -SEG31 LCD输 出,/IRQ 时基或WDT 溢出输出。图3.2 HT1621内部结构方框图特性:* 工作电压2.4 5.2V* 内嵌25

16、6KHz RC 振荡器* 可外接32KHz 晶片或256KHz 频率源输入* 可选1/2 或1/3 偏压和1/2 1/3 或1/4 的占空比* 片内时基频率源* 蜂鸣器可选择两种频率* 节电命令可用于减少功耗* 内嵌时基发生器和看门狗定时器WDT* 时基或看门狗定时器溢出输出* 八个时基/ 看门狗定时器时钟源* 一个32 4 的LCD 驱动器* 一个内嵌的32 4 位显示RAM 内存* 四线串行接口* 片内LCD 驱动频率源* 软件配置特征* 数据模式和命令模式指令* 三种数据访问模式* 提供VLCD 管脚用于调整LCD 操作电压管 脚 功 能 描 述:1. /CS片选输入接一上拉电阻,当/C

17、S 为高电平读写HT1621 的数据和命令无效,串行接口电路复位当/CS 为低电平和作为输入时,读写HT1621 的数据和命令有效。2 ./RD READ 脉冲输入接一上拉电阻,在/RD 信号的下降沿HT1621 内存的数据被读到DATA 线上。主控制器可以在下一个上升沿时锁存这些数据3. /WR WRITE 脉冲输入接一上拉电阻在/WR 信号的上升沿DATA 线上的数据写到HT1621。4 .DATA I/O 外接上拉电阻的串行数据输入/输出。5 .VSS 负电源; 地。7. OSCI6. OSCOOSCI和OSCO 外接一个32.768KHz晶振用于产生系统时钟若用另一个外部时钟源, 应接

18、在OSCI 上。若用片内RC 振荡器OSCI 和OSCO 应悬空。8. VLCD LCD 电源输入。9. VDD正电源。10. /IRQ时基或看门狗定时器溢出标志NMOS 开漏输出。11. BZ 12. /BZ 声音频率输出。13- 16 COM0COM3 O LCD 公共输出口。17-48 SEG0SEG31 O LCD 段输出口。极限最大额定值:供应电压-0.3V 0.5V 贮存温度-50-125摄氏度。输入电压VSS-0.3V VDD+0.3V 工作温度-25-75摄氏度.UGN3140UGN3140是市面上极为常用的一种霍尔开关器件, 此种霍尔开关电路又称霍尔数字电路,由稳压器、霍尔片

19、、差分放大器,斯密特触发器和输出级组成(见图3.4)。是检测受检对象上人为设置的磁场,用这个磁场来作被检测的信息的载体,通过它,将许多非电、非磁的物理量例如力、力矩、压力、应力、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。 表3.2 UGN3140霍尔开关电路器件的特性参数型号VCC/V Bop/mTBRP/mTBH/mTIcc/mAIo/mAVo/satIoff/AUGN31404.52472051829250.410在外磁场的作用下,当磁感应强度超过导通阈值BOP时,霍尔电路输出管导通,输出低电平。之后,B再增加,仍保持导通态

20、。若外加磁场的B值降低到BRP时,输出管截止,输出高电平。我们称BOP为工作点,BRP为释放点,BOPBRP=BH称为回差。回差的存在使开关电路的抗干扰能力增强。霍尔开关电路的功能框见图3.4表示集电极开路(OC)输出.它们的输出特性见图3.5。 图3.4 UGN3140霍尔开关电路器件的功能框图图3.5 UGN3140霍尔开关电路器件的输出特性3.1.3 数据采集模块电路设计 本设计的数据采集电路采用以霍尔元件为核心元件的电路,也是汽车测速仪表中最常见的。基本原理(霍尔效应):如图3.7所示,在一块通电的半导体薄片上,加上和片子表面垂直的磁场B,在薄片的横向两侧会出现一个电压,图中的VH,这

21、种现象就是霍尔效应,是由科学家爱德文霍尔在1879年发现的。VH称为霍尔电压。这种现象的产生,是因为通电半导体片中的载流子在磁场产生的洛仑兹力的作用下,分别向片子横向两侧偏转和积聚,因而形成一个电场,称作霍尔电场。霍尔电场产生的电场力和洛仑兹力相反,它阻碍载流子继续堆积,直到霍尔电场力和洛仑兹力相等。这时,片子两侧建立起一个稳定的电压,这就是霍尔电压。图3.7 霍尔效应实际应用方法:在霍尔线性电路背面偏置一个永磁体,如图3.8所示。图3.11(a)表示检测铁磁物体的缺口,图3.8(b)表示检测齿轮的齿。 (a)为检测齿轮,(b)为检测缺口。(c)为转动产生的脉冲信号。用这种方法可以检测齿轮的转

22、速。 (C)产生的脉冲 图3.8 霍尔器件测速应用我设计的电路: 由于UGN3140集程度很高,所以电路十分简单(如图3.9),电源接5伏,2脚接地,3脚输出,只是在输出端和电源之间接了一个4.7千欧上拉电阻保障电压脉冲明显。输出端直接接MCU的T0端(经试验电压匹配)。图3.9 数据采集电路图我的实际硬件安装:由电机带动一个带磁铁的圆盘来充当信号发生装置(由于各方面限制),再在UGN3140后用胶固定一个霍尔专用磁体。然后就按电路图焊接。3.1.4 主控模块主控使用最常规的MCU,AT89S51。电路也是最常规的最小系统(如图3.10)。主要是晶振,电源,地,上电复位,还有一些外接I/O口。

23、那个LED用来显示P1口的状态。在这里因该把晶振时钟电路具体说明一下,外部晶振以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有直接要求,但电容的大小多少回影响振荡器频率的高低、振荡器的稳定性、起振的快速性和稳定性。外接晶振时,C1和C2通常选择30PF,晶振采用12MHZ。 图3.10 AT89系列最小系统我设计的电路:如图3.11。这要比标准的最小系统还简单,这是因为本设计要求精度和条件比较宽松。这样使焊接更加容易,加大了成功系数。晶振电路无需加入电容,因为电容的大小多少是影响振荡器频率的高低、振荡器的稳定性、起振的快速性和稳定性的,而本设计与单片机连接工作

24、的主要都是高频条件下进行的,所以振荡器的稳定性、起振的快速性和稳定性的要求不高,所以不用电容。图3.11 主控电路上电复位也只加电容,因为不加电阻的情况下的电压和电流可以使MCU工作。电阻也只是起调节电流和电压大小的功能。P2.0接片选,P2.1接WR,P2.2节串行数据线。3.1.5晶显示模块 如图3.12为LCD驱动芯片电路图(网络标号134与LCD显示板连接)。 图3.12 HT1621 LCD驱动芯片连接电路LCD驱动的晶振电路:常规接法,32.768千赫的晶振接到OSCO,OSCI.两个电容20PF与晶振两端相连并接地。LCD驱动电源电路:在VLCD与VDD的电阻是为了在其两端产生一

25、个电压降,是为了给显示板份偏压用的电压。C2是起滤交流电抗干扰作用的。LCD显示部分:关于偏压:如图3.13所示,此图为笔段液晶动态显示及其电压波形图。由于液晶是在两极板之间只有当两极板之间的电压将达到一定值时才会出现黑影显示,但如图所示的极板分布情况,当使一个笔段显示时,另一个笔段(不希望显示的)也有可能显示(在多字符显示情况下),这就会造成显示失真。偏压就是解决这个问题的。将上面提到的那块电压降分成几份。按照最佳分压法分。这样即可以是指定笔段显示,又可以是非指定笔段达不到显示电压而不显示。图3.13笔段液晶动态显示及其电压波形图关于动态显示:实现对于静态而言的,它输用两条或两条以上的公共背

26、极线配合上极板的地址线,循环通电达到显示效果,由于循环速度快人言辨别不出来,给人的效果和静态一样,而且比静态的更省电。对于用在仪表,屏幕上的多字符液晶显示器而言,由于公共背极线的增多(图3.13与图3.14比较),可以大大减少地址线的数量。使连线更加容易。动态显示法可以将显示器件的能力发挥到最大。图3.14笔段液晶静态显示本设计用的LCD显示板的规格:30条地址线,4条公共背极线,1/3偏压,1/4占空比。10个字符带小数点,还有4个冒号 ,5伏电压。每三条地址线控制一个字符。(由于本设计没有用到冒号和小数点,它们的真值位没写出,看上去好像是1/3占空比。)32 软件设计3.2.1 编程模拟器

27、Keil C51介绍 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 C51工具包的整体结构,如图(3.15)所示,其中uVision是C51 for

28、Windows的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。下面介绍一下KEIL C51 V6.0的初级操作使用方法:启动KEIL uVision2集成开发环境(以下简称IDE)后。进行如下步骤:1) 按Project菜单,按New project建立一个新的项目,此时提示项目名称保存的地址,建立一个test.uv2项目名称在C:盘根目录。图3.15 KEIL uision2集成开发环境2)建立了项目名称后,IDE提示CPU类型,表示调试作用的CPU类型。以选ATMEL的89C51为例。3)按File菜单的New,新建一个C51源程序文件。4)按File菜单的S

29、ave As,储存新建的C51源程序文件。存到C盘根目录,文件名为ABC.C。5)用鼠标在屏幕左方的Source group 1文件夹图标上面按鼠标右键,出现鼠标右键下拉菜单,按下拉菜单的Add Files to Group Source Group 1,提示需要加入到项目的C51源程序文件,输入刚保存的ABC.C。6)按Project菜单的Build Target,编译、连接项目,如果C51源程序有错误,屏幕下方的Output Window会提示错误,并提示错误行号,用鼠标双击错误提示处,光标会跳到错误处。改正错误后,并按Project菜单的Build Target,重新编译、连接项目,直到

30、正常。7)按Debug菜单的Start/Stop Debug Session,进行模拟调试。黄色箭头指向P0=0;语句。用鼠标按Step into按钮(外形是一个下箭头进入两个大括号中间),黄色箭头指向P1=0xf0;语句。按Peripherals菜单的I/O Ports,复选Port 0、Port 1、Port 2。(上面会打个勾),可以显示P0、P1、P2口的变化。3.2.2 程序设计思想利用AT89S51的两个定时器/计数器完成数据累加和计时功能。T0设为定时器每0.01秒一次溢出中断。T1设为计数器对外来脉冲进行计数。当地一百次溢出中断时,即到一秒钟时,取出T1中数据对其计算求出速度(

31、规定一个脉冲为一米。),然后将数据累加到内部寄存器中做路程积累。然后通过对HT1621输入命令显示速度和里程(7,6字符显示速度;3,2,1,0字符显示路程)。3.2.3 流程图以及部分程序讲解 开 始 系统初始化数据采集 数据处理数据显示里程图3.16总流程图开始设置允许中断设置工作方式设置控制方式设初值图3.17初始化程序流程图下面是本设计的系统工作主程序,在这里有必要作一下详细的说明。TL1=0x0;TH1=0x0; /给计数器T1清零mbz=0;TR1=1; /计数器T1开始计数TR0=1; /定时器T0开始计时 WHILE (MBZ=0); /当T0到100次中断时 TR1=0; T

32、R0=0; /T1,T0都停止工作sa=TL1;xshc7=sa/10;xshc6=sa-xshc7*10; /算出6、7显示位值za=za+TL1; /里程累加xshc3=za / 1000;xshc2=(za - xshc3*1000)/100;xshc1=(za - xshc3*1000 - xshc2*100)/10;xshc0=za - xshc3*1000 - xshc2*100 - xshc1*10; /*算出0、1、2、3、显示位的值。*/disp();/显示开始 开始 计数器计数计时器计时 T0第一百次溢出中断T0第一百次溢出中断 Y Y 累计里程,计数器清零计算速度 Y显示

33、 图3.18主程序程序流程图 开始 将数据变成12位机器码机器码写入驱动芯片驱动LCD显示板图3.19显示驱动子程序流程图第四章 系统调试在毕业设计中,系统调试是一项最为重要和艰辛的工作。在做毕设和找工作的过程中我越来越感到我们这个专业经验的重要性,就是动手能力,特别是在硬件调试的过程中,往往有些符合理论的焊接也不能使之工作。如果想成为一名真正的嵌入式开发工程师,就需要不断的努力和点滴的积累。由于本课题是一个软件和硬件相结合的设计,而且任务量较大,有一些硬件电路连线焊接,所以给调试工作带来了一些难度。41 数据采集模块调试霍尔元件看原理图挺简单。实际安装就有麻烦了。在这之前我一直认为元件后的专

34、用磁铁可以粘到元件背上。可实际需要用其他东西固定,我用的是一种凝胶将磁铁固定到元件背后附近。这还不算完,在用电机带动齿轮的过程中,由于电机通电后产生的磁性影响了脉冲收集效果(起初我还怀疑是霍尔元件坏了,还换了几个MCU,调了好几天才找到原因)。所以不能像标准示意图中那样以齿轮的切面对准元件。而只能用一个自制的带有一个磁体的圆盘,圆面对准元件正面(圆盘是绝缘体),这样可以有效的避免电机磁力线对脉冲信号的影响。由于电机的转速过快速度和里程都有在很快时间内超过显示极限的危险,为了避免这类事情的发生在电机与电源之间加了几个二级管,目的是为了降低直流电机的工作电压式转速度减慢,这样可以使整个系统可以在较

35、长的时间里在稳定状态下工作。同时还可以调节二极管的个数使电机显示不同的稳定速度值。还有那个上拉电阻也得选好,用数字万用表测其脉冲电压6伏4伏即可。最后选4.7千欧的比较合适。42 主控模块调试由于单片机本身没有自开发能力,必须借助仿真开发系统来进行编制,开发应用软件以及对硬件电路进行诊断,调试。要进行仿真调试,首先应该连接仿真器。采用“豪杰”仿真系统进行仿真,发现运行程序后仿真器连接不上,检查仿真器的连接有没有连接不当之处。改换另一个仿真器,还是无法连接。改为检查硬件,接上电源,用数字表的蜂鸣档,测量89S51的各个管脚。发现(30)与地相同,由于焊接原因,是(22)脚与(23)脚相通。改正这

36、些错误后,检查连线,没有发现导线的连接错误。排除这些故障以后,仿真器连接成功。虽然只是最小系统的焊接,但还是出现了一些焊接错误,由于其他模块调试的问题牵连到它,也换了好几片。最后从AT89S51,换到了AT89C51(因为同学正好有剩下的)。因为前者只比后者多一个看门狗功能,其他都一样,所以在实际应用上它俩几乎通用,管脚也一样。43液晶显示模块调试由于我在市场上买不到单个的HT1621液晶驱动芯片,所以只买了一个LCD模块(内部显示驱动是HT1621的)。这一下子省了许多硬件连线焊接,因为这个模块一共就有五个接口(VSS接地,VDD接电源,WR、CS、DATA接到单片机的I/O口),而且直接连

37、接没有外围器件。但不幸的是它给的说明书上的真值表是错的,所以我花了许多时间来调试(就是一个笔段一个笔段的试)这个真值表(如表 4.1所示)。先写一个小显示程序(只显示一个笔段的),写入子程序的地址从0开始,数据从0开始。然后将程序变成HEX文件烧写到单片机当中看齐显示效果。从而试出每个字符有三条地址线控制,还有公共背极线所控制的笔段。图4.1表4.1 显示板真值表(笔段位置参见图4.1)COM1COM2COM3COM41BCA*2GDF*3E* 还有就是液晶显示模块在电路板上的固定。因为模块没有和万能板的插口所以只能用一些非常手段把它固定,用电钻在电路板上钻了四个孔,由于模块本身带了四个钻孔所

38、以买来四个螺丝将其固定在电路板上。44 程序调试程序调试是在硬件电路调通之后才能进行。因为编译成功只代表你的程序没有语法错误,是否实现功能还得把程序烧到单片机里,然后通电看是否实现功能。在写显示程序时我将显示6的数据写错了,应该是0x60、 0xe0、0x80,我给写成0x60、0xd0、0xe0。造成显示失真。后经检查调整数据显示码问题排除。在显示驱动程序,写入命令和写入数据的程序众多写几次片选可以让芯片更好的复位。从而提高显示质量不容易出错。WR=0、WR=1的编程顺序;可以让数据码写在它俩之间,也可以写字在它俩之后。这对程序没有影响。只要是因为标准驱动程序与网上其它的此类程序在这块有不同

39、,但经过烧写,实际运行后发现它对程序没有影响。命令介绍里也只说在WR的上升沿写入数据。其实在上升沿前,在上升沿后都是上升沿。图4.2 HT1621 WRITE 模式时序图因为程序要求T0要进行一百次中断MCU才会进行一次计算,而以每次中断需要3到8个机器周期。为了使计时更精确,将低八位加上七个数,这样使每个中断相应的间隔误差不超过一个周期。(0.01秒一次溢出)即将TL0=0xf0改成TL0=0xf7。第五章 结论5. 1 系统性能工作电压: 5伏,直流。工作温度 0-70摄氏度。测试项目: 速度,路程。显示项目: 速度,路程。显示精度 速度-1米/秒,路程-1米。显示字符数 速度-2位字符,

40、路程-2位字符。显示位置: 速度-7位6位,路程-3,2,1,0位。5. 2 存在问题本设计只是对采集来的脉冲有最简单的反应,实现了里程表的最基本的功能,而且几乎毫无精确度可言。不能实现方向判别。数据显示没有精确到小数点几位。里程和速度显示没有明确指示。加一些按钮,如用手动上电复位,手动电源开关,让他看起来更美观。在一些系统的稳定性上,比如看门狗系统,肯本没有研究。由于用的硬件集成度都很高。没有对我的调适能力进行较高的考验。5.3 研究方向针对出现的问题和实际的需要,在对系统的第二开次发中,我认为应该解决以下问题4(有些在设计时想过但没有能力实现):实现方向辨别功能(参考鼠标电路)。实现时间显

41、示(应用DS1302)。实现温度显示(应用AT24C04)。超速报警(发光二极管,蜂鸣器)。如果是计程车上的还可以有实时计价,打印发票。实现时间,里程,速度,价钱,再同一显示位置分别显示。第六章 效益分析汽车电子化、智能化是现代汽车发展的重要标志之一。小轿车内的平均电子设备含量将从今天的22增加到2010年的35。同时,随着消费者对汽车需求的增加、机械系统到电子系统的转换,以及动力总成方面性能的提高,必将迅速推动半导体器件等电子器件在汽车电子中的发展,全球汽车电子产业面临着高速增长的机遇。1980年全球汽车电子市场的销售额只有40亿美元,1990年为200亿美元,2000年为600亿美元;国外

42、每台汽车采用汽车电子产品的平均费用1990年为672美元,2000年其平均费用达到2000美元,据专家估计,2003年全球汽车电子市场销售额将达到1500亿美元。 我国汽车电子业尚处在起步发展阶段,规模化大生产还未形成,而且由于国内轿车厂大多是合资企业,其所生产的轿车多是外方设计的,外方掌握着技术决策权,使用的电子产品都是外方的配套厂商提供的产品,国内自主开发的汽车电子产品很难进入其配套体系,这严重影响了国内汽车电子产业的发展。但汽车电子产业已显示了蓬勃的生机和广阔的市场前景,得到了相关生产企业青睐,据CCIDMRD统计,2001年我国汽车电子电器企业或涉及汽车电子电器的企业约有1000多家。预计到2005年,汽车电子及与电子技术相关的产品,平均在整车成本中所占的比例将上升到30;汽车电子的发展速度将从目前的10的增长率,上升到20。据国家统计局统计,2002年我国汽车工业规模以上企业销售收入为5625亿元,按照20的年均增长速度,2005年时我国汽车需求将超过550万辆,汽车市场销售额将达到

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号