仿真简易电子琴Word格式.docx

上传人:b****4 文档编号:7477747 上传时间:2023-05-08 格式:DOCX 页数:17 大小:170.93KB
下载 相关 举报
仿真简易电子琴Word格式.docx_第1页
第1页 / 共17页
仿真简易电子琴Word格式.docx_第2页
第2页 / 共17页
仿真简易电子琴Word格式.docx_第3页
第3页 / 共17页
仿真简易电子琴Word格式.docx_第4页
第4页 / 共17页
仿真简易电子琴Word格式.docx_第5页
第5页 / 共17页
仿真简易电子琴Word格式.docx_第6页
第6页 / 共17页
仿真简易电子琴Word格式.docx_第7页
第7页 / 共17页
仿真简易电子琴Word格式.docx_第8页
第8页 / 共17页
仿真简易电子琴Word格式.docx_第9页
第9页 / 共17页
仿真简易电子琴Word格式.docx_第10页
第10页 / 共17页
仿真简易电子琴Word格式.docx_第11页
第11页 / 共17页
仿真简易电子琴Word格式.docx_第12页
第12页 / 共17页
仿真简易电子琴Word格式.docx_第13页
第13页 / 共17页
仿真简易电子琴Word格式.docx_第14页
第14页 / 共17页
仿真简易电子琴Word格式.docx_第15页
第15页 / 共17页
仿真简易电子琴Word格式.docx_第16页
第16页 / 共17页
仿真简易电子琴Word格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

仿真简易电子琴Word格式.docx

《仿真简易电子琴Word格式.docx》由会员分享,可在线阅读,更多相关《仿真简易电子琴Word格式.docx(17页珍藏版)》请在冰点文库上搜索。

仿真简易电子琴Word格式.docx

2,显示和发声子程序3音乐播放子程序

PROTEUS电路图

五:

程序

KEYBUFEQU30H

STH0EQU31H

STL0EQU32H

TEMPEQU33H

SPKEQUP1.6;

蜂鸣器所在端口

ORG0000H

LJMPSTART

ORG0BH

LJMPINT_T0

START:

MOVTMOD,#01H

SETBET0

SETBEA

WAIT:

MOVP2,#0FFH

CLRP2.4;

从第四行开始扫描

MOVA,P2

ANLA,#0FH;

屏蔽高四位,高四位为行,低四位为列

XRLA,#0FH

JZNOKEY1;

判断是否有键按下,没有就跳转

LCALLDELY10MS

MOVA,P2;

消除抖动和干扰

ANLA,#0FH

JZNOKEY1

确定有键按下以后的处理

CJNEA,#0EH,NK1;

是否为第四行第一列的键被按下

MOVKEYBUF,#0;

保存列号

LJMPDK1

NK1:

CJNEA,#0DH,NK2

MOVKEYBUF,#1

NK2:

CJNEA,#0BH,NK3

MOVKEYBUF,#2

NK3:

CJNEA,#07H,NK4

MOVKEYBUF,#3

NK4:

NOP

DK1:

;

第四行的处理

MOVA,KEYBUF

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP0,A

MOVB,#2;

Table1以字保存,所以散转

MULAB

MOVTEMP,A

MOVDPTR,#TABLE1

MOVSTH0,A;

送入高字节

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVSTL0,A;

送入低字节

MOVTL0,A

SETBTR0

DK1A:

MOVA,P2;

判断按键是否松开

JNZDK1A

CLRTR0

NOKEY1:

CLRP2.5

JZNOKEY2

CJNEA,#0EH,NK5

MOVKEYBUF,#4

LJMPDK2

NK5:

CJNEA,#0DH,NK6

MOVKEYBUF,#5

NK6:

CJNEA,#0BH,NK7

MOVKEYBUF,#6

NK7:

CJNEA,#07H,NK8

MOVKEYBUF,#7

NK8:

DK2:

MOVB,#2

MOVSTH0,A

MOVSTL0,A

DK2A:

MOVA,P2

JNZDK2A

NOKEY2:

CLRP2.6

JZNOKEY3

CJNEA,#0EH,NK9

MOVKEYBUF,#8

LJMPDK3

NK9:

CJNEA,#0DH,NK10

MOVKEYBUF,#9

NK10:

CJNEA,#0BH,NK11

MOVKEYBUF,#10

NK11:

CJNEA,#07H,NK12

MOVKEYBUF,#11

NK12:

DK3:

DK3A:

MOVA,P2

JNZDK3A

NOKEY3:

CLRP2.7

JZNOKEY4

CJNEA,#0EH,NK13

MOVKEYBUF,#12

LJMPDK4

NK13:

CJNEA,#0DH,NK14

MOVKEYBUF,#13

NK14:

CJNEA,#0BH,NK15

MOVKEYBUF,#14

NK15:

CJNEA,#07H,NK16

MOVKEYBUF,#15

NK16:

DK4:

DK4A:

JNZDK4A

NOKEY4:

JNBP1.0,MUSIC

LJMPWAIT

MUSIC:

MOVR3,#00H

NEXT:

MOVA,R3

MOVDPTR,#TABLE2

MOVCA,@A+DPTR

JZMUSIC;

如果检测到0000时,再执行一遍

MOVR7,A

INCR3

MOVR2,A

ACALLSONG

SJMPNEXT

;

===歌曲播放子程序===

SONG:

MOVA,R2;

取出节拍

RLA

JNZKEEP

MOVA,#01H

KEEP:

REPEAT:

ACALLEIGHTH

DJNZR2,REPEAT

RET

===产生1/8拍延时子程序===

EIGHTH:

MOVA,R7;

查表取出廷时参数,保存到R4

MOVDPTR,#DELAY_T

MOVR4,A

查表取出1/8拍周期数,保存到R5

MOVDPTR,#S_PARA

MOVR5,A

NEXTCYC:

ACALLSOUND

DJNZR5,NEXTCYC

===发声子程序===

SOUND:

SETBSPK

ACALLSDELAY

CLRSPK

===延时子程序===

SDELAY:

MOVA,R4;

廷时值在R4内

MOVR0,A

XL2:

MOVR1,#03H

DL1:

NOP

DJNZR1,DL1

DJNZR0,XL2

===1/8拍周期表===

S_PARA:

DS1DH

DB15H,16H,00

DB19H,00H,1CH,00H,1FH,21H,00H,25H

DB00H,29H,2CH,00H,31H,34H,37H,00H

DB3EH,41H,00H,49H,00H,52H,57H,00H

DB62H

===延时参数表===

DELAY_T:

DB7EH,77H,00H

DB6AH,00H,5EH,00H,54H,4FH,00H,46H

DB00H,3FH,3BH,00H,35H,32H,2FH,00H

DB2AH,27H,00H,23H,00H,1FH,1DH,0C0H

DB1AH

DELY10MS:

MOVR6,#10

D1:

MOVR7,#248

DJNZR7,$

DJNZR6,D1

RET

INT_T0:

MOVTH0,STH0

MOVTL0,STL0

CPLP1.6

RETI

TABLE:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

TABLE1:

DW64021,64103,64260,64400

DW64524,64580,64684,64777

DW64820,64898,64968,65030

DW65058,65110,65157,65178

===歌曲表===

TABLE2:

DW2202H,2902H,2902H,2902H,2906H,2702H;

我从山中来

DW2502H,2702H,2502H,2402H,2208H;

带着兰花草

DW2E02H,2E02H,2E02H,2E02H,2E06H,2C02H;

种在小园中

DW2902H,2C02H,2D02H,2A02H,2908H;

祈祷花开早

DW2902H,2E02H,2E02H,2C02H,2906H,2702H;

一日看三回

DW2502H,2702H,2502H,2402H,2206H,1D02H;

看得花时过

DW1D02H,2502H,2502H,2402H,2206H,2902H;

兰花却依然

DW2702H,2502H,2402H,2002H,2208H;

苞也无一个

DW0000H;

END

六:

调试与运行

程序写完后,存在一些缺点和错误,经过调试后,能正常发声,但是不能显示键值,经过和同学探讨发现用错了数码管,最后把数码管改成共阴极后,终于也能显示键值了。

而且在运行歌曲时,由于CPU不够用,导致发声的时候失真。

运行仿真结果:

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2