吉林工程技术师范学院单片机毕业论文 第五章 系统调试

更新时间:2023-10-03 16:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第五章 系统调试

第五章 系统调试

单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。硬件调试和软件调试并不能完全分开,许多硬件错误是在软件调试过程中被发现和纠正的。一般方法是先排除明显的硬件故障,再进行软硬件综合调试。

根据方案设计的要求,调试过程分为三大部分:硬件调试、软件调试和系统硬软综合联调。电路按模块调试,各模块逐个调试通过后再联调。单片机软件先在最小系统上调试,确保所有部分工作正常之后,再与硬件系统联调。

5.1系统硬件调试

对系统进行调试,首先要进行静态调试,静态调试的目的是排除明显的硬件故障。 1、静态调试

静态调试工作分为两步:

第一步是在系统加电之前,先用万用表等工具,根据硬件逻辑设计图,仔细检查系统线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,特别注意电源系统的检查,以防止电源的短路和极性错误,并重点检查系统总线(地址总线、数据总线、控制总线)是否存在相互之间短路或与其他信号线的短路。

第二步是加电后检查各芯片插座上有关引脚的电位,仔细测量各点电平是否正常,尤其应注意CPU插座的各点电位,若有高压,与在线仿真器联机调试时,将会损坏在线仿真器。

36

吉林工程技术师范学院毕业论文

具体步骤如下: (1) 电源检查

当系统板连接或焊接完成之后,先不插主要元器件,通上电源。通常用+5V直流电源,用万用表电压档测试各元器件插座上相应电源引脚电压数值是否正确,极性是否符合。如有错误,及时检查、排除,以使每个电源引脚的数值都符合要求。

(2) 各元器件电源检查

断开电源,按正确的元器件方向插上元器件。分别插入,分别通电,并逐一检查每个元器件上的电源是否正确,直至最后插上全部元器件,通上电源后,每个元器件上电源应正确无误。

(3) 检查相应芯片的逻辑关系

检查相应芯片逻辑关系通常采用静态电平检查法。即在一个芯片信号输入端加入一个相应电平,检查输出电平是否正确。单片机系统大都是数字逻辑电路,使用电平检查法可首先检查出逻辑设计是否正确,选用的元器件是否符合要求,逻辑关系是否匹配,元器件连接关系是否符合要求等。 2、联机仿真、在线动态调试

在静态调试中,对系统硬件进行了初步调试,只是排除了一些明显的静态故障。

系统在的硬件故障主要是靠联机在线仿真来排除的。

在断电情况下,插上所有元器件,并把在线仿真器与系统相连,打开系统电源,启动在线仿真器后开始在线仿真调试。

调试过程中遇到的问题:

(1)上电后,电源指示灯不亮,各点电位为0,用万用表检测后发现电源插座出现虚焊现象,重新焊接后,接入电源指示灯亮,各点电位正常。

(2)当用示波器检测30脚,发现没有时钟频率输出,仔细分析发现30

37

第五章 系统调试

脚没接高电平,重新焊接后,输出漂亮的时钟脉冲。

(3)蜂鸣器不响,经检测后,确定为蜂鸣器自身损坏,更换蜂鸣器后正常。

5.2系统软件调试

在软件设计、调试的过程中,分为以下几步进行:

第一步,建立用户源程序。按照单片机C语言源程序所要求的格式、语法规定,把源程序输入到Keil 8.01编程软件中,并保存。

第二步,在Keil 8.01编程软件中,对输入的源程序进行编译,直至语法错误全部纠正为止。如无语法错误,则进行下一个步骤。

第三步,动态在线调试。这一步是对源程序进行调试。必须要有在线仿真器配合,才能对源程序进行调试。

第四步,将调试完毕的用户程序通过EPROM编程器,固化在EPROM中。 从实质上讲,系统软件的调试是对软硬件的综合调试,一方面要排除软件错误,同时进一步解决硬件部分的遗留故障。

调试的方案是将整个系统按其功能分成若干模块,如系统的显示模块、时钟模块、温度检测模块、语音模块、键盘功能模块等。针对不同的功能模块,编写一小段测试程序,再将它们连在一起统调,并借助于万用表、示波器等仪器来检查硬件电路的正确性。

因为本系统的设计采用的是ATMEL公司的AT89SXX系列单片机中的AT89S51单片机,具有SPI接口和FLASH程序存储器,它除了可以用常规的并行方法编程外,还可以在线通过SPI接口串行编程,FLASH程序存储器能重复编程1000次。在这里所有功能模块的调试采用的是在线调试方法,利用ISP电缆,通过SPI接口对AT89S51的FLASH存储器进行下载编程,进行

38

吉林工程技术师范学院毕业论文

在线调试。采用单片机C语言编程。

使用ISP电缆的操作步骤:

安装ISP电缆的应用程序到使用的计算机中,将下载电缆线分别与计算机和系统板连接好,确信无误后接上5V直流电源。

运行ISP电缆的应用程序,点击图标,打开文档后,出现下载电缆的操作界面,按照顺序进行相应的设置。

(1)首先设置编程器端口,选择LPT1(端口378)。 (2)检测器件选择89S51。

(3)打开事先准备好的,要进行固化二进制BIN文件。 (4)先点击“擦除芯片”,进行芯片的擦除。 (5)然后点击写“FLASH ROM”即可进行编程写入。

(6)点击校验数据,可以对写入数据进行校对,如发现错误,可以重新写入。

(7)若要进行加密,则可将写锁定位设置成“Lock Bit-3”, 点击写锁定位即可。

(8)上述步骤也可以点击“自动完成”来实现。 写入完成后,按下用户板的复位键,可以进行在线调试。 调试过程中遇到的问题:

(1)在显示模块的调试中,我编写了一小段程序进行了显示功能的全面检测,起初出现了无法显示的现象,经检查后发现在与单片机的连接上出了问题,重新连接后数码管进行了显示。但此时又出现了不正常显示的现象,刚开始以为是程序上出现了错误,经几次修改和检测后,错误还是存在,最后在同学的帮助下,才找到了问题的根源,单片机芯片出现了问题,重新更换芯片后显示正常,显示模块调试完毕。

(2)键盘输入无效,经检查是检测程序出现了问题,导致无效输入,

39

第五章 系统调试

经修改后键盘功能正常。

(3)无温度值显示。在这里对单片机我输入了一段检测程序,以启用温度显示功能,但数码管上却无任何显示,经全方面检查,起初是连接上出现了问题,接口不严密,至使温度检测值无法送入单片机中,重新连接后,数码管上虽有数值显示,但为无效值,也就是没有正确检测到实际温度,又经检查后发现是启用程序上出了问题,经修改后正常。

(4)对时钟显示的检测上,更是使我发现了我在考虑问题不周全中所犯的错误。在这里我用一小段程序启用了时钟,送数码管显示,但却发现显示上根本得不到时间值,几次检测也没有发现问题所在,后在同学的帮助中才找到了问题的所在,我没有对时间值进行分离,也没有确定显示格式,所以根本就不能正常显示,经过修改后终于完成了正确的时间显示,使我受益很多。

5.2系统综合调试

对系统硬软件的综合调试是完成系统功能的最后一步调试,也就是系统功能实现的调试。通过上两大块的调试,系统的一些明显故障已经被排除,但这还不能保证系统在使用中就能够正常工作,实现理想功能,所以这一步的调试是至关重要的,需要十分丰富的调试经验,要根据系统实现的结果,能够仔细分辩故障部位,这样才能保证我们调试的准确性。

在我所做的系统实现中,主要遇到以下几个问题:

(1)键盘按下时蜂鸣器不发声,而且在报时时间到时蜂鸣器也没有声音,检查软件控制蜂鸣器的模块正常,再检查硬件蜂鸣器电路。原来蜂鸣器的跳线跳错,将跳线接到P3.4,SP上蜂鸣器出现声音。

(2)在启动定时功能后,在数码管显示器的第一位上会出现一个小数点来提示定时功能。而当我按下启动定时键后,小数点没有显示。我先检查

40

吉林工程技术师范学院毕业论文

硬件,发现第一位上的数码管的小数点管脚被烧坏。于是我又换了一个LED显示器,小数点出现。但是发现小数点显示不正常,经软件调试后问题解决。

(3)语音模块用CPU控制时不出声音,用逻辑电路调试发现语音模块没有问题。我断定是软件上出了问题。检查软件,发现LE管脚总是在高电平上,这样单片机发出的控制总是被写到ISD1420上,将LE管脚置为低电平后声音正常。

(4)时钟芯片在每次设置后正常工作,但是掉电后不保存时钟的数据,运行不正常。经检查原来是给时钟芯片供电的电池没电了。更换一块新的电池时钟芯片恢复正常。

41

本文来源:https://www.bwwdw.com/article/5hwd.html

Top