单片机课程设计报告电子琴.docx

上传人:1564****418 文档编号:96667984 上传时间:2024-02-25 格式:DOCX 页数:28 大小:512.24KB
返回 下载 相关 举报
单片机课程设计报告电子琴.docx_第1页
第1页 / 共28页
单片机课程设计报告电子琴.docx_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《单片机课程设计报告电子琴.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告电子琴.docx(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-.XX 工业大学课程设计说明书课程设计名称 单片机原理课程设计40346581专业电气工程及其自动化班级学生姓 名指导教 师2023 年 1 月 7 日-总结资料课程设计任务书课程设计题目:电子琴起止日期:2023.1 .7-2023.1.11设计地点:单片机原理试验室设计任务及日程安排:着重提高学生在单片机应用方面的实践技能,树立严谨的科学作风,培育学生综合运用理论学问解决实际问题的力量。学生通过单片机和硬件和软件设计、安装、调试、整理资料等环节,初步把握工程设计方法和组织实践的根本技能,逐步生疏开展科学实践的程序和方法。设计要求:1依据应用系统的要求,初步把握总体构造设计的方法和构思,从

2、中选择一种最正确设计方案; 2依据应用系统构造规模的要求,把握单片机外部扩大系统硬件设计的根本过程; 3依据任务要求和硬件设计要求,首先画出程序的总体流程图,然后进展各掌握模块的程序设计; 4把握如何应用单片机仿真器来开发应用系统及仿真调试的过程。参考资料:1. 单片机原理及应用 X 毅刚等编,高等教育,2023 年 1 月。2. 单片机原理课程设计试验指导书,林志奇,校内印刷,2023 年 12 月。日程安排:202317 上午发动/布置任务/分组/查资料。202317 下午202319进展理论设计和形成设计报告。20231102023110进展试验和完成试验报告。2023111分组进展考核

3、。设计报告的总体要求:每人独立完成设计内容,并提交一份课程设计报告。报告内容包括:设计题目/设计要求/设计方案/硬件电路/软件流程图/程序/工作原理阐述/系统性能分析和心得体会等。考核方法:1出勤 20%;2试验结果 30%;3报告 20%;4辩论 30%。1 设计内容:电子琴2 任务及要求:设计一个 51 单片机系统,实现简易电子琴操作的电路。要求:1. 设计 51 单片机最小系统;2. 设置至少 10 个按键,能发出 do re mi fa sol la si do; 能播放示 X 曲;3. 能够调整低音、高音和中音。3 总体设计方案:1定时/计数器的设计和状态字定义:假设要产生音频脉冲,

4、只要算出某一音频的周期1/频率,再将此周期除以 2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将 P1.0 反相,然后重复计时再反相。就可在 P1.0 引脚上得到此频率的脉冲。利用 AT89C51 的内部定时器使其工作计数器模式MODE1下,转变计数值 TH0 及 TL0 以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周期 T1/5231912s, 因此只要令计数器计时 956s/1s956,每计数 956 次时将 I/O 反相,就可得到中音 DO523Hz。计数脉冲值与频率的关系式是:Nfi2fr,式中,N 是计数值;fi 是机器频率晶体振荡器为12MHz

5、时,其频率为 1MHz;fr 是想要产生的频率。其计数初值 T 的求法如下:T65536N65536fi2fr例如:设 K65536,fi1MHz,求中音 DO261Hz。T65536N65536fi2fr6553610000002fr65536500000/fr,中音 DO 的T65536500000/52364580。单片机 12MHZ 晶振,中音符与计数 T0 相关的计数值如表所示:音符频率HZ简谱码T 值音符频率HZ简谱码T 值低 1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低 2RE29463835# 5 SO#83164

6、934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#554646

7、33高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283承受查表程序进展查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音 019 之间,中音在 2039 之间,高音在 4059 之间,用单片机播放音乐,或者弹奏电子琴,实际上是依据特定的频率,输出一连串的方波。为了输出适宜的方波,首先应当知道音符与频率的关系。 2音名主要分成低音、中音和高音三个区域,每个区

8、域都有 12 个琴键。其中的白键, 简谱音符标为 1、2、3、4、5、6、7,大家一般都读成哆、来、咪、发、嗦、拉、西。按键1234567音符1234567频率值52466069878488098810483音调数据表单片机发出不同频率的方波,人听起来,就是不同的音调。上表中的频率数值,有些过多,去掉不常用的黑键频率,只是把白键对应的数据存放在单片机中,即可满足绝大局部的应用需求。定义音调数据表的程序如下:DW 63628,63835,64021,64103,64260,64400,64524 ;64580,低音区:1 2 3 4 5 6 7DW 64580,64671,64777,64820

9、,64898,64968,6503065058中音区:1 2 3 4 5 6 7DW 65058,65110,65157,65178,65217,65252,6528365312高音区:1 2 3 4 5 6 7把这个数据表,放在程序中,需要播音的时候,就从表中取出一个数据送到定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即可听到上表中频率的声音。音乐的音拍,一个节拍为单位C 调曲调值DELAY曲调值DELAY调 4/4125ms调 4/462ms调 3/4187ms调 3/494ms调 2/4250ms调 2/4125ms4、系统硬件设计:1) 晶振局部本次承受 12M

10、HZ 晶振,机器周期为 1us,连接两个 30pF 的电容,连接到 的 XATL1,上面,连接电路图如下:-.2) 音频输出本次只是简洁的使用一个蜂鸣器连接到AT89C51的p1.0口上3) 高、中、低及音乐播放键:检测高中低是否按下,来跳转到音阶键上输出不同频率的音阶音,检测播放是否按下,跳转到示X曲目播放4AT89C51AT89C51 是一种带 4K 字节闪耀可编程可擦除只读存储器 FPEROMFalsh Programmable and Erasable Read Only Memory 的低电压,高性能 CMOS8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪耀可

11、编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件承受 ATMEL-总结资料高且价廉的方案。高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能8 位CPU 和闪耀存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微掌握器,。AT89C 单片机为很多嵌入式掌握系统供给了一种敏捷性1主要特性:与 MCS-51 兼容4K 字节可编程闪耀存储器寿命:1000 写/擦循环数据保存时间:10 年全静态工作:0Hz-24Hz三级程序存储器锁定128*8 位内部 RAM32 可编程 I/O 线两个 16 位定时器/

12、计数器5 个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路5音阶键局部6设计电路总体图样5、 系统软件设计:1音阶键识别-.开头P1口低4位为0YP1口高四位是否为1?N延时去抖动YP1口高四位是否为1?N设置行扫描初值扫描从P1口输出读P1口高位Y该行有键按下即P1 口高位是否全为1形成下一按扫描码N到最终一行?键码输出-总结资料-.开头N是否有按键按下Y是 do re mi fa sol la si do?do re mi fa sol la si TR0 置1 TR1 置 0 执行T0 中断YUPDOWN键按下?相应的数值n 加减NY示X 音按下?Esm=1?Esm 置

13、1 TR1 置 1Esm 置 0 TR1 置 0N检测是high ave low 键按下YN将相应的freq 附值相应的灯亮YNTR0 置 0Esm=1?节拍延时Y-总结资料-.NNY返回6、程序清单: KEYBUF EQU 30HSTH0 EQU 31H STL0 EQU 32H DELY EQU 33H NUM EQU 34H ORG 0000HAJMP MAIN;跳转到主函数ORG 000BHLJMP INT_T0 ;音乐输出口ORG 0040HMAIN: MOV TMOD,#01H;写出计时器掌握字,T0 方式计时SETB EA;开中断总开关SETB ET0;允许 T0 中断-总结资料

14、MOV NUM,#01H;;num 置 1MOV R1,#00HTEST:;低音检测ANL TH0,#00H;高位清零ANL TL0,#00H;低位清零MOV A,P2;P2 进入CJNE A,#0FEH,TEST1 ;检测 P2.0 口低音键是否按下MOV DPTR,#TABLE1;低音键按下,进入低音表地址TEST1:AJMP WAIT;跳转到音阶检测;中音检测CJNE A,#0FDH,TEST2 ;检测 P2.0 中音键是否按下MOV DPTR,#TABLE2;中音键按下,进入中音表地址AJMP WAITTEST2:;高音检测CJNE A,#0FBH,TEST3;检测 P2.0 口高音键

15、是否按下MOV DPTR,#TABLE3;高音键按下,进入高音表地址AJMP WAITTEST3:;音乐播放检测CJNE A,#0F7H,TEST4;检测音乐播放键是否按下 假设有按下则转至 EXITLCALL DELAY10MS MOV A,P2;软件延时消抖CJNE A,#0F7H,TEST4;检测播放键是否再次按下MOV A,NUMCJNE A,#01H,EXIT MOV NUM,#00H;检测凹凸中是否再次按下MOV DPTR,#TABLE4;进入音乐播放表AJMP WAIT1;跳转至音乐播放入口EXIT:CLR TR0MOV R1,#00H MOV NUM,#01HTEST4:MOV

16、 A,NUM CJNE A,#01H,WAIT2 LJMP TESTWAIT2:LJMP WAIT1WAIT:CLR TR0 MOV NUM,#01HSCAN1: MOV P3,#0F0H CLR TR0MOV A,P3; ANL A,#0F0HCJNE A,#0F0H,TEE1 AJMP TEST;计数器停顿,音乐播放完毕;清零;跳转至 TEST 重检测;跳转至音乐播放入口;音阶按键检测程序入口;跳转至 TEST 重检测TEE1:LCALL DELAY10MS;软件延时消抖CJNE A,#0F0H,TEE2AJMP TESTTEE2:MOV A,#0FEH SCAN2: MOV P3,AMO

17、V A,P3 MOV B,A ANL A,#0F0HCJNE A,#0F0H,CARRY MOV A,BRL ACJNE A,#0BFH,SCAN2 LJMP SCAN1CARRY:ANL B,#0FH ORL A,BCJNE A,#0EEH,KEY1 MOV KEYBUF,#00H LJMP WAIKEY1:CJNE A,#0EDH,KEY2 MOV KEYBUF,#02H LJMP WAI;键值处理;检测音符键 1 是否按下;赐予键值;调至按键处理程序;检测音符键 2 是否按下;赐予键值;调至按键处理程序KEY2:CJNE A,#0EBH,KEY3;检测音符键 3 是否按下MOV KEYB

18、UF,#04H LJMP WAI;赐予键值;调至按键处理程序KEY3:CJNE A,#0E7H,KEY4;检测音符键 4 是否按下MOV KEYBUF,#06H;赐予键值LJMP WAIKEY4:CJNE A,#0DEH,KEY5 MOV KEYBUF,#08H LJMP WAIKEY5:CJNE A,#0DDH,KEY6 MOV KEYBUF,#0AH LJMP WAIKEY6:CJNE A,#0DBH,KEY7 MOV KEYBUF,#0CHLJMP WAIKEY7:CJNE A,#0D7H,SCAN1 MOV KEYBUF,#0EHLJMP WAIWAI:MOV A,KEYBUF MOV

19、C A,A+DPTR MOV STH0 , A;调至按键处理程序;检测音符键 5 是否按下;赐予键值;调至按键处理程序;检测音符键 5 是否按下;赐予键值;调至按键处理程序;检测音符键 6 是否按下;赐予键值;调至按键处理程序;赐予键值;调至按键处理程序;按键处理程序入口INC KEYBUF MOV A,KEYBUFMOVC A,A+DPTR MOV STL0, A MOV TH0,STH0 MOV TL0,STL0 SETB TR0LCALL DELAY100MS LJMP SCAN1WAIT1:CJNE R1,#00H,LOOP LOOP:MOV A,R1MOVC A,A+DPTR MOV

20、 STH0,AINC R1 MOV A,R1MOVC A,A+DPTR CJNE A,#0FEH,NEXT1 MOV R1,#00HLJMP LOOP;播放音乐程序入口NEXT1:MOV STL0,A INC R1MOV A,R1 MOVC A,A+DPTR MOV DELY,A MOV TH0,STH0 MOV TL0,STL0 SETB TR0NEXT2: LJMP DELAY187MS;节拍延时掌握NEXT3:DJNZ DELY,NEXT2INC R1 LJMP TESTNOKEY:LJMP TEST;重检测DELAY10MS: MOV R6,#10;10ms 延时D1:MOV R7,#

21、248DJNZ R7,$ DJNZ R6,D1RET;子程序返回DELAY100MS: MOV R5,#06EH;100ms 延时DL0:MOV R4,#0CFH DJNZ R4,$ DJNZ R5,DL0RET;子程序返回DELAY187MS: MOV R3,#187;187ms 延时 ,用于节拍掌握DL1:MOV R2,#248DJNZ R2,$ DJNZ R3,DL1 LJMP NEXT3INT_T0:MOV TH0,STH0;高 8 为输入MOV TL0,STL0;低 8 位输入CPL P1.0;音乐输出口启用RETI;中断返回TABLE1:DB 0f8h,094h, 0f9h,05c

22、h, 0fah,01Ah, 0FAH,06AH;低音调表值DB 0FBH,00H,0FBH,08CH, 0FCH,0EH,0FCH,044H;TABLE2:DB 0FCH,04AH, 0FCH,0AEH, 0FDH,008H, 0FDH,030H;中音调表值DB 0FDH,080H, 0FDH,0C6H, 0FEH,02H,0FEH,022H;TABLE3:DB 0FEH,02AH, 0FEH,05CH, 0FEH,084H, 0FEH,098H;高音调表值DB 0FEH,0C0H, 0FEH,0E8H, 0FFH,006H, 0FFH,029H; SONG1:; 化蝶 .DB-3, 04H,

23、 -5, 03H, -6, 01H, 1, 03H, 2, 01H, -6, 01H, 1, 01H, -5, 02H .DB5, 03H, +1, 01H, 6, 01H, 5, 01H, 3, 01H, 5, 01H, 2, 08H .DB2, 02H, 2, 01H, 3, 01H, -7, 02H, -6, 02H, -5, 03H, -6, 01H, 1, 02H, 2, 02H .DB-3, 02H, 1, 02H, -6, 01H, -5, 01H, -6, 01H, 1, 01H, -5, 08H .DB3, 03H, 5, 01H, -7, 03H, 2, 01H, -6,

24、01H, 1, 01H, 5, 05H .DB-3, 02H, -5, 01H, -3, 01H, -5, 01H, -6, 01H, -7, 01H, 2, 01H, -6, 06H,-5, 01H, -6, 01H.DB1, 03H, 2, 01H, 5, 02H, 3, 02H, 2, 02H, 3, 01H, 2, 01H, 1, 02H, -6,7、系统工作过程:承受 16 个键分别代表 16 个音,通过对按键的随便按键从而产生不同的音乐,主要是通过每个按键所产生的频率不同来使得发出的各个音不同,从而产生音乐,依据程序首先对低音,中音,高音进展检测;运用延时、循环、跳转等设计试验;然

25、后通过对音符键的掌握发出 doremifasollasi do8、功能实现分析:这次设计的是一个玩耍型的电子琴,通过对程序的改进和利用单片机的功能特性,最终通过仿真,我们实现了电子琴的功能,所以这个设计是可行的。9、设计心得:通过这次课程设计,系统而比较全面地检查了我所学的专业学问,补充了我未学的专业学问,对一个产品的开发的步骤有肯定的生疏。“查漏补缺”的同时进一步稳固了专业学问,熬炼了自己,让我深刻的意识到理论学习和实践相结合的重要性,在这次课程设计中,查阅了大量的资料,并在此根底上加以了改进并进展了创,同时对延时,循环等设计方法有了更深的了解。提高了我们学习分析和解决问题的力量,只要我们不由于困难而可怕困难,最终我们就能够取得最终的成功。最终,通过这次的自主完成单片机的应用系统设计,虽说不完全是自己完成,但是至少有一点,让我们学会了如何去完成一个设计报告,让我更进一步了解了单片机,也让我感受到做出一个设计的快活,喜悦与担忧。信任这对以后的毕业设计也会有很大的帮助。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com