完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
制作电子琴之总结热5已有 93 次阅读 2012-09-14 22:03 标签: 博客分享季 电子琴 制作 从买开发板到自学单片机正好两个月了,开始时,边听郭天祥的教程视频,边做练习。感觉单片机也没那么难,不过越学感觉与有意思。当听完了一遍视频后,觉得该做点东西了。不能老停留在理论盒软件编程上,也该动动手,做点东西。郭老师说得好,只有实战(做东西)才能真正学到东西。于是,有了我的处女作,ds12c887实时时钟,说实话,做的不是很好。因为焊接过程中出现了很多问题,连线太多,太乱,焊的也不是很好。好长时间没有焊东西了,很生疏,而且在连线时考虑的也不周到。没有层次和逻辑。导致了布线很乱,出现线路问题时,找起来很费劲。不过庆幸的是,最终显示出了时间。可是遗憾的是,按键不好使,或者说就不能使。关于这个问题,之后我一定会解决。
时终之后吗,接着又学习点阵,先让其动态显示数字,字符。不过这都是在漫无目的的学习。总想着再做点东西。于是,有时间就在网上看别人的作品,某天看到一个作品,名叫触摸电子琴,还有视频演示,看了看挺有意思,而且用的器件也不多。随即便萌生了制作的念头,于是按照教程说的买器件。接着就是按照原理图焊接。花了两天多时间终于焊接完毕,作者很给力还带有源程序。于是,照搬了过来。想直接编译,然后下载,可是出现了好多错误,提到好多变量还有寄存器没有定义,估计是头文件的问题,于是想打开头文件看看,可是根本就打不开,LAI说这个kei软件根本就没有这个头文件,你直接用51头文件就行,只需要在里面加一些你需要的寄存器,于是,我又通过网络查一下stc12c5a60s2的头文件里面的设置,然找那个头文件在51头文件中加上。果然没有错误了。下载到单片机,可是蜂鸣器一直响,根据程序的意思,初始化的时候应该是关闭蜂鸣器,当触摸琴弦键时蜂鸣器才能响,而且正常情况下还能发出音调。这是一个问题,可能是线路连接的问题,也可能是程序本身就有问题。我先查线路,用万用表测线路通断情况,电压情况。确认无误后。断定是程序有问题。然后就仔细阅读程序,程序很简单,也读不出什么错误。纠结了好长时间,后来LAI(人名)也参与进来帮忙,他早就学习单片机,有经验。一开始他也没检查出来。也不知过了多久,他提到,你可以不检测按键等于1,而像检测独立按键那样,检测是否等于0,试试。接着我又把原来检测按键是否为1的位置改成检测是否为0。可是改过之后,虽然蜂鸣器开始确实不响了,但是触摸按键也不响。这是为什么?然后我检查蜂鸣器的连接和程序中关于蜂鸣器的设置。没有问题呀!后来,他屏蔽一部分按键检测,留下一部分。这次触摸按键时蜂鸣器有了音调。原以为这样就成功了,可是当再加上几个按键时,蜂鸣器一开始就响了,再去触摸按键没有任何反应。我们都崩溃了,到底是哪里出了错误。为什么这么简单一个程序和这么简单一个线路愣是找不到错误所在呢?休息片刻后,我想到应该再去仔细阅读一下芯片stc12c5a60s2的资料,估计I/O口有问题,因为这个单片机跟51系列的不一样,他有P4.4,P4.5,P4.6口。于是我又看了看管脚介绍。果然,这三个口不能像普通I/O口那样拿来直接用。必须在这三个口为1时才能当普通I/O口用。也就是如果用他们接触摸按键,需要检测是否为1。可当我把其改为1后效果不是很好,感觉对其他按键有影响。因此,我选择放弃这三个口,改用P1.5,P1.6,P1.7。嗯,这次成功了。每个按键都起到了作用,触摸时蜂鸣器发出了音调。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-28 10:46 , Processed in 0.593241 second(s), Total 53, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191