题目: 简易电子琴设计
学院:计算机与通信工程学院
专业。学号。
姓名。指导教师: 韩雪琴。
课程设计报告。
简易电子琴设计。
1、 设计任务与要求。
利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出8个不同的音调,而且要求按键按下时发声,松开延时一段时间停止,中间再按别的键则发另外一音调的声音。
当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。
发出后按的键的音调。
二、设计方案。
1、控制模块。
本次设计中中心控制模块是采用at89c51单片机来控制整个系统。p1口连接按键控制电路,p2口接led指示灯,p3.4连接放大电路、喇叭,从而实现****的功能。
xtal1和xtal2引脚连接晶振电路与芯片组成的最小系统。
2、按键控制模块。
电子琴设有8个按键,其中7个作为音符输入,另外一个作为用户存放的歌曲。7个按键分别代表7个音符,包括中音段的全部音符,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序入口,实现自编歌曲的。
3、**模块。
**模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且**低廉,所以,被广泛应用。
系统软件流程图。
三、**弹奏原理。
一首**是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的**了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 若要产生音频脉冲,只要算出某一音频的周期(1/频率)。利用定时器计时半周期时间,每当计时终止后就将p3.
4反相,然后重复计时再反相。就可在p3.4引脚上得到此频率的脉冲。
利用at89c51的内部定时器使其工作计数器模式(mode1)下,改变计数值th0及tl0以产生不同频率的方法产生不同音阶,计数脉冲值与频率的关系式是: n=fi÷2÷fr
式中,n是计数值;fi是机器频率(晶体振荡器为12mhz时,其频率为1mhz);fr是想要产生的频率。
例如,中音do频率为523hz,则其周期t=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将i/o反相,就可得到中音do。
**弹奏设计:
发音电路有三极管、电阻和扬声器组成,接在p3.4口,通过定时器溢出的时间不同,p3.4口输出不同频率的高低电平,p3.
4输出的脉冲频率不同,三极管导通的频率也不同,从而扬声器根据不同频率的脉冲发出的声音也不相同。如下附录所示。
四、总结。通过这次课程设计,我感觉收获了很多:首先,通过实践,加深对单片机系列知识及其系统的认识。
这个设计题目并不是新的,但从中能体现到一个系统开发设计的过程,足于让我受益。第二,通过设计复习到了软件的使用:用到了proteus进行硬件设计,用keil4进行程编译。
而且还要感谢同学的帮助,在自己困难时大家一起讨论,让我更加理解了程序。而且本设计还可以扩展其他功能,比如可以做得更加娱乐一点,增加一些彩灯使彩灯随着音调变化而产生不同的样式等。
软件调试 软件调试采用proteus软件,将编好的程序进行调试, proteus的**图如下所示。
附录:源程序。
org 0000h
sjmp m1
org 000bh
mov th0,r1
mov tl0,r0
cpl p3.4
reti m0:mov r5,#00h
m1: 判断按键。
clr amov c,p1.0
mov acc.0,c
jz domov c,p1.1
mov acc.0,c
jz rai
mov c,p1.2
mov acc.0,c
jz mi
mov c,p1.3
mov acc.0,c
jz fa
mov c,p1.4
mov acc.0,c
jz so
mov c,p1.5
mov acc.0,c
jz la
mov c,p1.6
mov acc.0,c
jz xi
mov c,p1.7
mov acc.0,c
jz m3ljmp m1
---设置各音节初值
do:mov r1,#0fch
mov r0,#43h
mov r2,#08h
clr p2.0
ljmp next
rai:mov r1,#0fch
mov r0,#0abh
mov r2,#08h
clr p2.1
ljmp next
mi:mov r1,#0fdh
mov r0,#08h
mov r2,#08h
clr p2.2
ljmp next
fa:mov r1,#0fdh
mov r0,#33h
mov r2,#08h
clr p2.3
ljmp next
so:mov r1,#0fdh
mov r0,#81h
mov r2,#08h
clr p2.4
ljmp next
la:mov r1,#0fdh
mov r0,#0c7h
mov r2,#08h
clr p2.5
ljmp next
xi:mov r1,#0feh
mov r0,#05h
mov r2,#08h
clr p2.6
ljmp next
;设置定时器工作方式并开定时。
next:clr a
mov tmod,#01h
mov ie,#82h
mov th0,r1
mov tl0,r0
setb tr0
loop: lcall d200c
djnz r2,loop
clr tr0
mov a,#0ffh
mov p2,a
ljmp m1
**** m3:mov dptr,#mu
loop1: cpl p2.7
clr a
movc a,@a+dptr
mov r1,a
inc dptr
clr a
movc a,@a+dptr
mov r0,a
orl a,r1 ;判断**是否结束。
jz next0
mov a,r0
anl a,r1
cjne a,#0ffh,next3 ;休止符。
clr tr0
mov r2,04h
lcall d200c
inc dptr
ljmp loop1
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...