下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XX电力学院实验报告实验课程名称:基于微处理器的简易电子琴的设计院系:计算机与信息工程学院专业: 电子信息工程班级:2 0 0 9 0 7 3XX :陈雨婷 学号:20092009设计目的本课程设计目的是制作基于微处理器的简易电子琴, 将学过的微处理器硬件 和软件知识,以及电子线路知识进展综合应用, 形成一个能实际运行的电子作品。二、课程设计要求 本课程设计的简易电子琴包括键盘、显示器以及微处理器,蜂鸣器等。用 单片机定时器在 I/O 口产生不同频率的方波,经过放大后即可输出音乐。作品 应具有以下功能:1手动弹奏乐曲功能: 按下不同的按键对应不同的频率输出, 即对应不同的音调,到达电子琴的效果
2、。同时按下的键值还应实时显示于 LED 显示器上。2自动播放功能:按下特定按键之后可连续播放一首歌曲,如新年 好,找朋友等。三、系统组成与工作原理1、 音乐产生的方式声音的频谱 X 围约在几十到几千赫兹,假设能利用程序来控制单片机某个口线 不断的输出“高“低电平,那么在该口线上就能产生一定频率的方波,将该 方波接上喇叭就能发出一定频率的声音, 假设再利用程序控制 “高 “低电平 的持续时间, 就能改变输出波形的频率, 从而改变音调。 可以利用单片机的定时 / 计数器 T0 来产生这样的频率方波信号。例如,计算晶振频率为 11.0592MHz 时 产生不同频率方波所对应的初值, 并将该初值依次列
3、于程序表中。 当程序启动时, 即可根据按键值获取相应的初值, 从而产生不同频率的方波, 输出不同音调的声音。高中低音符对应的频率如下表所示:音符频率HZ简谱码T值音符频率HZ简谱码T值低1 DO26263628# 4 FA#74064860#1 DO#27763731中5 SO78464898低2 RE29463835# 5 SO#83164934#2 RE#31163928中6 LA88064968低3 M33064021# 693264994低4 FA34964103中7 SI98865030# 4 FA#37064185高1 DO104665058低5 SO39264260# 1 DO#
4、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#55464633高5 SO156865217中2 RE58764684# 5 SO#166165235# 2 RE#62264732高6 LA176065252中3 M65964777# 6186565268中4 FA69864820高7 SI196765283表1音符频率表2.音乐的节拍在
5、一 X乐谱中,我们经常会看到这样的表达式,如仁C (4/4)、 仁G(3/4) 等等,这里1=C (4/4),1=G(3/4)表示乐谱的曲调,和我们前面所 谈的音调有很大的关联,4/4、3/4就是用来表示节拍的。以3/4为例加以说明, 它表示乐谱中以四分音符为节拍,每一小结有三拍。一般说来,如果乐曲没有特殊说明,一拍的时长大约为 400- 500ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首 先,我们确定一个根本时长的延时程序,比方说以十六分音符的时长为根本延时 时间,那么,对于一个音符,如果它为十六分音符,那么只需调用一次延时程序, 如果它为八分音符,那么只需调用二次
6、延时程序,如果它为四分音符,那么只需 调用四次延时程序,依次类推。另外,也可使用定时器T1来产生节拍。音乐的音拍(一个节拍为单位C调)曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms四、实验原理图. H I I i Q編 7g-i-i BT1一rEs卢:心I锻m皿BE? AJE"IC" at sen8 jx J.F IZZll 品恤DCOFHl 14 FILL* unw F11TFQTEFK$ft*丄与T艮丿ODD >h1XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入X
7、TAL2 :来自反向振荡器的输出。如下列图:(2) 在 p2.1 口上接了一个蜂鸣器通过执行相应的功能程序使电子琴发出不同音色的声音,如下列图:F0.7/AD?J32ji2223氢75严27R4卩2阿P2.10P2 2/A10 ! -2 咖 1P2.4fAI2P2 5/A13P2JfA14V VAI 5PIDRDPS EDpasriNm-=S.4;T0 P3.5JT1P3 E/W"P3.7/TO2?IB7R2圧F?P 厂 EXT,.D2处rTEXT:|Z.-JF'lQ2R51000-EUZZER -<TEXT”BUZ1(3) 复位电路上电自动复位。如下列图:R15100
8、31D3LED-RED .291345RSTP5ENALEEAP1.0P1.1PI 2P1 3Pt 4(4) LED显示局部P0 口接led显示器。在键盘上按键时,查表查到该键相应键值。然后在显示器上显示相对应的数字。PCM 网 1P0 2泪能 POjI/AMpn号駕吓FO.D/ADOPO.7ZAC?五、简易程序流程图:弹奏程序流程图延时去抖动识别按键功能根据键值查表转化成七段led根据按键功能装入相应音符值到TO启动TO按键释放停顿TO工作 Led灯停顿显示图1程序简易流程图播放程序流程图:开场播放歌曲图2 播放程序流程图六、实验源代码ORG 0000HJMP START ;到主程序ORG
9、000BH ;中断入口 jmp tim0 ;START:MOV TMOD,#01H;设定定时器工作方式 1MOV IE,#82H;中断使能setb tr0;启动 time0l1:call key;调用 keyclr ea;中断屏蔽f0,l1;没有按那么 f0=1 否那么 =0mov a,22h;如果按了取码指针存入 amov DPTR,#table1movc a,a+DPTR mov p0,a mov a,22hrl a;乘 2MOV DPTR,#table2;表头地址送 DPTR;查表取代码MOVC A,A+DPTRmov th0,amov 21h,a mov a,22h;高字节存入 th0
10、;存入 21h;再载入取码指针rl ainc a;乘 2;加 1MOVC A,A+DPTR;查表取代码mov tl0,a; 低字节存入 tl0mov 20h,a;再存入 20hl2: call key;调用按键处理setb ea;中断使能f0,l1;有按否jmp l2;有那么跳到 l2key:setb f0;f0=1mov r3,#0f7h;扫描初值mov r1,#00h;取码指针初值l3:mov a,r3;载入扫描指针mov p1,a;输入至P2,开场扫描mov a,p1;读入 P2clr ccpl c;令 C=1mov r5,#04h;检测 P2724l4:rlc a; 左移一位jnc k
11、eyin;检测行 C=0inc r1;没有那么取码指针加 1;djnz r5,l4;4 列检测完毕 ?mov a,r3;载入扫描指针clr ccpl c;C=1rrc a;扫描下一行mov r3,a;存回 R3 扫描指针存放器jc l3;C=0 表示扫描完毕retkeyin: mov 22h,r1;取码指针存入 22Hclr f0;令 F0=0rettim0:push accpush pswmov tl0,20hmov th0,21hpop pswpop acccpl p2.1retitable1:db0b0h,99h,92h,82h,0f8h,0f9h,0a4h,0b0h,99h,92h,8
12、2h,0f8h,0f9h,0a4h,0b0h,99 htable2: dw 64021,64103,64260,64400dw 64524,64580,64684,64777dw 64820,64898,64968,65030dw 65058,65110,65157,65178end播放程序源代码: org 0000hSjmp MAIN org 000bh mov th0,r1 mov tl0,r0 cpl p2.1RETIMAIN: clr p1.0 jnb p1.4,aa sjmp mainaa:MOV TMOD,#01HMOV IE,#82HMOV DPTR,#TABLOOP: CLR
13、AMOVC A,A+DPTRMOV R1,AINC DPTRCLR AMOVC A,A+DPTRMOV R0,AORL A,R1JZ NEXT0MOV A,R0ANL A,R1CJNE A,#0FFH,NEXTSJMP MAINNEXT : MOV TH0,R1MOV TL0,R0SETB TR0SJMP NEXT1NEXT0:CLR TR0NEXT1: CLR AINC DPTRMOVC A,A+DPTRMOV R2,ALOOP1: ACALL D200CDJNZ R2,LOOP1INC DPTRAJMP LOOPD200C:MOV R3,#81HD200B:MOV A,#0FFHD200A
14、:DEC AJNZ D200ADEC R3CJNE R3,#00H,D200BRETTAB: DB 0FEH,25H,04H,0FEH,25H,02H ;11 1 5 DB 0FEH,25H,02H,0FDH,80H,04HDB 0FEH,84H,02H,0FEH,84H,02H;33 3 1DB 0FEH,84H,04H,0FEH,25H,04HDB 0FEH,25H,02H,0FEH,84H,02H;13 5 5DB 0FEH,0C0H,04H,0FEH,84H,02HDB 0FEH,98H,02H,0FEH,84H,02H;43 2 -DB 0FEH,57H,08H,00H,00H,04
15、HDB 0FFH,0FFHEND ;1 = 131 262 523 1047;2=147 294 587 1175;3=165 330 659 1319;4=175 349 698 1397;5=196七、实验结果图八、实验心得通过这次为期十天的课程设计, 让我感觉到了单片机的乐趣以及运用单片机设 计电路比拟方便和简单。 在课程设计过程中, 我学会了怎么通过各种方式查询相 关的资料,尤其是要充分利用互联网来查找自己想要的资料。这次的课程设计涉及硬件和软件两方面的内容。 首先是软件局部, 我学会了 运用keil C51软件建立工程文件来调试程序的正确性,由于自己所学有限,所以 程序的编写事件很头疼的事, 所以我们是先从网上下载一些类似的程序, 然后对 程序进展分析修改加以利用。 硬件局部, 先是连号原理图之后, 按照原理图来对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 举办竞走比赛行业营销策略方案
- 太阳能收集器产业运行及前景预测报告
- 单比基尼式泳装市场发展预测和趋势分析
- 宝石市场发展预测和趋势分析
- 影碟播放机产业深度调研及未来发展现状趋势
- 通信网络套管预埋施工方案
- 弹簧用皮套产业运行及前景预测报告
- 伺服电机用电子控制器市场需求与消费特点分析
- 伽倻琴朝鲜弦琴产业深度调研及未来发展现状趋势
- 健身房及游泳池清洁服务方案
- FZ/T 64041-2014熔喷纤网非织造粘合衬
- 高品质变压器外观品质检验基础
- 革命烈士杨靖宇主要事迹分析
- 《网络设备安装与调试(华为eNSP模拟器)》项目1认识eNSP模拟器及VRP基础操作
- 《简单的周期问题》教学设计和说课稿
- 实验室生物安全管理体系结构框架图
- 简约国风知行合一王阳明心学教学模板课件
- 学校文化与教师专业发展
- 洗车流程电子教案课件
- 留守儿童心理健康辅导课件
- 人民币的发展史课件
评论
0/150
提交评论