历史上的今天
今天是:2024年12月10日(星期二)
2019年12月10日 | 51单片机电子琴制作
2019-12-10 来源:51hei
一款简单的单片机DIY小制作
仿真原理图如下 
制作出来的实物图如下:


单片机源程序如下:
#include #include #include #include #define uchar unsigned char #define uint unsigned int //宏定义 uchar STH0; //定时器变量 uchar STL0; //定时器变量 bit FY=0; //模式变量,为0时弹奏模式,为1时播放模式 uchar Song_Index=0,Tone_Index=0;//单首歌曲音符数 uchar k, key; //k:按键数值变量。key:按键的键值(也就是有按键按下时的P0口状态) sbit SPK=P3^7 ; //定义喇叭的接口 sbit LED1=P3^5; sbit LED2=P3^4; //定义两个LED的接口 uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//数码管显示的数组(1 2 3 4 5 6 7 8 9) 0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xa3,0x8c,0xc8}; //(A B C D E F H O P N) unsigned char code num1[]= " Music: "; uchar code Song[][100]= //内置音乐数组,song【歌曲序号】【音符顺序】 { // 1 2 3 4 5 6 7 // 8 9 10 11 12 13 14 // 15 16 17 18 19 20 21 {12,10,9,9,10,8,9,10, 12,10,9,9,5,10,11,10, 10,10,14,10,9,8,7,8, 9,10,13,6,8,10,9,6, 8,7,5,6,12,10,9,9, 9,10,8,9,10,12,10,9, 9,9,5,10,11,10,10,10, 14,10,9,8,7,8,9,10, 13,6,8,10,9,6,8,7, 5,6,-1}, //烟花易冷 {13,12,10,12,15,13, 12,13,10,12,13,12,10,8,6,12, 10,9,9,10,12,12,13,10,9, 8,12,10,9,8,6,8,5,-1},//世上只有妈妈好 {10,10,11,10,9,8,9,12,9,9, 8,8,9,8,7,6,7,10,7,7, 6,9,10,9,8,6,5,9,10,9, 8,6,6,9,10,9,8,6,7,8,-1}, //当你孤单你会想起谁 {5,3,5,8,6,8, 5,5,1,2,3,2,1,2,5, 3,5,8,7,6,8,5,5,2, 3,4,0,1,6,8,8,7,6, 7,8,6,7,8,6,6,5,3, 1,2,5,3,5,8,7,6,8, 5,5,2,3,4,0,1,-1}, //送别 {5,6,8,6,6,5,6,5,3,5, 5,6,8,6,6,5,6,5,6,1, 1,2,3,2,2,2,1,2,1,6, 3,2,5,6,8,6,6,5,6,5, 6,1,1,2,3,4,4,5,6,6, 5,6,8,6,8,6,5,5,1,6, 5,5,6,8,3,2,3,1,-1}, //最浪漫的事 {5,9,10,9,10,12,13,12,8,9, 10,13,12,10,12,12,13,15,13,12, 10,12,10,8,9,10,8,6,10,9, 12,9,10,9,10,12,13,12,8,9, 10,13,12,12,13,15,13, 12,10,12,10,8,6,10,9,8,6, 8,9,9,8,-1}, //发如雪 {5,8,9,10,9,10,11,12,12,12, 11,10,9,5,8,9,10,11,12,12, 12,13,12,9,10,8,8,6,9,9, 10,10,8,12,8,12,8,7,8,8,6, 9,9,10,10,12,12, 12,13,12,9,10,8, 5,8,9,10,9,10,11,12,12,12, 11,10,9,5,8,9,10,9,10,11, 12,12,12,9,10,8,8,6,9,9, 10,10,8,12,8,12,12,7,8,-1}, //简单爱 {8,9,10,8,8,9,10,8,10,11,12,10,11,12, 12,13,12,11,10,8,12,13,12,11,10,8,8,5,8,8,5,8,-1}, //两只老虎 {5,5,6,5,8,7, 5,5,6,5,9,8, 5,5,12,10,8,7,6, 11,11,10,8,9,8,-1}, //生日快乐 {6,8,9,10,12,10,8,9,6,8,9,10, 12,12,13,9,10,10,12,13, 12,13,15,14,13,12,13,10,8,9,10,12,8,6, 8,9,10,13,12,10,13,13, 12,11,10,9,10,12,6,8,9,8,9, 10,12,13,15,14,13,12,10,13,-1}, //让我们荡起双桨 {8,8,12,12,13,13,12, 11,11,10,10,9,9,8, 12,12,11,11,10,10,9, 12,12,11,11,10,10,9, 8,8,12,12,13,13,12, 11,11,10,10,9,9,8,-1}, //小星星 {12,10,12,10,12,10,8,9,11,10,9,12, 12,10,12,10,12,10,8,9,11,10,9,8, 9,9,11,11,10,8,12,9,11,10,9,12, 12,10,12,10,12,10,8,9,11,10,9,8,-1}, //粉刷匠 {8,9,10,11,12,12,12,11,10, 11,11,11,10,9,8,10,12, 8,9,10,11,12,12,12,11,10, 11,11,11,10,9,8,10,8, 13,13,13,12,11,12,12,12,11,10, 11,11,11,10,9,8,10,12, 13,13,13,12,11,12,12,12,11,10, 11,11,11,10,9,8,10,8,-1}, //洋娃娃和小熊跳舞 {12,10,12,13,15,16,17,16,15,13,12,15, 17,16,15,12,17,16,15,12, 10,12,13,15,16,17,15,13,15,16, 13,13,14,13,13,17,15,14,15,13, 12,10,12,13,15,16,17,16,15,13,12,15, 17,17,17,17,15,16,16,16,16,12, 12,10,12,13,15,16,17,16,15,13,12, 15,15,-1}, //小红花 {8,9,10,11,12,10,8,15,13,11,12,12,10, 8,9,10,11,12,10,9,8,9,10,9,12, 8,9,10,11,12,10,8,15,13,11,12,10, 8,9,10,11,12,10,9,8,9,10,8,8, 15,13,11,12,12,8,15,13,11,12,10, 8,9,10,11,12,10,9,8,9,10,8,8, 15,13,11,12,12,8,15,13,11,12,10, 8,9,10,11,12,10,9,8,9,10,8,8,-1}, //小红帽 {10,12,16,15,12,11,10,10,10,11,12, 13,12,10,12,16,15,12,11, 10,12,12,13,14,15,15,16,12,12,14,13,12, 10,12,15,13,15,16,15,14,12,10,12, 16,15,12,11,10,12,12,13,14,15,15,-1}, //雪绒花 }; uchar code Len[][100]= //内置音乐对应的节拍(音符持续时间) { {1,1,2,4,1,1,1,4, 1,1,2,2,1,1,1,4, 1,1,1,1,2,1,1,1, 1,1,3,1,1,1,1,1, 1,1,1,6,1,1,2,1, 1,1,1,1,4,1,1,2, 1,1,1,1,1,4,1,1, 3,1,2,1,1,1,1,1, 3,1,1,1,1,1,1,2, 2,6,-1}, {3,1,2,2,2,1, 1,4,2,1,1,2,2,1,1,1, 1,4,3,1,2,1,1,2,2, 4,3,1,1,1,1,1,6,-1}, {2,1,1,2,1,1,2,2,2,3, 2,1,1,2,1,1,2,2,2,3, 2,1,1,1,1,2,2,1,1,1, 1,2,2,1,1,1,1,1,1,6,-1},
史海拾趣
|
由于半导体制造工艺的原因,低电压器件的成本比传统5V器件更低,性能更优,加上多数器件的I/O脚可以兼容5v/3.3v TTL电平,可以直接使用在原有系统中,所以各大半导体公司都将3.3v,2.5v等低电压集成电路作为推广重点,如高端的DSP,PLD/FPGA产品已广 ...… 查看全部问答> |
|
今天写了个pli程序,编译、生成dll文件都没有问题,就是仿真装载过程中,modelsim崩溃,请大家给分析一下,这是什么病,怎么治!源码如下: top.v `timescale 1ns/1ns module top(clk,AM,AS,WRITE,IACK,LWORD,DS0,DS1,DTACK,BERR,RETRY,AB,DB,SY ...… 查看全部问答> |
|
求TC35外围电路连接图及收发短信源代码 !! 各位大虾帮帮忙吧,刚接触这东西,急需这些来熟悉熟悉,买了个TC35模块,想自己焊个板子玩下。 如果有的话,麻烦发我邮箱forjobforlife@163.com 谢谢了~ … 查看全部问答> |
|
HI,各位 最近在做一个WINCE5的项目,需要用到GPRS,使用SIM300模块做MODEM,设置都OK了 现在的问题是,使用我自己写的小程序,程序使用的是SOCKET,可以正常通讯,但是用IE不能上网 在CE下,所有IP都ping不通,但是用自己写的小程序连接过某个IP以后,就可 ...… 查看全部问答> |
|
如題,我要用8051讀取USB 鼠標的數據,請USB高手推荐比較好的USB HOST 開發板,要有齊全的相關資料和詳細的原代碼說明,最好是中文的.… 查看全部问答> |
|
1、连接4个串口 2、用220V供电 3、访问桌面SQL Server数据库 操作系统采用windows ce请问使用什么CPU的嵌入式主板?相应厂家的联系方式?… 查看全部问答> |




