1、基于单片机的电子琴制作课程设计 一、设计指标 a) 设计一个(44)的键盘,并将 16 个键设计成 16 个音; b) 可弹奏想要表达的音乐; c) 该电子琴包含 1 首示例音乐,接通电源可播放示例音乐。 二、设计所用实验仪器和设备:单片机芯片、晶体振荡器一个、电容电阻若干 独立开关十六个。 三、设计原理 乐音实际上是有固定周期的信号。 我用 AT89C51 的一个定时器 (如 T1) 控制,在 P3 4 脚上输出方波周期信号,产生乐音。 根据不同的按键,调节 T1 的溢出时间,可输出不同频 率的乐音,这样就做出了一台微型电子琴。其中根据行列式非编码键盘工作原理设计一 个(4*4)的键盘,当按
2、键按下经过软件的扫描电路进行扫描扫到对应的按键根据对应 的负值将频率所对应的负值放进对应寄存器警醒单片机 p3.4 引脚的频率控制输出,从 而使不同按键按下中断得到不同频率的音乐。 每个乐音的音高 (频率) 是固定的,表 1 列出了一个 8 度以及其上下共 16 个音的音 名、频率及定时器 T1 初值对照(设晶体频率为 6MHz)。 四、输出音节与单片机定时器输出频率关系表格如下: 序号音名 频率(HZ) TH1 TL1 1 7 493.9 FEH 06H 2 1 523.26 FEH 22H 3 554.37 FEH 3DH 4 2 587.34 FEH 56H 5 622.26 FEH 6
3、EH 6 3 659.27 FEH 85H 7 4 698.17 FEH 9AH 8 740.00 FEH AEH 9 5 784.00 FEH C1H 10 830.62 FEH D3H 11 6 880.01 FEH E4H 12 932.34 FEH F4H 13 7 987.78 FFH 03H 14 1 1046.51 FFH 11H 15 1108.75 FFH 1FH 16 2 1174.68 FFH 2BH 2 硬件电路设计 微型电子琴的电原理图见图 1,其中键盘可使用小按键,排成钢琴键盘状(键多时可分为几排), 图中还增加了一只按键指示灯(D1)。 图 1 3 软件设计 软件
4、由初始化程序、主程序、定时器 1 中断服务程序、键盘扫描程序和延时程序组成。 (1)初始化程序如下: TMR1L EQU 30H TMR1H EQU 31H ORG 0000H SJMP MAIN ORG 001BH AJMP TMR1 ORG 0040H MAIN: MOV TMOD,#10H ;T1 方式 1,软件 CONTROL BEGIN: MOV TCON,#00H ;关闭 T1 MOV IE,#88H ;开 T1 中断 MOV IP,#08H ;T1 优先 CLR P3.1 ;关扬声器 CLR P3.2 ;点亮灯 ACALL DELAY ;延时 主程序框图 主程序 MAIN PROGRAM START:ACALL DELAY ;延时 ACALL KEYSCA ;调用键盘扫描子程序 CJNE R4,#00H,PLAYKEY ;判断有无按键按下 CLR TR1 ;没有键按下关闭 T1 SETB P3.2 ;无键按下熄灭指示灯 SJMPSTART