L031HCPLBUZZ1RETILJMPOSET_TIMEROKEY2CJNER00DFHOKEY3MOV30H0FCHMOV31H5CHLJMPOSET_TIMEROKEY3CJNER00EFHOKEY4MOV30H0FCHMOV31H0C1HLJMPOSET_TIMER
fOKEY4CJNER00F7HOKEY5MOV30H0FCHMOV31H0EFHLJMPOSET_TIMEROKEY5CJNER00FBHOKEY6MOV30H0FDHMOV31H045HLJMPOSET_TIMEROKEY6CJNER00FDHOKEY7MOV30H0FDHMOV31H92HLJMPOSET_TIMEROKEY7CJNER00FEHOKEY8MOV30H0FDHMOV31H0D6HLJMPOSET_TIMEROKEY8CJNER007FHONOKEY
LOOP2MOVR0BUZZCJNER07DHLOOP3LJMPMAIN1LOOP3R00FFHLOOP2CJNE
LJMPSTARTOSET_TIMERSETBTR0SJMPOSTARTONOKEYCLRTR0LJMPOSTARTMAIN1MOV40H00H
NEXTMOVR0BUZZMOV41HR0ORL41H0FEHMOVR041HCJNER00FFHSTOPMOVA40H
fMOV
DPTRSONG
INC
A
MOVCAADPTRCJNEA00HPLAYLJMPSTOPPLAYMOVANLMOVMOVANLR1AA0FHR2AAR1A0F0H
MOVCAADPTRMOVMOVTL1A20HA
SETBTR1DELLCALLDELAYINC40H
LJMPNEXTSTOPCLRTR1
CJNEA00HMUSICCLRTR1
LJMPSTARTTIME1PUSHACCPUSHPSWCPLMOVMOVBUZZ1TL120HTH121H
LJMPDELMUSICSWAPADECMOVADDMOVMOVA22HAA22HR3ADPTRSONG1
POPPOPRETIDELAYMOVDELA1MOVDELA2MOV
PSWACC
MOVCAADPTRMOVMOVMOVTH1A21HAAR3
R702HR6125R5248
fDJNZR5
DB16H12H14H22H32HDB26H12H94H22H32H
DJNZR6DELA2DJNZR7DELA1DJNZR2DELAYRETSONG1DW64580646846477764820DW64898649686503064260DW6440064524650586383564021
DB2CHDB32H52HDB36H22H14H54HDB0ACH92H0A2HDB96H0A2H96H82HDB3CH54HDB36H22H14H54HDB0ACH92H0A2HDB16H12H14H22H32HDB2CH02H82HDB16H32H56H12HDB0A6H32H56H52H
SONG月亮代表我的心DB02H82HDB16H32H54H02H52HDB0A6H32H54H02H52HDB64H74H0B6H64HDB52H5CH32H22HDB16H12H14H32H22H
DB66H72H0B6H62HDB62H52H58H32H22HDB16H12H14H32H22HDB16H12H14H22H32HDB26H92H0A4H12H22HDB1CHDB00
fEND
3、调试及测试
3.1调试(按实际做的步奏)
如按下k5后显示如下图:
k1k7音调输出按一下k8。在按k1k7音频逆向输出先按着k8再k1键后会在音频输出歌曲,k1键停止3.2测试在proteus环境下点击k1k7看看发出的音是不是正确的K8键按后是否音调是逆向的K8k1是否音乐输出在调试源代码中采用分块测试:音频输出、按键音乐播放
f最后采用组合调试
3.3出现的问题及解决
在做k8按键检查k到8直到k8放开才跳转一直出错。。原来是忘了继续检测p2口。。。TMOD设置错误
4、课程设计总结
41在此设计基础上还可以增加的功能及设计思路
即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置通过程序来控制,使蜂鸣器发著不同频率的声音,声音延迟延迟一段时间,等到按键放开后,声音r