基于51单片机的电子琴设计附原理图、pcb和程序_课程设计说明书(编辑修改稿)内容摘要:

12Mhz晶振 1 3 30pF陶瓷电容 2 4 10181。 F 无极性电容 1 5 10K 9 10K x9。 x1 6 240电阻 10 7 NPN 三极管 1 s8550 8 七段共阴极数码管 2 9 无源蜂鸣器 1 10 电位器 1 11 发光二极管 10 红色 x8 黄 x1 绿 x1 12 排针 3排 13 双面覆铜铜板 1 15x10 cm 14 40P杜邦线 1 15 单片机底座 2 16 电源开关 1 17 Stc89c52单片机 1 13 总程序: 14 include include define uchar unsigned char define uint unsigned int define allsong 4 //歌曲总数 按实际写 sbit P1_0 = P1^0。 sbit P1_1 = P1^1。 sbit P1_2 = P1^2。 sbit P1_3 = P1^3。 sbit P1_4 = P1^4。 sbit P1_5 = P1^5。 sbit P1_6 = P1^6。 sbit P1_7 = P1^7。 sbit beep = P3^0。 sbit key_play = P3^1。 uchar x = 0。 /*矩阵键盘横坐标 从 1开始 0为未按下的标志 */ uchar y = 0。 /*矩阵键盘纵坐标 从 1开始 0为未按下的标志 */ uchar flash = 0。 //控制 led灯显示 的变量 */ uchar f_l。 /*按键发出音调的初值 (低位) */ uchar f_h。 //高位 uchar song_l。 /*歌曲音调的初值(低位) */ uchar song_h。 //高位 uchar out = 0。 /*声音输出变量 1表示有输出 0表示无输出 */ uchar yindiao。 /*音调 定义为全局变量 为了在播放时数码管能显示当前音调 */ uchar yindiao_h。 //音调的高四位 uchar yindiao_l。 //音调的低四位 uchar jiepai。 /*节拍(简而言之就是一个音调响的时间长度) */ uchar song_id = 1。 //歌曲序号变量 uchar temp_id = 1。 //歌曲临时序号 uint which = 2。 /*简谱表里的第几个音 从第 2个开始 第 0个用来存曲速,第 1个占位 */ uchar same = 0。 /*在暂停时选了同一首歌曲,用于跳出暂停循环 */ uchar key_x()。 //获取键盘横坐标 函数 uchar key_y()。 //获取键盘纵坐标 函数 void play()。 //播放歌曲 函数 void delayms(uint ms)。 //延 时 xx ms 函数 void delay(uint pai)。 //节拍延时 函数 void key_check()。 //检查按键状态 函数 void display()。 //数码管显示对应音调 函数 void speak()。 /*按键后 给定时器 0赋对应音调的初值 从而发出声音 */ 15 uchar choose()。 /*播放状态下 选歌函数 释放按键后才跳出函数,返回歌曲序号 */ uchar choose2()。 /*暂停状态下 选歌函数 不用释放按键即可跳出函数,返回歌曲序号 */ void play()。 //播放歌曲 函数 uchar code num[]={0x00, //数码管段选码 0x77,0x7c,0x39,0x5e,0x79,0x71,0x3d, //a g 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //1 7 0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87 //1. 7. }。 uchar code led_table[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}。 /*发光二极管闪烁表 */ uchar code chuzhi[]={ //音调对应的计数初值 0xff,0xff,//占 0位 0xf8,0x8c,//低 1 (0x01) a 数码管显示方式 0xf9,0x5b,// 2 b 0xfa,0x15,// 3 c 0xfa,0x67,// 4 d 0xfb,0x04,// 5 e 0xfb,0x90,// 6 f 0xfc,0x0c,//低 7( 0x07) g 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, /*占位 0x08 0x0b (8 11)*/ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,/*占位 0x0c 0x10 (12 16)*/ 0xfc,0x44,//中 1 ( 0x11) (17) 0xfc,0xac,// 2 0xfd,0x09,// 3 0xfd,0x34,// 4 0xfd,0x82,// 5 0xfd,0xc8,// 6 0xfe,0x06,//中 7 ( 0x17) (23) 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, /*占位 0x18 0x1b (24 27)*/ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, /*占位 0x1c 0x20 (28 32)*/ 0xfe,0x22,//高 1 ( 0x21) 1. (33) 0xfe,0x56,// 2 2. 0xfe,0x85,// 3 3. 0xfe,0x9a,// 4 4. 0xfe,0xc1,// 5 5. 0xfe,0xe4,// 6 6. 0xff,0x03 //高 7 ( 0x27) 7. (39) 16 }。 uchar code ymt[]={//玉满堂 0x96,0x00, //曲速 0x96表示 150拍 /分 0x00,0x0a,0x05,0x02,0x15,0x02,0x12,0x02, 0x13,0x04,0x13,0x02,0x15,0x02,0x12,0x04,0x12,0x02,0x13,0x02, 0x12,0x10, 0x13,0x04,0x13,0x02,0x12,0x02,0x13,0x04,0x15,0x02,0x16,0x02, 0x15,0x0c,0x13,0x02,0x15,0x02, 0x16,0x04,0x16,0x02,0x21,0x02,0x16,0x04,0x15,0x02,0x13,0x02, 0x15,0x0c,0x15,0x02,0x16,0x02, 0x21,0x04,0x21,0x02,0x22,0x02,0x23,0x04,0x22,0x02,0x21,0x02, 0x22,0x10, 0x23,0x08,0x15,0x02,0x16,0x02,0x21,0x02,0x22,0x02, 0x23,0x04,0x23,0x02,0x22,0x02,0x21,0x06,0x21,0x02, 0x16,0x04,0x16,0x02,0x21,0x02,0x16,0x04,0x13,0x04, 0x15,0x10, 0x16,0x04,0x16,0x02,0x21,0x02,0x16,0x04,0x21,0x02,0x22,0x02, 0x23,0x04,0x23,0x02,0x22,0x02,0x21,0x06,0x21,0x02, 0x16,0x02,0x21,0x02,0x16,0x02,0x21,0x02,0x22,0x02,0x23,0x02,0x25,0x02,0x23,0x02, 0x22,0x0c,0x21,0x02,0x22,0x02, 0x23,0x06,0x15,0x02,0x16,0x02,0x21,0x02,0x22,0x02, 0x23,0x04,0x23,0x02,0x22,0x02,0x21,0x06,0x21,0x02, 0x16,0x04,0x16,0x02,0x21,0x02,0x16,0x02,0x21,0x02,0x15,0x02,0x13,0x02, 0x15,0x0c,0x13,0x02,0x15,0x02, 0x16,0x04,0x16,0x02,0x21,0x02,0x16,0x04,0x16,0x02,0x21,0x02, 0x22,0x04,0x22,0x02,0x23,0x02,0x22,0x04,0x22,0x02,0x23,0x02, 0x25,0x02,0x26,0x02,0x23,0x02,0x25,0x02,0x22,0x02,0x23,0x02,0x21,0x02,0x16,0x02, 0x21,0x10, 0xff }。 uchar code dl[]={ //蝶恋 0x8c,0x00, //曲速 0x8c表示 140拍 /分 0x13,0x04,0x13,0x04,0x13,0x04,0x12,0x04,0x13,0x08, 0x12,0x04,0x13,0x04,0x12,0x04,0x12,0x04,0x06,0x08, 0x06,0x04,0x07,0x04,0x11,0x08,0x12,0x04,0x11,0x04,0x07,0x08,0x06,0x04,0x05,0x04,0x06,0x10, 0x13,0x04,0x13,0x04,0x13,0x04,0x12,0x04,0x13,0x0c, 0x16,0x04,0x15,0x04,0x16,0x04,0x15,0x04,0x15,0x04,0x12,0x04, 0x12,0x04,0x13,0x04,0x14,0x08,0x15,0x04,0x14,0x04,0x13,0x04,0x12,0x04,0x11,0x04,0x13,0x0f,0x13,0x0c, 0x13,0x04,0x16,0x08,0x17,0x04,0x16,0x04,0x15,0x0c,0x13,0x04,0x15,0x0f, 0x13,0x04,0x15,0x04,0x12,0x08,0x16,0x04,0x15,0x04,0x13,0x08,0x12,0x04,0 17 x12,0x04,0x13,0x0c, 0x12,0x08,0x16,0x04,0x16,0x0c, 0x11,0x08,0x16,0x04,0x16,0x08, 0x16,0x04,0x17,0x04,0x21,0x08,0x17,0x04,0x16,0x04,0x17,0x08,0x16,0x04,0x17,0x04,0x13,0x08,0x13,0x0c, 0x13,0x04,0x16,0x08,0x17,0x08,0x16,0x04,0x15,0x0c,0x13,0x04,0x15,0x10, 0x14,0x04,0x15,0x04,0x16,0x08,0x17,0x04,0x16,0x04,0x17,0x08, 0x16,0x04,0x17,0x04,0x13,0x10,0x13,0x10, 0x12,0x08,0x16,0x04,0x16,0x02,0x16,0x10, 0x11,0x04,0x16,0x04,0x16,0x02,0x16,0x08, 0x16,0x04,0x17,0x04,0x21,0x08,0x17,0x04,0x16,0x04,0x17,0x08,0x15,0x08,0x16,0x10, 0x23,0x04,0x22,0x04,0x22,0x04,0x21,0x04,0x21,0x04,0x17,0x04,0x17,0x04,0x16,0x04, 0x21,0x04,0x17,0x04,0x17,0x04,0x16,0x04,0x16,0x04,0x15,0x04,0x15,0x04,0x14,0x04, 0x16,0x04,0x15,0x04,0x15,0x04,0x14,0x04,0x14,0x04,0x13,0x04,0x13,0x04,0x12,0x04, 0x13,0x10,0x13,0x10, 0xff }。 uchar code srkl[]={//生日快乐 0x78,0x00, //曲速 120 0x15,0x02,0x15,0x02, 0x16,0x04,0x15,0x04,0x21,0x04, 0x17,0x04,0x00,0x04,0x15,0x02,0x15,0x02, 0x16,0x04,0x15,0x04,0x22,0x04, 0x21,0x08,0x15,0x02,0x15,0x02, 0x25,0x04,0x23,0x04,0x21,0x04。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。