全球旧事资料 分类
课程设计报告简易电子琴的设计与仿真
1、设计原理:
11音阶的产生由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T2165105相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:音符中1DO中2RE中3M中4FA中5SO中6LA中7SI频率(HZ)523587659698784880988简谱码(T值)64580646846477764820648986496865030
f12
实验环境
KeiluVisio
3proteus713功能设计描述
按k1k7音调输出按一下k8。在按k1k7音频逆向输出先按着k8再k1键后会在音频输出歌曲,k1键停止
14
主要知识点KeiluVisio
3的使用及调试proteus7的使用及调试定时器、中断、键盘接口数字电路、模拟电路的相关知识
2、实现及编程
21程序框图)
f开始
TO初始化并开中断允放TO中断
按键按下是否成功
识别按键功能
如果是17键则发出音调
如果是第八键
Y接着按k1k7发出逆向的音调是否检测到k2
NK8是放开
T1初始化并开中断让T1中断开始播放歌曲
如果检测到K1键按下则停止播放歌曲
22电路原理图
f23程序内容7个音调的产生方法按k2让音调逆向输出如何按k8k2放出音乐和如何让音乐停止24汇编源程序BUZZEQUP2BUZZ1EQUP17ORG0000HLJMPMAINORG000BHLJMPINT_T0ORG001BH
LJMPTIME1ORG8000HMAINMOVSP90HMOVBUZZ0FFH
fMOVTMOD11HSETBET0SETBET1SETBEACLRTR0STARTMOVR0BUZZCJNER00FFHKEY1CLRTR0SJMPSTARTKEY1CJNER00FEHKEY2MOV30H0FBHMOV31H0E9HLJMPSET_TIMERKEY2CJNER00FDHKEY3MOV30H0FCHMOV31H5CHLJMPSET_TIMERKEY3CJNER00FBHKEY4
MOV30H0FCHMOV31H0C1HLJMPSET_TIMERKEY4CJNER00F7HKEY5MOV30H0FCHMOV31H0EFHLJMPSET_TIMERKEY5CJNER00EFHKEY6MOV30H0FDHMOV31H045HLJMPSET_TIMERKEY6CJNER00DFHKEY7MOV30H0FDHMOV31H92HLJMPSET_TIMERKEY7CJNER00BFHKEY8MOV30H0FDHMOV31H0D6H
fLJMPSET_TIMERKEY8CJNER07FHNOKEYLOOP1MOVR0BUZZCJNER07DHLOOPLJMPMAIN1LOOPR00FFHLOOP1CJNEOSTARTMOVR0BUZZCJNER00FFHOKEY1CLRTR0SJMPOSTARTOKEY1CJNER00BFHOKEY2LJMPOSTARTMOV30H0FBHMOV31H0E9HSET_TIMERSETBTR0SJMPSTARTNOKEYCLRTR0SJMPSTARTINT_T0MOVTH030HMOVTr
好听全球资料 返回顶部