单片机简易电子琴课程设计.docx

上传人:牧羊曲112 文档编号:3346691 上传时间:2023-03-12 格式:DOCX 页数:9 大小:39.15KB
返回 下载 相关 举报
单片机简易电子琴课程设计.docx_第1页
第1页 / 共9页
单片机简易电子琴课程设计.docx_第2页
第2页 / 共9页
单片机简易电子琴课程设计.docx_第3页
第3页 / 共9页
单片机简易电子琴课程设计.docx_第4页
第4页 / 共9页
单片机简易电子琴课程设计.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机简易电子琴课程设计.docx》由会员分享,可在线阅读,更多相关《单片机简易电子琴课程设计.docx(9页珍藏版)》请在三一办公上搜索。

1、单片机简易电子琴课程设计哈尔滨理工大学 单片机原理及接口技术 课程设计报告 设计题目: 简易电子琴实验专 业: 电机与电器 班 级: 电机10-3 姓 名: 朱明海 学 号: 1030350312 简易电子琴实验 一、课程设计目的与要求 1、掌握蜂鸣器的使用方法; 2、掌握蜂鸣器的不同发音的方法; 3、通过本次课程设计加深对单片机课程的认识和掌握,对单片机的应用做进一步了解。 二、课程设计设备 STAR序列试验仪一套、PC机一台 三、课程设计内容 1、简易电子琴原理 蜂鸣器输入不同频率的方波,会发出不同的声音; 通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。 2、课程设计过程

2、通过单片机,是G6区的1-7号键由低到高发出1-7的音阶。 四、课程设计原理图 Vcc8550Q6R2R1P1.7Ctrl2K5.1KC400.01uFR11100P1.0LS1P1.1P1.2P1.3P1.4BuzzerP1.5P1.61234567五、课程设计框图 主程序: 开始 0FFH-P1 播放一段音乐 P1.0=0 N P1.1=0 N P1.2=0 N P1.3=0 N P1.4=0 N P1.5=0 N P1.6=0 Y Y Y Y Y Y Y 调用节拍1子程序 调用节拍2子程序 调用节拍3子程序 调用节拍4子程序 调用节拍5子程序 调用节拍6子程序 调用节拍7子程序 节拍1子

3、程序 节拍2子程序 开始 0-P1.7 延时200us 1-P1.7 延时200us 开始 0-P1.7 延时180us 1-P1.7 延时190us 返回 返回 节拍3子程序 节拍4子程序 开始 0-P1.7 延时180us 1-P1.7 延时170us 开始 0-P1.7 延时160us 1-P1.7 延时160us 返回 返回 节拍5子程序 开始 0-P1.7 延时150us 1-P1.7 延时150us 返回 节拍7子程序 开始 0-P1.7 延时130us 1-P1.7 延时130us 返回 节拍2子程序 开始 1150-计数器 0-P1.7 延时190us 计数器-1 1-P1.7

4、 延时190us N 计数器-1=0 Y 返回 节拍6子程序 开始 0-P1.7 延时140us 1-P1.7 延时140us 返回 节拍1子程序开始 1100-计数器 0-P1.7 延时220us 计数器-1 1-P1.7 延时210us N 计数器-1=0 Y 返回 节拍3子程序开始 1200-计数器 0-P1.7 延时185us 计数器-1 1-P1.7 延时180us N 计数器-1=0 Y 返回 节拍4子程序 节拍5子程序 开始 1250-计数器 0-P1.7 延时180us 计数器-1 1-P1.7 延时180us N N 开始 1300-计数器 0-P1.7 延时170us 计数

5、器-1 1-P1.7 延时170us 计数器-1=0 Y 返回 计数器-1=0 Y 返回 节拍6子程序 节拍7子程序 开始 1350-计数器 0-P1.7 延时160us 计数器-1 1-P1.7 延时160us N N 计数器-1=0 Y 返回 计数器-1=0 Y 开始 1420-计数器 0-P1.7 延时150us 计数器-1 1-P1.7 延时150us 返回 六、课程设计步骤 1、主机连线说明 D1区:Ctrl G6区:JP74 A3区:P1.7 A3区:JP51(P1口) 2、运行程序,按G6区的1-7号键,输出7种音阶。 3、使用G6区的1-7号键,自弹一首歌曲。 七、课程设计演示

6、程序 K1 BIT P1.0 ;按键1 K2 BIT P1.1 ;按键2 K3 BIT P1.2 ;按键3 K4 BIT P1.3 ;按键4 K5 BIT P1.4 ;按键5 K6 BIT P1.5 ;按键6 K7 BIT P1.6 ;按键7 Buzzer BIT P1.7 ;蜂鸣器 M1 EQU 17 M2 EQU 16 M3 EQU 15 M4 EQU 14 M5 EQU 13 M6 EQU 12 M7 EQU 11 ORG 0000H LJMP START ORG 0100H START: MOV SP,#60H MAIN: MOV P1,#0FFH ;P1口初始化 LCALL Demo

7、 ;播放一段演示音乐 MAIN_1: JB K1,MAIN_2 ;判断1号键是否按下,否则检测2号键 LCALL Sound1 ;发音子程序 MAIN_2: JB K2,MAIN_3 ;判断2号键是否按下,否则检测3号键 LCALL Sound2 ;发音子程序 MAIN_3: JB K3,MAIN_4 ;判断2号键是否按下,否则检测4号键 LCALL Sound3 ;发音子程序 MAIN_4: JB K4,MAIN_5 ;判断4号键是否按下,否则检测5号键 LCALL Sound4 ;发音子程序 MAIN_5: JB K5,MAIN_6 ;判断5号键是否按下,否则检测6号键 LCALL Sou

8、nd5 ;发音子程序 MAIN_6: JB K6,MAIN_7 ;判断6号键是否按下,否则检测7号键 LCALL Sound6 ;发音子程序 MAIN_7: JB K7,MAIN_73 ;判断7号键是否按下,否则跳回检测1号键 LCALL Sound7 ;发音子程序 MAIN_73: SJMP MAIN_1 ;返回从1号键开始扫描 ;播放演示音乐 Demo: MOV DPTR,#Music Demo_1: CLR A MOVC A,A+DPTR INC DPTR JZ Demo_Ret LCALL SoundMCU ;放音子程序 JMP Demo_1 Demo_Ret: RET ;乐曲:),0

9、-结果标志 Music: DB M1,M2,M3,M4,M5,M6,M7,M7,M7,M6,M5,M4,M3,M2,M1 DB M1,M2,M1,M2,M3,M2,M3,M4,M3,M4,M5,M4,M5,M6,M5 DB M6,M7,M6,M7,M7,M6,M6,M6,0 ;程序控制发音 SoundMCU: MOV R5,#40H ;控制放音时间 MOV R7,A ACALL Time MOV R6,A SoundMCU_0: PUSH 06H SoundMCU_1: ACALL MusicalScale DJNZ R6,SoundMCU_1 POP 06H DJNZ R5,SoundMCU

10、_0 RET ;计算时长 Time: MOV B,#0FFH XCH A,B DIV AB XCH A,B CJNE A,#8,$+3 JC Time_1 INC B Time_1: XCH A,B RET MusicalScale: MOV A,R7 MusicalScale1: CLR Buzzer ;1号键发音 LCALL Delay ;延时 DJNZ ACC,MusicalScale1 MOV A,R7 MusicalScale2: SETB Buzzer LCALL Delay ;延时 DJNZ ACC,MusicalScale2 RET ;1号键发音 Sound1: MOV R7,

11、#M1 ;发音频率,越大频率越低 Sound1_1: ACALL MusicalScale JNB K1,Sound1_1 RET ;2号键发音 Sound2: MOV R7,#M2 Sound2_1: ACALL MusicalScale JNB K2,Sound2_1 RET ;3号键发音 Sound3: MOV R7,#M3 Sound3_1: ACALL MusicalScale JNB K3,Sound3_1 RET ;4号键发音 Sound4: MOV R7,#M4 Sound4_1: ACALL MusicalScale JNB K4,Sound4_1 RET ;5号键发音 So

12、und5: MOV R7,#M5 Sound5_1: ACALL MusicalScale JNB K5,Sound5_1 RET ;6号键发音 Sound6: MOV R7,#M6 Sound6_1: ACALL MusicalScale JNB K6,Sound6_1 RET ;7号键发音 Sound7: MOV R7,#M7 Sound7_1: ACALL MusicalScale JNB K7,Sound7_1 RET ;延时 Delay: NOP RET END ;发音频率,越大频率越低 ;发音频率,越大频率越低 八、课程设计心得体会与总结 通过简易电子琴的课程设计,我不仅加深了对单

13、片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。 在这次设计过程中,能发现做事情需要综合运用知识的,要体会到学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。理论结合实际,思想依靠操作。我们学习的理论知识需要加以运用到实际才算学成。 这次课程设计的顺利完成,不仅是同学的帮助更有老师的指点,我进行课程设计中遇到的一些问题,在老师的辛勤帮助下,都慢慢解决了。感谢老师和同学们的帮助支持是我能完整的进行完此次课程设计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号