于单片机控制-电子琴毕业论文(关于用单片机控制音乐的论文)

1.关于用单片机控制音乐的论文

单片机音乐程序的设计与实验 利用单片机(或单板机)奏乐大概是无线电爱好者感兴趣的问题之一。

本文从单片机的基本发间实验出发,谈谈音乐程序的设计原理,并给出具体实例,以供参考。 1. 单片机的基本发音实验 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。

例如,要产生200HZ的音频信号,按图1接入喇叭(若属临时实验,也可将喇叭直接接在P1口线上),实验程序为: 其中子程序DEL为延时子程序,当R3为1时,延时时间约为20us,R3中存放延时常数,对200HZ音频,其周期为1/200秒,即5ms。这样,当P1.4的高电平或低电平的持续时间为2.5ms,即R3的时间常数取2500/20=125(7DH)时,就能发出200HZ的音调。

将上述程序键入学习机,并不断修改R3的常数可以感到音调的变化。 乐曲中,每一音符对应着确定的频率,表1给出C调时各音符频率及其相应的时间常数。

读者可以根据表1所提供的常数,将其16进制代码送入R3,反复练习体会。根据表1可以奏出音符。

仅这还不够,要准确奏出一首曲子,必须准确地控制乐曲节奏,即一音符的持续时间。 音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。

便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。其它节拍与时间的对应关系见表2。

但时,由于T0的最大定时时间只能为131毫秒,因此不可能直接用改变T0的时间初值来实现不同节拍。我们可以用T0来产生10毫秒的时间基准,然后设置一个中断计数器,通过判别中断计数器的值来控制节拍时间的长短。

表2中也给出了各种节拍所对应的时间常数。例如对1/4拍音符,定时时间为0.16秒,相应的时间常数为16(即10H);对3拍音符,定时时间为1.92秒,相应时间长数为192(即C0H)。

我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。 此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。

为了产生手弹的节奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不同的音符。 程序框图如图2所示。

下面给出程序序请单,可直接在TD-III型学习机上演奏,对其它不同型号的学习机,只需相应地改变一下地址即可。本程序演奏的是民歌“八月桂花遍地开”,C调,节奏为94拍/分。

读者也可以自行找出一首歌,按表1和表2给定的常数,将乐曲翻译成码表输入机器,而程序不变。本实验方法简便,即使不懂音乐的人,将一首陌生的曲子翻译成代码也是易事,和着机器的演奏学唱一首歌曲,其趣味无穷。

程序清单(略,请参看源程序的说明)。 《无线电》1992年第3期。

硬件连接说明: 随便找一个仿真机或者什么单片机实验板,只要能工作的就行,将程序输入,运行,然后找个音箱(你计算机旁边应当就有一对吧)拨出插头,插头的前端接在P1。0上,后面部分找根线接单片机的地,就应当有声了,然后怎么改进硬件连接就是你的事了。

2.求一篇基于单片机的电子琴设计的外文文献

音色(Tone)PIANO 钢琴 ELECPIANO 电子钢琴 HARPSICHORD 古钢琴 CELESTA 钢琴片 ORGAN 风琴 ELEC ORGAN 电子风琴 PIPE ORGAN 管风琴 JAZZ ORGAN 爵士风琴 ACCORDION 手风琴 SYNTHORGAN 合成风琴 ORCHESTRA 管弦乐 STRING 弦乐 VIOLIN 小提琴 CELLO 大提琴 PICCOLO 短笛 FLUTE 长笛 JAZZFLUTE 爵士长笛 CLARINET 单簧管 OBOE 双簧管 BASSOON 大管 SAXPHONE 萨克管 BRASS 铜管乐 TRUMPET 小号 HORN 圆号 TROMBONE 长号 TUBA 大号 WAH BRASS 哇声铜管乐 GUITAR 吉他 BASS 倍大提琴 BAGPIPE 风笛 BASS GUITAR 低音吉他 MANDOLIN 曼陀林 BANJO 班卓 VIRES 振琴 VIBRAPHONE 电颤振铁琴 HARP 竖琴 FANTASY 幻想音 WAH 哇音 FUNNY 滑稽音 COSMIC TONE 宇宙音 ELECSYNTHE 电子合成音乐 FUNNYSYNTH 合成滑稽音 ELECGUITAR 电吉他 JAZZ GUITAR 爵士吉他 XYLOPHONE 木琴 GLOCKENSPIEL 钟琴 HARMONICA 口琴 MUSIC 百音盒 SYMPHONIC 交响乐 CHORUS 合唱队 VOICES 人声 RHYTHNIC 律动性音乐拨钮 DIAPASON 管风琴音栓 VIBES 颤动的声音 RERCUSSION 打击乐 SYNTHETIC 合成打击乐 PERCUSSION §2,节奏同步.音色添加效果(EFFECT)以下这些功能主要是用来修饰音色 VIBRATO 颤音 SUSTAIN 持续音 CRESCENDO VIBRATO 渐强 REVERBERATION 混响§3节奏(RHYTHM)WALTZ 华尔兹 RHUMBA 伦巴 SAMBA 桑巴 MAMBO 曼波舞 CHA-CHA 恰恰 SWING 摇摆舞 DISCO 迪斯科 LATIN SWING 拉丁摇摆 POLKA 波尔卡 MARCH POLKA 波尔卡进行曲 BOLONASE 波罗涅兹 BEGUINE 贝圭英 HABANERA 哈巴涅拉 MARCH 进行曲 MARCH SPEED 快速进行 BOSSA NOVA 博萨诺瓦 SHUFFLE 曳步舞 SLOW ROCK 慢摇滚 JAZZ ROCK 爵士摇滚 LATIN ROCK 拉丁摇滚 JAZZ MARCH 爵士进行曲 JAZZ WALTZ 爵士华尔兹 POPS 波普 BIG BAND 爵士大乐团 REGGAE 雷盖 BALLAD 叙事曲 COUNTRY 乡土音乐 16BEAT 十六步舞 TANGO 探戈 ROCK 摇滚乐 §4.节奏的辅助功能指自动节奏的开始与停止,节奏填充等功能. START 开始 STOP 停止 SYNCHRO 节奏同步 FILL IN 节奏填充 §5.和弦(CHORD)SINGLE FINGER 单指和弦 FINGDERED CHORD 多指和弦 §6电子琴各种功能及中英文对照§1。

3.毕业设计我想用单片机做一个电子琴,程序最好是c语言编写的,那个

上有好多,要的话我还有流程图/********************************************************************************************* 程序名: DoToy系列作品 MidTouch21电子琴程序 编写人: 杜洋 编写时间: 2009年6月3日 硬件支持: STC11L60XE 外部12MHZ晶振 电源3V 接口说明: 详见《DoToy_MidTouch21电路原理图》 修改日志: NO.1-20090603_17.54 完成电子琴21键的测试(20090603_1备) NO.2-20090604_01.29 改为第二次新板的硬件电路(20090604_2备)/********************************************************************************************* 说明:用STC11Fxx单片机I/O接口的高阻态输入功能,扫描I/O接口电平。

手指将VCC线和I/O接口线半连接,产生高电平信号。/*********************************************************************************************/ void INIT(void);#include /*********************************************************************************************/ sbit SPEAKER = P1^0;//扬声器,低使能 sbit LED = P3^0;//LED正极,强推 sbit LED2 = P3^1;//LED负极 sbit KEY11 = P2^0; sbit KEY12 = P2^1; sbit KEY13 = P2^2; sbit KEY14 = P2^3; sbit KEY15 = P2^4; sbit KEY16 = P2^5; sbit KEY17 = P2^6; sbit KEY21 = P2^7; sbit KEY22 = P4^4; sbit KEY23 = P4^5; sbit KEY24 = P4^6; sbit KEY25 = P0^7; sbit KEY26 = P0^6; sbit KEY27 = P0^5; sbit KEY31 = P0^4; sbit KEY32 = P0^3; sbit KEY33 = P0^2; sbit KEY34 = P0^1; sbit KEY35 = P0^0; sbit KEY36 = P3^3; sbit KEY37 = P3^2;/*********************************************************************************************/ unsigned char MUSIC; unsigned char STH0,STL0; unsigned int code tab[]={ //音阶表63628,63835,64021,64103,64260,64400,64524, //低音1-764580,64684,64777,64820,64898,64968,65030, //中音1-765058,65110,65157,65178,65217,65252,65283 //高音1-7 }; /*********************************************************************************************/ void delay1ms (unsigned int a){ // 1ms延时程序(12MHz 10倍于51单片机速度时) unsigned int i; while( --a != 0){ for(i = 0; i < 600; i++); } }/***************************************************************************************/ void INIT(void){//初始化程序 TMOD=0x11; ET0=1; ET1=1; EA=1; P0M1 = 0xff;//I/O接口工作方式 P0M0 = 0x00;//P0全为高阻输入 P1M1 = 0xfe;//P1.0为准双向,其他为高阻输入 P1M0 = 0x00; P2M1 = 0xff;//P2全为高阻输入 P2M0 = 0x00; P3M1 = 0xfc;//P3.0为强推,其他为标准双向 P3M0 = 0x01; P4M1 = 0xff;//P4全为高阻输入 P4M0 = 0x00; P4SW = 0xff; LED = 1; LED2 = 0; SPEAKER = 0; }/***************************************************************************************/ void main(void){ INIT(); //初始化 while(1){ if(KEY37 == 1){delay1ms(20);if(KEY37 == 1){MUSIC = 20;}} //高音B(37) if(KEY36 == 1){delay1ms(20);if(KEY36 == 1){MUSIC = 19;}} if(KEY35 == 1){delay1ms(20);if(KEY35 == 1){MUSIC = 18;}} if(KEY34 == 1){delay1ms(20);if(KEY34 == 1){MUSIC = 17;}} if(KEY33 == 1){delay1ms(20);if(KEY33 == 1){MUSIC = 16;}} if(KEY32 == 1){delay1ms(20);if(KEY32 == 1){MUSIC = 15;}} if(KEY31 == 1){delay1ms(20);if(KEY31 == 1){MUSIC = 14;}}//3 if(KEY27 == 1){delay1ms(20);if(KEY27 == 1){MUSIC = 13;}} if(KEY26 == 1){delay1ms(20);if(KEY26 == 1){MUSIC = 12;}} if(KEY25 == 1){delay1ms(20);if(KEY25 == 1){MUSIC = 11;}} if(KEY24 == 1){delay1ms(20);if(KEY24 == 1){MUSIC = 10;}} if(KEY23 == 1){delay1ms(20);if(KEY23 == 1){MUSIC = 9;}} if(KEY22 == 1){delay1ms(20);if(KEY22 == 1){MUSIC = 8;}} if(KEY21 == 1){delay1ms(20);if(KEY21 == 1){MUSIC = 7;}}//2 if(KEY17 == 1){delay1ms(20);if(KEY17 == 1){MUSIC = 6;}} if(KEY16 == 1){delay1ms(20);if(KEY16 == 1){MUSIC = 5;}} if(KEY15 == 1){delay1ms(20);if(KEY15 == 1){MUSIC = 4;}} if(KEY14 == 1){delay1ms(20);if(KEY14 == 1){MUSIC = 3;}} if(KEY13 == 1){delay1ms(20);if(KEY13 == 1){MUSIC = 2;}} if(KEY12 == 1){delay1ms(20);if(KEY12 == 1){MUSIC = 1;}} if(KEY11 == 1){delay1ms(20);if(KEY11 == 1){MUSIC = 0;}}//1 if(MUSIC != 0xff){ //如果有音阶数值(非0XFF时) STH0=tab[MUSIC]/256; //将音阶的频率值装入定时器T0 STL0=tab[MUSIC]%256; TR0=1; //启动定时器 MUSIC = 0xff; //清除寄存器 }else{ //否则 SPEAKER = 1; //关扬声器 LED = 1; TR0=0; //关定时器 } } } /***************************************************************************************/ void t0(void) interrupt 1 using 0{//定时器0产生音频 TH0=STH0; TL0=STL0; SPEAKER=~SPEAKER; //取反频率产生音调 LED = SPEAKER; //LED同频闪烁 }/***************************************************************************************//************************************************************** 杜洋工作室 /*************************************************************/。

4.单片机 简易电子琴的设计

KEYBUF EQU 30H STH0 EQU 31H STL0 EQU 32H TEMP EQU 33H ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV TMOD,#01H SETB ET0 SETB EA WAIT: MOV P2,#0FFH CLR P2.4 MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A DPTR MOV STL0,A MOV TL0,A SETB TR0 DK1A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK1A CLR TR0 NOKEY1: MOV P2,#0FFH CLR P2.5 MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2 NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2 NK7: CJNE A,#07H,NK8 MOV KEYBUF,#7 LJMP DK2 NK8: NOP DK2: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A DPTR MOV STL0,A MOV TL0,A SETB TR0 DK2A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK2A CLR TR0 NOKEY2: MOV P2,#0FFH CLR P2.6 MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3 NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3 NK10: CJNE A,#0BH,NK11 MOV KEYBUF,#10 LJMP DK3 NK11: CJNE A,#07H,NK12 MOV KEYBUF,#11 LJMP DK3 NK12: NOP DK3: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A DPTR MOV STL0,A MOV TL0,A SETB TR0 DK3A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK3A CLR TR0 NOKEY3: MOV P2,#0FFH CLR P2.7 MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4 NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4 NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4 NK15: CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4 NK16: NOP DK4: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A DPTR MOV STL0,A MOV TL0,A SETB TR0 DK4A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK4A CLR TR0 NOKEY4: LJMP WAIT DELY10MS: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET INT_T0: MOV TH0,STH0 MOV TL0,STL0 CPL P1.0 RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H TABLE1: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 END。

5.单片机 简易电子琴的设计

汇编源程序 KEYBUF EQU 30H STH0 EQU 31H STL0 EQU 32H TEMP EQU 33H ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV TMOD,#01H SETB ET0 SETB EA WAIT:MOV P3,#0FFH CLR P3.4 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK1A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK1A CLR TR0 NOKEY1:MOV P3,#0FFH CLR P3.5 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2 NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2 NK7: CJNE A,#07H,NK8 MOV KEYBUF,#7 LJMP DK2 NK8: NOP DK2:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK2A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK2A CLR TR0 NOKEY2:MOV P3,#0FFH CLR P3.6 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3 NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3 NK10: CJNE A,#0BH,NK11 MOV KEYBUF,#10 LJMP DK3 NK11: CJNE A,#07H,NK12 MOV KEYBUF,#11 LJMP DK3 NK12: NOP DK3:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK3A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK3A CLR TR0 NOKEY3:MOV P3,#0FFH CLR P3.7 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4 NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4 NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4 NK15: CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4 NK16: NOP DK4:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK4A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK4A CLR TR0 NOKEY4:LJMP WAIT DELY10MS:MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET INT_T0:MOV TH0,STH0 MOV TL0,STL0 CPL P1.0 RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H TABLE1: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 END7. C语言源程序#include unsigned char code table[]={0x3f,0x06,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; 。

于单片机控制-电子琴毕业论文

转载请注明出处众文网 » 于单片机控制-电子琴毕业论文(关于用单片机控制音乐的论文)

资讯

毕业论文手册完成情况(论文工作完成情况怎么写)

阅读(66)

本文主要为您介绍毕业论文手册完成情况,内容包括论文工作完成情况怎么写,论文进展情况怎么写,毕业设计论文任务完成情况怎么写。迪西欧论文网是一个为需求者服务的网站,致力于收集整理会议论文、毕业论文、应用文等,同时也为需求者搭建交流和

资讯

声控灯毕业论文设计(求声控灯的设计论文及其资料)

阅读(74)

本文主要为您介绍声控灯毕业论文设计,内容包括求声控灯的设计论文及其资料,求一篇毕业论文:有关于声控灯的,要带原理图,求助—声控灯的论文。采纳后给你一个账号:声控灯的制作第四节声控灯的制作目的通过声控灯的制作,提高学习电路知识的兴趣,

资讯

工程造价毕业论文10000字(求一篇10000字,关于建筑工程的论文)

阅读(75)

本文主要为您介绍工程造价毕业论文10000字,内容包括工程造价的毕业论文怎么写,一万字,求一篇10000字,关于建筑工程的论文,求一篇工程造价毕业论文字数50008000就好了。建筑施工图预算的编制 建筑工程预算的编制是一项艰苦细致的工作,它需

资讯

本科医疗毕业论文(求一篇医学毕业论文6000字,)

阅读(67)

本文主要为您介绍本科医疗毕业论文,内容包括求一篇医学毕业论文6000字,,医学生的毕业论文该怎么写,医学毕业论文怎样写。1 诊疗模式和主体诊疗模式 所谓诊疗模式,是对一种医学在诊断和治疗中主导思想的高度概括,是用精炼的语言对该医学临床思

资讯

毕业论文必须目录吗(论文一定要有目录吗)

阅读(126)

本文主要为您介绍毕业论文必须目录吗,内容包括论文一定要有目录吗,毕业论文需要列目录吗,毕业论文可以不设目录吗。论文一定要有目录,目录是论文中主要段落的简表。论文由题名、作者、摘要、关键词、正文、参考文献和附录等部分组成,其中部分

资讯

口译方向毕业论文(英语专业翻译方向毕业论文如何选题)

阅读(87)

本文主要为您介绍口译方向毕业论文,内容包括英语专业翻译方向毕业论文如何选题,英语专业毕业论文题目,翻译方向,求英语专业翻译方向的毕业论文题目。英语专业翻译方向毕业论文选题参考:地方名胜古迹汉译英探析语境在翻译中的作用商标的翻译

资讯

毕业论文手册完成情况(论文工作完成情况怎么写)

阅读(66)

本文主要为您介绍毕业论文手册完成情况,内容包括论文工作完成情况怎么写,论文进展情况怎么写,毕业设计论文任务完成情况怎么写。迪西欧论文网是一个为需求者服务的网站,致力于收集整理会议论文、毕业论文、应用文等,同时也为需求者搭建交流和

资讯

声控灯毕业论文设计(求声控灯的设计论文及其资料)

阅读(74)

本文主要为您介绍声控灯毕业论文设计,内容包括求声控灯的设计论文及其资料,求一篇毕业论文:有关于声控灯的,要带原理图,求助—声控灯的论文。采纳后给你一个账号:声控灯的制作第四节声控灯的制作目的通过声控灯的制作,提高学习电路知识的兴趣,

资讯

工程造价毕业论文10000字(求一篇10000字,关于建筑工程的论文)

阅读(75)

本文主要为您介绍工程造价毕业论文10000字,内容包括工程造价的毕业论文怎么写,一万字,求一篇10000字,关于建筑工程的论文,求一篇工程造价毕业论文字数50008000就好了。建筑施工图预算的编制 建筑工程预算的编制是一项艰苦细致的工作,它需

资讯

毕业论文叫别人写(硕士毕业论文怎么写都是别人写过的)

阅读(73)

本文主要为您介绍毕业论文叫别人写,内容包括如果一个人大学毕业连论文都要别人写,是不是代表他大学白读了,大学毕业论文可以叫别人写吗,大学毕业论文可以叫别人写吗。看个人的时间分配与能力,有部分人能在找工作等状态下完成毕业论文,也有一