• 回答数

    4

  • 浏览数

    248

大萌萌Alice
首页 > 期刊论文 > 单片机毕业论文八键电子琴

4个回答 默认排序
  • 默认排序
  • 按时间排序

康昱装饰

已采纳

这个不难,扫描键盘,当有键按下时就输出相应的频率的高低电平脉冲,关于想要什么发音,比如1、2、3等这些的频率编码网上应该会有高手译过,自己搜索吧。要是要求音质高的话,用语音芯片吧。

360 评论

密室娱乐小伙伴

#include<>unsigned char table[]={0x3f,0x60,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char temp;unsigned char key;unsigned char i,j;unsigned char STH0;unsigned char STL0;unsigned int code tab[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};void main(void){ TMOD=0x01; ET0=1; EA=1; while(1) { P3=0xff; P3_4=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=0; break; case 0x0d: key=1; break; case 0x0b: key=2; break; case 0x07: key=3; break; } temp=P3; P1_0=~P1_0; P0=table[key]; STH0=tab[key]/256; STL0=tab[key]%256; TR0=1; temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } TR0=0; } } P3=0xff; P3_5=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--) temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=4; break; case 0x0d: key=5; break; case 0x0b: key=6; break; case 0x07: key=7; break; } temp=P3; P1_0=~P1_0; P0=table[key]; STH0=tab[key]/256; STL0=tab[key]%256; TR0=1; temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } TR0=0; } } P3=0xff; P3_6=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=8; break; case 0x0d: key=9; break; case 0x0b: key=10; break; case 0x07: key=11; break; } temp=P3; P1_0=~P1_0; P0=table[key]; STH0=tab[key]/256; STL0=tab[key]%256; TR0=1; temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } TR0=0; } } P3=0xff; P3_7=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=12; break; case 0x0d: key=13; break; case 0x0b: key=14; break; case 0x07: key=15; break; } temp=P3; P1_0=~P1_0; P0=table[key]; STH0=tab[key]/256; STL0=tab[key]%256; TR0=1; temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } TR0=0; } } }}void t0(void) interrupt 1 using 0{ TH0=STH0; TL0=STL0; P1_0=~P1_0;}

304 评论

hj黄小兔

这是使用实验仪器键盘上的数字键1,2,3,4,5,6,7作为键盘键,按适当的音的问题。 8255 口音频脉冲以驱动扬声器的问题。可以参考一下。 #包括 #定义模式0X82; 外部数据无符号字符型控制_at_ 0x8003; 外部数据无符号字符型音箱_at_ 0X8000; 外部数据无符号字符型OUTBIT _at_ 0x9002; 外部数据无符号字符型OUTSEG _at_ 0x9004; 外部数据无符号字符型IN _at_ 0x9001; 代码无符号字符型KEYTABLE [] = { 0X16,0X15,0X14 ,是0xFF, 0X13,0X12,0X11,0X10, 0X0D,0X0C,0X0B,0X0A, 0X0E,0X03,0X06,0X09, 0x0F的,0X02,0X05,0X08 , 0X00,0X01,0x04的0X07 } 无符号字符型testkey的() { OUTBIT = 0; 回报( &0X0F); } 无符号字符型的getKey() {无符号字符位置; 无符号字符型; 无符号字符K; = 6; POS = 0x20的; { OUTBIT =位置; POS >> = 1; K = IN&0X0F; }(( - = 0)&&(K == 0)); (k! = 0){ * = 4; (K&2) + = 1; 其他(K&4) + = 2; 否则,如果(K&8) + = 3; OUTBIT = 0; 返回(KEYTABLE []); }否则返回(0XFF) } / * ================================== ============================================== * / />代码unsigned int类型ToneTable [7] = { 64578,64686,64778,64821,64898,64968,65029 无符号字符型PulseCNT; 无符号字符型脉冲; 无符号ToneHigh ToneLow 无效计时器()中断1 { TR0 = 0; TH0 = ToneHigh; / a> TL0 = ToneLow; TR0 = 1;,扬声器=脉冲; 脉冲+ +; PulseCNT - ; 无效的主要() {无符号的字符键; 控制模式; OUTSEG = 0; 脉冲= 0; BR /> TMOD = 0X01; / / 1,头脑 IE = 0X82; / / EA = 1,IT0 = 1 (1){同时(testkey的); / /按钮关键的getKey(); ((> = 1)&&(<= 7)){ ToneHigh = ToneTable [键1] >> 8; ToneLow = ToneTable [1]&0xff的; TH0 = ToneHigh TL0 = ToneLow; TR0 = 1; PulseCNT = 100 (PulseCNT! = 0)/ / 100脉冲音箱= 0; TR0 = 0; } } }

103 评论

miumiu大酱

单片机里的c语言就是51程序

130 评论

相关问答

  • 电子温度计单片机毕业论文

    毕业设计(论文)报告 系 别: 电子与电气工程学院 专 业: 电子信息工程 班 号: 电子 0 8 5 学 生 姓 名: 傅浩 学 生 学 号: 0800122

    tomoyasaki 5人参与回答 2023-12-09
  • 基于单片机电子秤毕业论文

    电子信息工程大学毕业论文 (张清卓)从21世纪开始,无线传感器网络就开始引起了学术界,军事界和工业界的极大关注。美国和欧洲相继启动了许多关于无线传感器网络的研

    超级吃货两枚 8人参与回答 2023-12-06
  • 单片机电子称毕业论文

    以下均可参考,从参考网址进入,合适的话,给我加分!谢谢1.基于labVIEW虚拟滤波器的设计与实现 2.双闭环直流调速系统设计3.单片机脉搏测量仪

    AstrophelandStella 5人参与回答 2023-12-09
  • 单片机电子钟毕业论文

    我这里有,不过你的分太低了。

    逍遥无涯子 6人参与回答 2023-12-11
  • 单片机电子打铃毕业论文

    提供一些电子信息工程专科毕业论文的题目,供参考。精密检波器的设计简易电子血压计的设计电子听诊器的设计简易数码相机的设计直流电机转动的单片机控制高频功率合成网络的

    咩~咩~羊 5人参与回答 2023-12-08