[讨论] 按键处理问题

0957   2009-10-20 10:58 楼主
问题:现在有两个按键(假设是A和B),两段声音文件(假设是C和D),怎样才能在按下A或B时随机的播放C或D(C,D不能重复播放。假如按下A键时播放了C,那么在按B键时只能播放D了)

我的想法是用随机函数产生一随机数,然后根据这个数去决定由A播放C,还是由A播放D。

请多多指教。

回复评论 (5)

是上电后第一次按键决定播放的对应关系吗?做个随机函数觉的有点麻烦。可不可以申请一个不初始化变量,或者在函数中申请一个临时变量,也不赋初值,按键后,检测这个变量,是奇数,就播放C,是偶数,就播放D。
点赞  2009-10-20 11:46
我觉得楼上的做法可行
点赞  2009-10-20 11:54
取当前时间的秒值,看奇偶。
点赞  2009-10-20 12:04
不知道是单片机项目呢,还是纯硬件项目呢?
如果是单片机的项目:
支持4楼的回答,取奇偶值,但最好取更细一点的。
上电启动定时器\计数器,置定时状态,用计数器里的机器周期值的奇、偶决定。

对纯硬件实现项目,要做一个振荡器,同样启动计数器来对这个振荡器计数(就一位便可),按键按下时锁存该计数值,其计数器输出高低电平启动不同的音乐片或语音芯片的某一段。
点赞  2009-10-20 12:38
恩恩,多谢各位的回复,
决定采用四楼的简易了。板子上正好有个DS1302.

谢谢。
点赞  2009-10-20 13:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复