基于STC89C52单片机的简易电子琴(课程设计) 下载本文

4.系统调试

4.1硬件调试

电子琴的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。

在本电子琴的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:

(1)数码管选用的时候没有注意采用的是共阴还是共阳,导致调试的时候数码管一直不能显示。

解决:把共阴数码管换成数码管。

(2)最开始的时候以为单片机IO口直接可以驱动喇叭发声,后来调试的时候久久不能出声音。

解决:经过查找相关资料,知道扬声器需要功率放大器来驱动,后来把功率放大器加上系统便可以正常工作。

4.2软件调试

电子琴是多功能的数字型,可以根据用户按下的按键发出对应频率的声音。电子琴功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下:

1.烧入程序后,LED数码管显示闪动,而且亮度不均匀。

解决:首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。

2.当用户按下按键的时候,定时器设置的频率跟设计的不对应。

解决:由于定时器中,有大量需要处理的语句使设置定时器的频率不准,为了解决这个问题,我把不太相关的语句放大定时器外部使用。

4.3调试结果

(1)在测试中遇到LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏.

(2)LED 数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。

经过一系列的问题查找后系统最终能正常工作,并完成所有的功能。 以下为系统仿真图:

13

C1U130pF191P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.721P2.022P2.123P2.224P2.325P2.426P2.527P2.628P2.710P3.011P3.112P3.213P3.314P3.415P3.516P3.617P3.723456789XTAL1RP1LS1P3.0X1CRYSTAL18C230pFXTAL2SOUNDER9RSTP1.1P1.0P1.4P1.610u10KP2.0P2.1P2.2P2.4P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52P2.5P2.6P2.7P2.3293031PSENALEEAP1.7P1.2P1.3P1.5C3RESPACK-8R1 图4-1系统仿真图

14

5.结论

通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放对应的音符。但由于仿真系统原因,本设计音频效果不是很好。不足之处有:1.可弹奏的音符数较少,只能在一定范围内满足用户需要。可通过改进键盘识别模块和发生模块来增加其复杂度2.音量不可调。

我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Protel99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得到了锻炼。

15

参考文献

[1] 彭伟.单片机C语言程序设计实训100例.电子工业出版社.2009年 [2] 吴运昌.模拟电子线路基础.广州:华南理工大学出版社,2004年 [3] 阎石.数字电子技术基础.北京:高等教育出版社,1997年 [4] 张晓丽等.数据结构与算法.北京:机械工业出版社,2002年

[5] 马忠梅等. ARM&Linux嵌入式系统教程.北京:北京航空航天大学出版社,2004年

[6] 李建忠.单片机原理及应用.西安:西安电子科技大学,2002年 [7] 韩志军等.单片机应用系统设计[M].机械工业出版社,2004

[8] 周润景等. Proteus在MCS-51&ARM7系统中的应用百例[M].电子工业出版社,2006

[9] 马忠梅等.单片机的C语言应用程序设计[M].北京航空航天大学出版社,2006 [10] 刘树中,孙书膺,王春平.单片机和液晶显示驱动器串行接口的实现[J].微计算机信息,2007

16