让单片机唱歌的c语言程序是怎么弄的?
音乐的控制,需要控制旋律和节奏,旋律是频率来决定的,需要两个字节来表述,节奏是音长来决定的,一个字节就可以控制了,所以设计音乐的数组一般是三个字节表示一个音符。
首先在电脑桌面中,如下图所示,双击【Keil4】图标打开软件。点击上部菜单栏中的【工程】,在下拉菜单中选择【新建工程文件】,如下图所示。
要么先唱歌,要么流水灯。只有引用单片机中时间飞轮这个函数,才能将两个功能穿插执行。没准你的可以实现,音律代码是数组,执行一个音后中断去执行一次点阵,的确很复杂,需要单片机速率高,才能听着舒服。
编译无错后,在软件仿真条件下,点击“Debug”进入仿真界面。在硬件仿真条件下,前提有调试器及目标平台,同样点击“Debug”图标进入仿真。
怎么用单片机编写音乐程序
单片机比如51系列都有定时器,因此可以利用它来控制扬声器按一定频率发声,以下就是一个例程,用按键的按下和抬起来模拟电子琴的控制程序。
求低音DO(26HZ),中音DO(523HZ),高音DO(1046HZ)的记数值。每个音符使用1个音节,字节的高四位代表音符的高低,低四位代表音符的节拍。如果1拍为0.4秒,1/4拍为0.1秒,***设1/4拍为 DELAY,则1拍为4 DELAY。
其实原理很简单,就是控制单片机的某个引脚,输出一定频率的方波信号,而输出方波信号的方法,是最基础的,最简单的编程了,用定时器定时,根据信号频率算出信号周期,然后计算出定时的时间。
如何编写51单片机音乐程序
1、SONG_TONE[i]/3 产生一个短延时,延时的时间正好是音符的频率 延时时间越短产生的频率就越高,发出的声音也越高 SONG_LONG[i]*20 是用于音符的持续时间。
2、比如把表中的0xF2和0x42送到定时器,定时器按照这个初始值来产生中断,输出的方波,人们听起来,这就是低音1。乐曲的数据,也要写个数据表,程序中以 code unsigned char sszymmh[] 命名。
3、只有音乐发声汇编程序,没有加入LED灯,供参考。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.ishengkuan.com/1184.html