完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在想编一个电子琴的程序,三个按键形成一个组为中高低音,七个按键代表七个音,怎样做到按下中高低音中的一个后,释放按键,再按七个按键中的一个,可以发出预期声音?
|
|
相关推荐
6个回答
|
|
解决之后 来个分享贴
|
|
|
|
我的理解是,不同的声音应该是由不同的频率触发的。高中低三个音域可以设三个数组,每个数组包含7个预设频率值;按下高中低三个键的其中一个时,定下要查询的是哪一个数组,再按下七个键中的一个时,去查询该数组中对应的频率,输出到发音系统,进行发音。
|
|
|
|
现在编好程序之后遇到一个问题就是,要同时按下中高低音中的一个和七个音符中的一个,然后释放按键后才能让蜂鸣器发出声音,可是现在想让按下的同时就发出声音,要怎么做到呢?
|
|
|
|
你调整下判断按键的机制,不要用一般的按键判断办法,因为一般情况下判断按键都是在按键按下后松掉的瞬间判断有效。你可以判断IO口电平,比如说,如果按键松开时是高电平,按下时是低电平,你就判断IO口为低电平时蜂鸣器发音,为高电平时不发音,这样就行了。
|
|
|
|
不同音调其实就是用定时器做的不同频率的声音,感觉在软件中嵌套一下,先识别高中低音,然后在识别按键,这样再调用你数组中的不同频率对应的数值。
|
|
|
|
不同音调其实就是用定时器做的不同频率的声音,感觉在软件中嵌套一下,先识别高中低音,然后在识别按键,这样再调用你数组中的不同频率对应的数值。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12034 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 20:04 , Processed in 0.667280 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号