




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计报告学院电子信息工程学院一、题目电子音调发生器二、设计得任务及要求利用JD5 1开发板上得按键 S1S 4与蜂鸣器设计电子音调发生器,要求:(1 )利用JD51开发板上得按键 S1S 4进行音调选择,即按下不同得开关产生不同得音调,依次按动S1S4及组合按键,蜂鸣器发出1234 5 6 7i八个音调;并在数码管上显示。(2)编写2支歌曲,并可进行选择播放。三、工作原理及设计思路工作原理:,只要算出某一音频音节由不同频率得方波产生,音节与频率得关系通过查表可得。要产生音频方波得周期(1/频率),然后将此周期除以2,即为半周期得时间。利用计时器计时此半周期时间,每当计时到后就将输出方
2、波得I /C反相,然后重复计时此半周期时间再对I /C反相,就可在I/O脚得到此频率得方波。在JD5 1单片机上,产生方波得 I/ O脚选用P2、4 ,通过跳线选择器将单片机得 P2、4与蜂鸣器 得驱动电路相连.这样 P2、4输出不同频率得方波,蜂鸣器便会发出不同得声音。另外,音乐得节拍就是由延时实现得,如果 1拍为0、4秒,1/4拍就是0、1秒.只要设定延时时间,就可求得节拍得 时间。延时作为基本延时时间,节拍值只能就是它得整数倍。每个音节相应得定时器初值X可按下法计算:(1/2 )衣(1/ f ) = (12/ f osc)*(256-x)即 X =25 6 ( f osc/ 2 4f)其
3、中f:音调频率,当晶振f 0 s c = 1 1、05 92MHz时,音节“1”相应得定时器初值为x,则可得x=6 3 7 77D= F 9 2 1H其它得可同样求得。表1音调频率(Hz)X(HEX)1262F9 2 12294F9E 13330FA8C4349FADS5392FB686440FBE 97494FC5Bi52 3FC8F设计思路OOMA驱动电流。当89C51输出为低电平时蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。四、软件设计流程及描述根据要实现得功能,流程图如下:熟悉定时器与键盘扫描电路得工作原理及编程方法.rf开始k功能选择系统初始化d然后根据按键得数字,用定
4、时器输出相对应得频音乐1 .程序设计描述 电子音调主要得工作就是将按键得信息读取, 率,实现音调得发生。程序主要为5部分,按键扫描、中断计时、数码显示、音乐播放、主程序 功能.2、各部分功能介绍(1)按键读取程序r键盘键值读取程序包括键盘扫描、消除 反转法与行扫描法。因为键盘为机子音调 抖动得部分。I,她们分别执行不同得抖动、键译码等内容。按键得识别主要有两种方法:行易引入抖动.为了消除抖动干扰,在程序中要加入消除播放音断计时f 冲断部分,中断定时器判断按键按键时间及按键间隔时间得功能(3)音乐播放音乐播放部分主要就是播放音乐(4)主程序1主要负责输出不同频率得方波判断产生声音,中断皿,在播放
5、音乐得时候,还担任看播放音乐得节拍得任务,实现按键重播与播放程序里面得音乐得功能。 液晶显示播放音主要就是计时主程序主要就是随时发出按键得声音功能,并且通过不同P口得扫描,判断就是否就是播放按键声音还就是播放音乐,还就是继续发出按键声音。五、pr 0 teus仿真设计及描述B 曰1'*+fjL Z*T. Bd-C-. ABk- *AS -»Si Kt. *MikiE ar 1' 4i lu I 4 + 赳可丸也 J':",苍'tSJ5EEv-:iEECbAU£MLlEWUJ 血ems njimWFiMnnor POMlfit iED
6、E«>' lEDEtiE *VCESJ fliwrp* 和"utSifetlLlJ*U按键SI:数码管显示lbbf -£二3 世二导1UM1- - = >v小4- JTli駕-5七 nH_- - /Lr*-注 FLSJTiifc 'iE-ir工丁1蛊|-.1I- r "TiFj? Fil jIHmri iwi ri£ r 5 -: *n 沪静內1,同时能听到蜂鸣器响音调1a 丈辿 1 FHiTi砂 irtPfT科I立由fT 豪胡 M» 二JUT, BkHfc Ml 4«应 MB|> GU &
7、#171;«|U| 砂E事右 a I盅门+ +肆恙遇;£ -兀电V.I:- i 聲籽#/ X B Z «1*11 .r V. .-i 3:“ D + HIlk _ _TlE5*MLUt/«AB+*.Taam lUMiDh BLizzn aOKl££ CffAlii HDDf nDPf LED LIDCEV LED-HLUE.呛FE 却:Rf fDUDEFi FEwiR4ferZrife-注r*ti±LJhAp 'Hr'"nI事严、:r"SET" " 至- ri1:Saz
8、-;£:斤;:ft;-imD氈(产*>1wg按键S2:数码管显示 2,同时能听到蜂鸣器响音调B 型1 -1卄岬luP lEEffRfliprtHR # Mi LJUCTi 时庇 mil 9H西HUB C-U SlUl tH闾 ftHi aa/ j-at/i心* +屯戈浇乂 亍匸-不儿; 豊莊广 超帚北 :勺y辽片 - +应耳尊舉弘爾««>"3/-3為+:鳖1?:1炸忖招懐TdECUfMCUdJE irroiFMvretuTA他:w UtrUH BUZZER 3CtfLEC cmiAi non EiOHtEC- L£&eFf
9、L£D4LbE 咨 Ft 刊Cl* WADiR PE*IP二 ©治BUST:*rAl "I kK+ -Criip Mi<15陆p! I TTHi jRuOOiIt-l - .J点” 丐丰;: . b ?f:纭-rrrH1-m D nccr id01汙4ariP'TP-pT心4S上厂BK 1*-X 41.J «=!寻m, I ? A按键S3:数码管显示3,同时能听到蜂鸣器响音调3trtnn HiVi Mr.二KiT,珅i防 riBb BH氣金«|M| 砂I筍 *0-1I齐冲仲沖戏 T3E44=MIMlUL irrOtFMIXSlUT
10、W:W lUTiUH BUZZER3 Cj«=LEC EiSbl HQML£pVHf L£D«LbE 咨 FI 刊Cl* QUHDiH PEflHP按键S4:数码管显示4,同时能听到蜂鸣器响音调4,所以在仿真时不能实现因为音调5, 6, 7, i以及音乐都就是由两个按键控制得实际效果图音调1:;6g2LC冋2 IOK-P广C胡口 O 岀 U. U. UOf JI gJLIJIDLy陀10::g一 ©fiufOinS1P9 *>10k 讥fPIO 叱 lOk* *一-M_J首调2fL: -F -p"-去一 C2*rjl330asD
11、门HVHSI7;feJ602LC*< 1 戈D4»12$ J-M-O If I;寫 亍*.3 .* -. 1r LS3smn音调51 r IK nH魄叱CO* » PCI 9*3-602LCrfnliStI% >Ti .丄lOk-I * . * 沪 -* 010 fd'k e ?B.音调6六、汇编源程序代码/* SB 11 音SB3SB4 7音SB2 2 音SB 1SB4 iB 3 3音SB1SB3SB4 4音 SB 1SB2第一首歌S B2S B45第二首歌S B2SB3 6 音*/O RG 0000 H?L JMP KEY P0KEYP 0: MOV
12、 R0, #0 0 HCLR TR0;跳至SET B P2、4KEYPD程序;数据首地址;TR0置零,定时未开始 ;关蜂鸣器;关数码管;扫描按键输入SETBP2、3W:MOV R), P3C J NE R0,#0FFH , KEY PO1 ;有输入时跳转(R 0工0FFH时跳至 KEYP 0 1程序) JMP W;无输入时继续扫描CJNE R0,# 0 FBH,KEYP O2 ;输入 1 音,非 1 音跳转;蜂鸣器置于高电平,音调;设循环初值,使开关在R3定时,方式1置定时初值,音调1初值为0KEYPDl:SE TBP2、4R 3,#200MOV TMQD#01H ;MOV T L0, # 2
13、1H M QV T H0,# 0 F9HSE T B T R 0WAIT1: JNB TF0, WAIT 1CLR TF0CPL PMO VMA IN0 l:2、 41方波发生=0时播放一段时间F92 IH;启动T0工作;定时未到,循环等待;定时到,软件清零 TF0;由P2、4输出,信号取反,蜂鸣器响C LR P2、 3;数码管显示 1M OV A , # 11 1110 01B;置比较初值?MOV P 0, ADJNZ R3,MAIN01? LJ M P KEYP0;若R3 1不等于0,继续跳至M AI N 01程序 0则返回程序 KEYP 0K EY PO2:CJNE R0, # 0F7H
14、,KEYPQSET B P 2、 4;输入2音,非2音跳转蜂鸣器置于高电平 , 音调 2 方波发生?MO V R3, 20 0;设循环初值MA IN0 2: MO V T MOD , 01HMOV TL0,0 E1HMOVTH 0,#0F9HSETB TR0; 定时 , 方式 1 ; 置定时初值WA IT2 : JNB TF 0,WAIT 2 CLR TF0CPLP2、 4;启动 T0 工作;定时未到,循环等待 ;定时到 , 软件清零 TF0; 由 P2、 4 输出,信号取反 , 蜂鸣器响CLR P2 、 3;数码管显示 2? MOV A, 10100100B ; 置比较初值MOV P0 ,A
15、DJN Z R3, MAIN02; 判断R3就是否等于 0,未完,继续LJMP K EYP 0; 返回程序 KE YP0K EYPO3:CJNER 0, #0EF H,KE YPO4 ;输入 3 音,非 3 音跳转SE TB P2、4; 蜂鸣器置于高电平MOV R3, # 2 00MAl N03:MOV TMOD ,#01 H M O V TL 0,#0 8 CHMO V T H0, 0FA HSETB T R0W AIT 3 :JNB TF0 , WA I T 3 C LR TF0CPL P2 、 4? C L R P 2、3? MOV A ,#1 0 110000B? MO V P0, A
16、DJ N Z R3, MAIN03LJ MP KEYP0KEY P04:CJNE R0, #0DFH ,KEYPO5SE TB P2、 4MOV R3,#2 00M AIN0 4 :MOV TMOD ,#01HMO V TL0,#0D8HMO V T H0 ,#0F A HS ETB T R0输入 4音, 非 4 音跳转WAIT4 :J N B T F0,WAIT4CL R T FOC PL P2、 4C L R P2、3? M OV A,#100110 O1 B?M OV P0,AD JN Z R3,MAIN O4LJM P KEY POKE YPC5:CJN E R0, #OF 3H, K
17、EY PO6输入 5 音,非 5 音跳转SETB P 2、4?M OV R3, # 200MAIN05 : MO V TMO D,#01HMOV TL0,#06 8 HMOV T H 0, # OFB HSET B T ROWA IT 5: J N B T FO, WAIT5CLR TFOC PL P2、4? CLR P2、3M OV A, #1O 01001 O BMOV PO ,ADJN Z R3 ,MA IN05LJ M P KEYP0K EYPO 6:C JNE R0, #0E 7H, KEYPQS ETB P2、4MOV R3, 2 00MAIN06:M OV TMO D,#O1 H
18、MOV T L 0,#0E 9 HM OV TH0, #O FBHSETB TR 0;输入6音,非6音跳转WAIT 6: JNB TF0, WAIT6CLR TF0CP L P2、 4CLR P2、3? MO V A, #10000010B? MOV P0,ADJNZ R 3,MAIN06LJ MP KEY POKEYPO 7: CJ NE R0,#O CFH,KEYPO8SE TB P2、 4;输入 7 音,非 7 音跳转M3 R3 , #200M AIN07:MOV TM OD, #01HMOV TL O,#O5 BHMOV TH0 , #0FCHSET B TR0W AIT7: JNB
19、T F0,WA IT7CLR TF 0定时未到,循环等待CPL P2、 4? CLR P2、3MOV A,#11111000B ?MOV PO,AD J NZ R3,MAIN0 7LJMP K EYPOKEYPO8:CN E RO,# 0DBH KEY PO9BE TB P2、 4; 输入 i 音 , 非 i 音跳转? MOVMAl NOMSER3, 2OO8:MOV TMOD, #0 1HMCV TLO,#O 8 FHO V TH0, #0FCHT B T ROWAI T8:JNB TFO, WAIT8CL R TF0;定时未到 , 循环等待C PL P2、C LR P2、MOV A,# 1
20、 OOOOOOOBMOV PO,AD J NZ R 3,MAIN08?L JMP KEY POKE YP O9:CJNE R 0,#0EBH ,KEYPLJMP MUBTART1O1O;跳转到第一首歌程序KEYPD 10:CJNE R0,#0D7H , J IELIL JMPMUB TA RT 2;跳转到第二首歌程序JI ELI: JMP KEYR)M USTART1:MOV RO, #00HM O V R 1,#0 O H RTAB:MOV A,ROMOV DPTR,#RYTHMOVC A,ADPT RMOV R2 , ATTAB :MOV A,R1MOV DPTR,#TO NE MOVC
21、A,A+DPTRM OV R3, AI NC R1;返回主程序; 歌曲 1 得播放程序 节拍表指针置零; 音符表指针置零;将节拍表记入D PTR指针查表法将一个节拍数据取出放R2计数器中;将节拍存入R 2; 将音符记入 DPTR查表法将一个音符数据取出放入 R1 计数器中 取出音符表高 8位,存入 R3; 指针加 1M OV A, R1MOV DPT R, #TONEM OVC A, A + DP TRMO V R4,A; 将音符记入 DPTR;查表法将一个音符数据取出放入R1计数器中 ; 取出低 8 位, 存入 R4SETB P 2、 4 LOCP:M OV R 5, # 3BH MAIN:
22、 MOV TMDO,#0 1HMOV TL0,R4MO/ T H0, R 3SETB TR0输出相应音调得方波;主程序初始化,定时器TO工作于方式1; 置定时初值 (音符)WAIT:JNB TF 0 , WAITCLR T FOCPL P2 、 4MAY A:JB P 3、2 , MAYBJ B P3、4 MAYBL J MP R AMA YB: J B P 3、3 , JI E LIJB P3、 5,JIELIL JMP MUS TART2RA : D J NZ R5 , MAIND JNZ R2,LO O PINC R0; 启动 T0;定时未到 , 循环等待;定时到,软件清零T F0由P2
23、、4输出,信号取反,蜂鸣器响;判断 P3、 2 口就是否有为 1, 为1则跳至 MA YB判断P3、 4 口就是否有为1,为1则跳至MAf B;P3、 4口为 0则跳转到程序 RA;判断 P3、 3 口就是否有为 1;判断P 3、5 口就是否为1(为1则继续播放第一首歌);P3、5 口为0则放第二首歌; 无打断则继续放第一首歌;判断R2就是否等于;两个表得指针都加INC R 1C JNE R1, #88,R TA BLJMP KEY P0; 音符表TONE:; 判断就是否取完(R 1不等于8 8则跳至RTAE程序)8F H,OF CDB 0FBH, 6 8H,0 F DH,6EH,0FDH,4
24、 5H , 0 FC H,0EFH, 0 FCH,8F H, 0 FCH ,8FH,0F C H, H, 5 BH,0FC H,8FH0 FBH,0E9HD B 0FCH 0EFH, 0F DH ,4 5 H, 0FBH, 6 8H, 0 FBH,6 8H ,0FCH,8FH, 0FCH 5 BH,0F BH,68H ,0FBH , 68HDB 0FAH,0DBH,0FAH,8CH,0 F9H,21 H,0FAH, 8CH,0FAH,0D8H,0FBH,68H,0FBH,6 8H, 0FBH,68H,0FBH,68HDB 0FBH,0E9H, 0 F BH , 0E9H,0FBH, 6 8H,
25、0FBH,0 E 9H,0FCH ,5BH , 0FAH 8CH , 0 FCH , 8FH, 0FCH,8FH, 0FCH,5B H0EF H, OF CH,0E FH,0 FCH 8 F H,0 F DH 4 5 H, 0FDH,6EDB0FCH,8F H,0FCH,0E FH 0FCHH,0F CH,0 EFH; 节拍表RY TH:0 4,040 4 ,0 4 ,0 44,04 ,04,04,0 4,0 4, 04,04,04 ,04,07 ,04,04DB 04,04, 0 4 040DB 04 ,0504 04DB 0404, 0 4, 0 6DB 04,040 4,06 ,04,0
26、4,0 4 ,07,0404DB 04, 0 4,04, 0 4MUSTA RT2:?MOV R0#00HMOV R 1#00 HR TAB 2:;歌曲 2 得播放程序; 节拍表指针置零; 音符表指针置零MOV A, RlMOV D PT R TABLE1M O VC A ,A+DPTRMOV R2,ATT AB2 : M OV A ,R1MO V DPTR #TONE2MOVC A,A+DPT RMOV R3 AI NC Rl;将节拍表记入DPTR指针查表法将一个节拍数据取出放R 2计数器中; 将节拍存入 R2; 将音符记入 DPTR;查表法将一个音符数据取出放入R1计数器中取出音符表高8位
27、;指针加 1MOV A , R 1M OV D PTR,#TONE2 ? MOVC A,ADPTRM O V R4, ASET B P2、 4L00P2MO V R5 , #9 BHMAI N2:; 将音符记入 DPT R;查表法将一个音符数据取出放入R l计数器中;取出低8位; 输出相应音调得方波MOV TMOD #0 1HM OV TL0 ,R4MOV TH0 , R3S ETB TR0主程序初始化 , 定时器 TO 工作于方式 1 ; 置定时初值WAI TR:JNB TF0, WAI T RC LR T F0CPL P2、4MAYAL : J B P 3、3, M AYB 1J B P
28、3 、 5 M AYB 1LJMP RBMAYB1: J BJ BLJP3、 2,BACKP3、4 ,BACKM P MUST ART1;启动T 0;定时未到 , 循环等待; 定时到 , 软件清零 TF0由P2、4输出,信号取反,蜂鸣器响;判断P3、3 口就是否为l; 判断P3、5 口就是否为l ;P3 、 5口为 0则跳转到程序 RA; 判断 P3、 2 口就是否有为 1判断 P3、 4 口就是否有为 1; P3、 2,3、 4口皆为 0则播放第一首歌BAC K:LJMP JIELIRB:DJNZ R5 ,MA IN2DJ NZ R2,L OOP2INC R 0; 无打断则继续播放第二首歌;
29、判断R 2就是否等于0; 两个表得指针都加 1I NC R 1判断就是否取完CJN E Rl, # 6 4,RTAB2LJMP KEY P0;音符表TONE2:5 H, OFCH, 0 EFH,OF CH,8FH, 0 FCH 8FH, 0 FCH, 8FH,0FCHDB OF BH 68H, 0FDH,6 EH, 0FDH ,45B H,0 FCH ,8F HDB 0 FC H,0E FH ,0FDH, 4 5H , 0FBH, 68H, 0 FBH ,68H,0FC H ,8FH,0 F CH,5BH, 0FB H, 0E9H,0F B H,68H , 0F B H 6 8 HDB 0F
30、AH , 0DBH ,0 FA H,8CH,0F9H,2 l H, 0FA H, 8C H , 0FA H , 0D8H ,0 F BH,6 8 H, 0F BH,68H,0FBH 68H,0FB H,68HDB0FB H,0 E 9H,0 FBH,OE 9H, OFBH ,68H , 0 F BH, OE 9H ,0 F CH, 5 BH ,0FAH,8CH,0FC H ,8FH,0FC H,8FH ,OF CH ,5B HDB 0 FC H, 8 FH , 0 FC H,OEFH,OFCH, 0 EFH,OFCH, 0 EF H, OFC H, 8FH ,0 FDH, 45 H , OF
31、DH, 6EH, OFCH 0 EFH; 节拍表T ABLEl:DB O4, O4 ,O4,O4 , 0 4, O 4 ,O4,O4 , 0 4,0 4D B O4,O5 , O4, O4,O4,O4 , O4, O 4 ,O4 , 0 4DB O4 , O4, 0 4,O 6 , O4,O4,O 4, 0 7,O4,O4DB O4,O4, 0 4, 0 6 , O4 , 0 4 , 0 4 ,O7 , O 4 , 0 4DB O4 , 0 4,O4,O4E ND七、课程设计总结及体会 编完程序及调试时 , 遇到得几个问题以及解决办法。问题一: 刚开始接通电源时 单片机就开始发出声音 , 为了解决这个问题 , 我将程序里加入了 S ET B P 2、4这步程序,把蜂鸣器得初值设定为1。问题二:按完S 1按键时,未发出音调1,这就是由于我未将蜂鸣器置于高电平,加上SETBP2、 4后,问题解决 .问题三:按按键S2时,数码管第一位而不就是第四位出现数字2,不过我之后发现就是因为我将本应就是CLRP 2、3得程序写成了 C LR P2、0 ,改变后,数码管显示正常。问题四:最开始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年巴音郭楞职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025年山西职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年山东水利职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- ICU基础知识课件
- HR六大基础知识课件
- 2025年威海海洋职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- Flash多媒体课件基础知识
- 美国药学管理及启示
- 8S培训课件教学课件
- 环状混合痔手术护理常规
- 2024年郑州黄河护理职业学院单招职业适应性测试题库及答案解析
- 生产直通率记录表
- 2024年部编版五年级下册语文第七单元综合检测试卷及答案
- 医疗依法执业培训课件
- 施工现场安全围挡
- 拐杖及助行器的使用方法课件
- 中央环保督察迎战培训课件
- 风湿免疫科学教学设计案例
- 妊娠合并梅毒护理查房课件
- 2023小米年度报告
- 修大坝施工方案
评论
0/150
提交评论