信息工程学院 基于单片机的环境噪声监测仪的设计
显示子程序入口 置表扫描次数 允许高位显示 送显示值 延时 交换显示位 N 扫描结束吗? Y 返回 图4-6 显示子程序流程图
4.6 指示范围子程序
本噪声监测系统采用三个不同颜色的发光二极管(分别为黄、红、绿色),指示所测噪声处于不同的声压级范围。此指示程序的作用是:当声压级为40-59db时,黄色灯点亮;当声压级为60-79db时,红色灯点亮;当声压级为80-96db时,绿色灯点亮。具体的流程图如图4-7所示。
第 37 页 共46页
信息工程学院 基于单片机的环境噪声监测仪的设计
开始 高位数据送累加器 A累加器的内容等于4P1.0口置0,黄色灯亮 或5? A累加器的内容等于6P1.1口置0,红色灯亮 或7? A累加器的内容等于8 P1.2口置0,绿色灯亮 或9? 返回 图4-7 指示子程序流程图
第 38 页 共46页
信息工程学院 基于单片机的环境噪声监测仪的设计
第5章 系统调试与分析
系统的硬件、软件独调和系统调试是系统最后的步骤也是系统特别重要的环节,因为设计和开发出的系统是否成功,功能是否完善只有在这里才能显现出来。所以为了保证设计系统能够正常工作,必须对软件和硬件部分的每一个部分进行调试和分析。本章详细的介绍了监测仪的硬件调试、软件调试和软硬联调的过程,并对调试结果进行了介绍和分析。
5.1 调试分析的一般过程
本次毕业设计采用的仿真系统是由南京伟福实业有限公司开发的伟福仿真器进行软件调试的,此系统可以开发应用软件,以及对硬件电路进行诊断、调试等。它的具体功能是可以进行CPU仿真,可以单步、跟踪、断点和全速运行,而且,程序的编译过程中,可以对设计软件进行自诊断,并自动给出故障原因。同时用户调试程序时,可以通过窗口观察寄存器的工作状况,以便及时发现和排除编程中可能出现的错误。可以看出,该仿真系统是款功能强大,实用性强的仿真系统。
本次毕设之所以采用伟福仿真系统,就是由于此仿真系统强大的功能,因为所借助的仿真系统性能的优越,直接影响设计者设计和调试的效率。
调试与分析的过程一般包括电路原理的调试、程序的调试及它们的联机调试过程。一旦系统的工作总框图确定之后,电路原理图和程序的设计工作就可以齐头并进。
硬件电路的调试可以先采用某种信号作为激励,然后通过检查电路能否得到预期的响应来验证电路是否正常。通常采用的方法是通过编制一些小的调试程序分别对相应各硬件单元电路的功能进行检查,而整个系统硬件功能必须在硬件和软件设计完成之后才能进行。
软件程序只有在相应的硬件系统中调试,才能最后证明其正确性。
5.2 硬件调试
该课题的硬件电路部分占了整个过程相当大的一个比例。传声器电路、功率放大电路、交直流转换电路、电压/频率转换电路、单片机外围电路、显示及指示电路是本次设计的主要硬件电路。下面介绍这些电路在本次设计调试的方法与过程。
由于从传声器输出的信号不容易捕捉到,因此先给功率放大器一个微小的交
第 39 页 共46页
信息工程学院 基于单片机的环境噪声监测仪的设计
流信号,经过放大器输出了可以测量的交流信号,通过改变增益的大小,确定符合交直流变换电路输入范围的输出结果。
当信号从功率放大电路输出后,连接到交直流转换电路的输入端,改变AD536芯片外围电阻、电容的大小,输出符合要求的直流信号。
将直流信号接入电压/频率转换器的输入端,观察输出信号是否是脉冲信号。 经过进行相关实验,转换电路输出了符合要求的信号。
当焊接好显示电路之后,先对硬件一些明显错误进行排查,首先在集成电路器件未插入电路板之前,用万用表仔细检查线路,查看连线是否连接正常,防止电源短路。检查系统的总线是否存在相互之间短路或于其他信号线的短路,直至线路问题正确无误。其次对器件进行检查,方法是用面包板逐个检查器件的逻辑状态是否正常,确保器件工作正常。在上述工作完成后,接通电源,看LED显示的状态,如全亮则表示LED显示正常,否则需要进一步排查错误。
对于指示电路,现在焊板上焊好电路,先排查线路的连接问题,连接无误后,给电路通上电,分别给指示灯的正极通过上拉电阻后接+5V电源,负极接地,指示灯亮,说明电路连接无误。
当确认焊接无误、芯片完好的情况下之后,就可以进行软件的检查。
5.3 软件调试
软件的调试是利用伟福软件,模块化调试,通过观察存储单元数据的变化,查找并解决程序的语法和逻辑错误,具体的调试步骤如下:
1. 把系统的各个模块在仿真软件中逐个调试。
2. 对各个需要赋值模块调试时,赋入初值,单步调试,观察仿真器窗口,看输出结果是否为设计时想要的结果。
3. 把各个模块组合起来,全速运行,看程序是否能流畅的,是否能实现设计的系统的所有功能。
5.4 噪声监测器的系统调试
系统调试是利用伟福仿真器及其自带软件来实现一个模拟仿真系统。伟福调试软件功能较强,包含了单步、断点、跟踪、检查和修改等功能。伟福仿真器的仿真头代替89C52芯片,插在硬件电路板的原来插89C52芯片的插座上,就可以软硬件调试了。本次设计的联调采用分块联调,再总体联调的方法。下面介绍本设计的软硬件联调的过程。
首先用伟福仿真器调试显示电路部分,调入预先编制好的显示程序,检查程序和硬件是否对应上。显示电路显示的数据和编程的所要显示的数据一致,显示
第 40 页 共46页
信息工程学院 基于单片机的环境噪声监测仪的设计
电路联调成功。
当伟福仿真器的仿真头代替89C52芯片,插在硬件电路板的原来插89C52芯片的插座上,时钟芯片电路在软件的启动下开始工作,在伟福软件环境中,查看相对应的单元值是否正确。
将传感器电路的输出端接入放大电路的输入端,当声音的音量变大时从转换电路输出的脉冲信号的频率变大,反之,频率变小。
进行整体的联调,将从转换电路输出的频率信号接入单片机的T0口,看整体运行是否正确。此时LED显示出符合要求的结果。
5.5 调试故障及原因分析
本节就基于单片机的噪声检测器的设计中遇到的故障和调试方面出现的问题作一概要的叙述。
1.线路错误
在实际焊硬件电路,由于线路较多,焊错电路,如焊完电路时发现电路所有的电源线与地线全部相通,且单片机不正常工作。经查是时钟电路没有接地,改正后晶振就可以启动,单片机就可以正常工作了。
2.提供电源错误
在整个的电路中,刚开始我给所有电路提供+5v的电源,但电压/频率转换器的输出端却没有频率信号的输出,经过再次的确认,发现LM331的工作电压是+15v,当接入+15v的工作电压后,就输出所需的频率信号
3.LED位选连接错误
当整个电路通电后,发现LED显示的结构是bd54,发现显示完全到过来了,知道是位选线链接错误,将错误改正后,显示45db。
4.电阻大小选择错误
在一切调试成功后,虽然显示出了正确的结果,但是LED灯的亮度却极低,很难看清楚,因此将下拉电阻换成小点的电阻,LED灯变亮了。
5.软件错误
在软件调试时,发现LED的最后两位都显示字母b,发现给后两位的地址送的值都是7CH,所以才出现此现象,因此将第三位的值改为5EH,显示结果就变为db。
5.6 测试结果分析
由于条件有限,本课题中采用晶体式传声器,其测量精度不是很高,再加上声音信号不容易控制,而且很不稳定。再加上硬件电路中的一些系统误差,所以测量结果不是十分精确。
第 41 页 共46页