宋丹:基于单片机的自行车里程速度计设计
- 32 -
华科学院本科毕业设计(论文)
第5章 系统调试
5.1系统硬件调试
5.1.1常见的硬件故障
。(1)逻辑错误:
样机硬件的逻辑错误是由于设计错误或加工过程中的工艺性错误而造成的包括错线,开路和短路等等,其中短路是最常见的故障。 (2)元器件失效:
元器件失效的原因有两个方面,一是器件本身已经损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容,二极管的极性错误或集成块安装方向错误等。 (3)性差:
若样机中存在电源故障,则加电后将造成器件损坏。电源故障包括电压值不符合设计要求,电源引出线和插座不对应,电源功率不足和负载能力差等 5.1.2硬件调试方法
脱机调试是在样机加点之前,先用万用表等工具,根据硬件电气原理图和装配图,仔细检查样机线路的正确性,并核对元器件型号,规格和安装是否合要求。特别注意电源的走线,防止电源之间的短路和极性错误,重点检查系统的总线或其他信号线之间是否存在相互的短路。样机所用的电源,事先必须单独调试后才能加到系统中,在不插芯片的情况下,加电检测各底座上引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机底座上的各点电位是否正常
接通5v电源,液晶显示器会显示速度为0,当磁铁靠近霍尔元器件时,就会显示速度的值,不停的靠近霍尔传感器,速度的值就会越来越大。可以通过切换开关来查看此时的路程和半径,最大速度和平均速度。可以通过改变半径改变路程与速度。
- 33 -
宋丹:基于单片机的自行车里程速度计设计
5.2系统软件调试
5.2.1系统仿真调试
本文采用了KEIL uVISION2软件对程序进行编写和调试。KEIL uVISION2是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和C语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
5.2.2 protel99的介绍
早期的PROTEL主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电路原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的PROTEL已发展到DXP 2004,是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。在国内PROTEL软件较易买到,有关PROTEL软件和使用说明的书也有很多,这为它的普及提供了基础 5.2.3系统调试方法
(1)在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。首先从菜单的“工程”中“新建工程”,建立我们将要做的工程项目。新建的工程要起个与工程项目意义一致的名字,可以是中文名。
(2)Keil环境要求我们为 Test 工程选择一个单片机型号;我们选择 Atmel 公司的 89C51(虽
然我们使用的是89C52,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。“确定”后工程项目就算建立了。
(3)点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编
- 34 -
华科学院本科毕业设计(论文)
写单片机程序的场所。在这里你可以进行编辑、修改等操作。
(4)根据题意,在文档中写入系统程序原代码,写完后再检查一下,并保存文件,保存文件时,其文件名最好与前面建立的工程名相同其扩展名必须为 .c !“文件名”中一定要写全,如:Test.c ;保存后的文档彩色语法会起作用,将关键字实行彩色显示。
(5)保存了c文件后,还要将其添加到工程中。鼠标右键点击 “Source Group 1”,在弹出的菜单中选“增加文件到组 Source Group 1” 在接下来出现的窗口中,选中刚才保存的 Test.c,按“Add”,再按“关闭”,文件就添加到了工程中。
(6)向工程添加了源文件后,鼠标右键点击 “TarGet 1” ,在弹出的菜单中选“目标 Target 1 属性”, 在打开的话框中,选择“输出”选项卡,在这个选项卡中,“E生成HEX文件”选项前要打勾,按“确定”退出。
(7)最后,从菜单的“工程”中执行“R重新构造所有目标”,汇编、连接、创建Hex文件一气呵成;在工程文件的目录下就会生成与工程名相同的一些文件,其中大部分文件我们并不必关心,而生成的 Hex 文件是我们需要的!它是要烧写到单片机中的最终代码,也就是单片机可以执行的程序。
(8)若在状态窗中有错误提示,就需要再次编辑、修改源程序(如语法、字符有错等)、保存、构造所有。直至没有错误。在没有语法错误的情况下,就可以进行模拟调试。
(9)从菜单的“外围设备”中打开对应I/O口窗口,单击“单步运行”,在窗中就可以看到我们原先设想的效果。
(10)接下来,我们启动 51编程器,将刚刚生成的 Test.Hex 烧写到单片机芯片,在51编程程序的菜单“文件”中,“打开HEX文件” 打开 .hex 文件,执行写入操作。
(11)执行写入操作完成后,编程器程序就会显示:“??,编程成功!”若写入出错,请先“擦除”后再“写入”。若在实验板上实际验证的并不是我们预期的效果,那么,就需要再次返回到编辑、修改源程序那一步,修改后再构造所有,再次将生成的Hex文件烧写、实验,直至成功!
- 35 -
宋丹:基于单片机的自行车里程速度计设计
5.3系统整体调试
图5.1接通电源正常显示
图5.2时间显示的变化
在调试中第一行和第二行的第一个按键分别是对时间的上调和下调,这两幅图的对比表
示了在调试中显示时间的变化。
- 36 -