该系统有两个大的功能,用户可以选择是25键钢琴,或点歌系统
在主界面中:
按“1”,便可进入25键 钢琴 界面
按“2” 便可进入 点歌系统
按“Q” 便可退出整个系统
按下其它的键,窗口界面下的单独一个明显的行里会提示错误
在25键钢琴界面下:(键盘上的26个字母中,只有一个V没有用到)
按除V之外的其它任何英文字母,主板都会发音
按“R” 便可跳回到主界面
按“Q”便可退出整个系统
按不发音的键时,窗口界面下的单独一个明显的行里会提示错误
在点歌系统界面下:
按“1” 便可播放第一首歌
按“2” 便可播放第二首歌
按“3” 便可播放第三首歌
按“4” 便可播放第四首歌
在播放歌曲的时候,如果按下“E”便可停止播放歌曲
按“R” 便可跳回到主界面
按“Q”便可退出整个系统
按其它的任何键,窗口界面下的单独一个明显的行里会提示错误
另外在播放音乐的时候,在输入窗口里会提示所播放的歌曲名
流程图:
源程序如下:
;#################################################
DATA SEGMENT
;------------------------------------------------
;音乐
MUS_F1 DW 330,294,262,294,3 DUP(330),3 DUP(294),330,392,392 ;26
DW 330,294,262,294,4 DUP(330),294,294,330,294,262,-1 ;-1是频率完成的标志
MUS_T1 DW 6 DUP(5),10,2 DUP(5,5,10),12 DUP(5),10
MUS_F2 DW 7 DUP(330),392,262,294,330,4 DUP(349),2 DUP(330),330,294,294,262,294,392
DW 7 DUP(330),392,262,294,330,4 DUP(349),2 DUP(330),392,392,349,294,262,-1
MUS_T2 DW 2 DUP(5,5,10),4 DUP(5),10,2 DUP(5,5,10) ;45
DW 4 DUP(5),2 DUP(10),2 DUP(5,5,10)
DW 4 DUP(5),10,2 DUP(5,5,10),4 DUP(5),10
MUS_F3 DW 262,262,392,392,440,440,392,349,349,330,330,294,294,262 ; 42
DW 2 DUP(392,392,349,349,330,330,294)
DW 262,262,392,392,440,440,392,349,349,330,330,294,294,262,-1
MUS_T3 DW 3 DUP(6 DUP(5),10,6 DUP(5),10)
MUS_F4 DW 392,330,330,349,294,294,262,294,330,349,4 DUP(392),330,330,349,294,294
DW 262,330,392,392,3 DUP(330),5 DUP(294),330,349,5 DUP(330),349,392
DW 392,330,330,349,294,294,262,330,392,392,262,-1
MUS_T4 DW 2 DUP(5,5,10),4 DUP(5),3 DUP(5,5,10) ;51
DW 3 DUP(6 DUP(5),10)
DW 2 DUP(5,5,10),4 DUP(5),10
;-----------------------------------------------
;钢琴
COLLATE1 DB 'AQZWSXEDRCTFGYBUHNIJOMPKL'
TALE DW 131 ;A 0 这边不能给它取名为table table是不是内部的一个关键字
DW 139 ;Q 1
DW 147 ;Z 2
DW 156 ;W 3
DW 165 ;S 4
DW 175 ;X 5
DW 185 ;E 6
DW 196 ;D 7
DW 208 ;R 8
DW 220 ;C 9
DW 233 ;T 10
DW 247 ;F 11
DW 262 ;G 12
DW 277 ;Y 13
DW 294 ;B 14
DW 311 ;U 15
DW 330 ;H 16
DW 349 ;N 17
DW 370 ;I 18
DW 392 ;J 19
DW 415 ;O 20
DW 440 ;M 21
DW 466 ;P 22
DW 494 ;K 23
DW 523 ;L 24
;---------------------------------------------------
;09H HT 制表Tab:一次移动8个空格的位置
;0AH LF 换行:换到下一行同列位置
;0DH CR 回车:回到本行首位
HOSTMAI DB 0DH,0AH;显示主菜单
DB 09H,09H,' ','**************************************',0DH,0AH ;38ch=6,cl=16
DB 09H,09H,' ','* The program menu is that: *',0DH,0AH ;先回车后换行 dh=6 dl=21
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','* 1:piano *',0DH,0AH
DB 09H,09H,' ','* 2:music *',0DH,0AH
DB 09H,09H,' ','* Q:exit *',0DH,0AH ;退出总程序
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','**************************************',0DH,0AH
DB 0DH,0AH,09H,09H,' ',' Input number(1~2) to choose the mu',0DH,0AH
DB 09H,09H,' ','sic you want[q to exit!],input:','$'
HOSTMUS DB 0DH,0AH ;音乐菜单显示的内容
DB 09H,09H,' ','**************************************',0DH,0AH ; 38列 ch=5,cl=18
DB 09H,09H,' ','* The music menu is that: *',0DH,0AH ; dh=5 dl=21
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','* 1:Mary Had a little Lamb *',0DH,0AH ;玛丽有只小羊羔
DB 09H,09H,' ','* 2:Christmas ring *',0DH,0AH ;圣诞铃声
DB 09H,09H,' ','* 3:Little Starlet *',0DH,0AH ;小星星
DB 09H,09H,' ','* 4:Little bee *',0DH,0AH ;小蜜蜂
DB 09H,09H,' ','* E:exit music *',0DH,0AH;中断音乐播放
DB 09H,09H,' ','* R:backtrack *',0DH,0AH;回到上一层
DB 09H,09H,' ','* Q:exit *',0DH,0AH;退出总程序
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','**************************************',0DH,0AH
DB 0DH,0AH,09H,09H,' ',' Input number(1~4) to choose the mu',0DH,0AH
DB 09H,09H,' ','sic you want[q to exit!],input:','$'
MUSIC_1 DB 0DH,0AH,09H,09H,' ','Play: Mary Had a little Lamb','$'
MUSIC_2 DB 0DH,0AH,09H,09H,09H,' ','Play: Christmas ring','$'
MUSIC_3 DB 0DH,0AH,09H,09H,09H,' ','Play: Little Starlet','$'
MUSIC_4 DB 0DH,0AH,09H,09H,09H,' ','Play: Little bee','$'
HOSTPIA DB 0DH,0AH ;钢琴介面的内容
DB 09H,' ','***************************************************',0DH,0AH ; 51列
DB 09H,' ','* The piano menu is that: *',0DH,0AH
DB 09H,' ','* *',0DH,0AH
DB 09H,' ','* Q W E R T Y U I O P *',0DH,0AH
DB 09H,' ','* 139 156 185 208 233 277 311 370 415 466 *',0DH,0AH
DB 09H,' ','* *',0DH,0AH
DB 09H,' ','* A S D F G H J K L *',0DH,0AH
DB 09H,' ','* 131 165 196 247 262 330 392 494 523 *',0DH,0AH
DB 09H,' ','* *',0DH,0AH
DB 09H,' ','* Z X C V B N M *',0DH,0AH
DB 09H,' ','* 147 175 220 294 349 440 *',0DH,0AH
DB 09H,' ','* *',0DH,0AH
DB 09H,' ','* *',0DH,0AH
DB 09H,' ','* 1:backtrack 2:exit *',0DH,0AH ;回到上一层
DB 09H,' ','* *',0DH,0AH ;退出总程序
DB 09H,' ','***************************************************',0DH,0AH
DB 0AH,09H,' ',' Input number(a~z) to choose the music you want',0DH,0AH
DB 09H,' ','[q to exit!],input:','$'
BACKS DB 0DH,0AH
DB 09H,09H,' ','****************************************',0DH,0AH
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','* Q Q :316580662 *',0DH,0AH
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','* E_mail:ptxy.slb@163.com *',0DH,0AH
DB 09H,09H,' ','* *',0DH,0AH
DB 09H,09H,' ','* ^_^ ^_^ ^_^ ^_^ ^_^ *',0DH,0AH
DB 09H,09H,' ','****************************************','$'
HOSTERR DB 0DH,0AH ;错误提示的内容
DB 09H,09H,' ','!!! -_- you input a wrong number !!!',0DH,0AH,'$'
DATA ENDS