📄
字号:
;********************************
; 初始化 (调试通过)
;********************************
PROC CSH CSH2
CSH:
CLR EA
;-----输出端口-----------
MOV P0,#11111111B
MOV P1,#11111111B
MOV P2,#11111111B
MOV P3,#11111111B
;-----延时--------------
MOV A,#200
LCALL YS_MS ;延时毫秒
;-----输出端口-----------
MOV P0,#11111111B
MOV P1,#11111111B
MOV P2,#11111111B
MOV P3,#11111111B
;-----不允许373输出------
SETB YX373 ;禁止第1,2板输出
MOV P2,#0FFH ;数据
MOV P1,#0FFH ;输入第1,2板.3板1,2,3组. 禁止3板1,2,3组
MOV P1,#00111000B ;锁存. CS2/CS1/OE3_3/OE3_2/OE3_1/CP3_3/CP3_2/CP3_1
;-----RAM=0-------------
;-----保护断点--
CLR EA
POP ACC
MOV R0,#0FFH
MOV @R0,A
POP ACC
MOV R0,#0FEH
MOV @R0,A
;-----RAM=0-----
MOV B,#0
MOV R0,#0FDH
CSH_RAM:
MOV @R0,B
DJNZ R0,CSH_RAM
;-----恢复断点--
MOV R0,#0FEH
MOV A,@R0
PUSH ACC
MOV R0,#0FFH
MOV A,@R0
PUSH ACC
;-----@FE,@FF,R0=0
MOV R0,#0FEH
MOV @R0,B
MOV R0,#0FFH
MOV @R0,B
MOV R0,B
;-----0工作区------------
CLR RS1
CLR RS0
;-----使用内部扩展RAM----
MOV AUXR,#00000001B ;内部扩展RAM,ALE无输出
;-----使用DPTR0----------
MOV AUXR1,#0 ;DPTR=DPTR0
;-----EXRAM 赋初值-------
MOV A,#0
MOV DPTR,#0000H
CSH_EXTRAM:
MOVX @DPTR,A
INC DPTR
MOV R0,DPH
CJNE R0,#01H,CSH_EXTRAM
;-----RAM 赋初值---------
LCALL FWRAM
;-----8K+56K-------------
;MOV SFCF,#0 ;SFCF[1:0]=00
;-----强迫考贝检测-------
;LCALL QPCPJC
;-----首次开机检测-------
;LCALL SCKJJC
;-----参数表检测---------
;LCALL CSBJC
;-----64K----------------
MOV SFCF,#1 ;SFCF[1:0]=01
;-----设置T0,T1,T2-------
LCALL SZT0T1T2
;-----初始化1结束--------
LCALL CSH2
;-----初始化2结束--------
RET
include "软件陷阱.asm"
;********************************
; 初始化2
;********************************
CSH2:
;-----声卡--------------
LCALL SKYFW ;声卡硬复位(无数据发出)
;--------------
LCALL MIDI_HWKZQ ;复位控制器
LCALL FSCL ;启动发送(发送处理)
JB BZ_FSWB,$ ;等待开始发送(发送完毕标志,1=完)
JNB BZ_FSWB,$ ;等待发完
;--------------
LCALL MIDI_CSH ;MIDI初始化
LCALL FSCL ;启动发送
JB BZ_FSWB,$ ;等待开始发送
JNB BZ_FSWB,$ ;等待发完
;--------------
LCALL MIDI_GBHY ;关闭滑音
LCALL FSCL ;启动发送
JB BZ_FSWB,$ ;等待开始发送
JNB BZ_FSWB,$ ;等待发完
;--------------
LCALL MIDI_GBCY ;关闭颤音
LCALL FSCL ;启动发送
JB BZ_FSWB,$ ;等待开始发送
JNB BZ_FSWB,$ ;等待发完
;--------------
LCALL MIDI_GBTB ;关闭踏板
LCALL FSCL ;启动发送
JB BZ_FSWB,$ ;等待开始发送
JNB BZ_FSWB,$ ;等待发完
;--------------
LCALL MIDI_GBYF ;关闭音符
LCALL FSCL ;启动发送
JB BZ_FSWB,$ ;等待开始发送
JNB BZ_FSWB,$ ;等待发完
;--------------
LCALL MIDI_YLTZ ;MIDI音量调整
LCALL FSCL ;启动发送
JB BZ_FSWB,$ ;等待开始发送
JNB BZ_FSWB,$ ;等待发完
;--------------
LCALL MIDI_SK_CSH ;声卡初始化
LCALL FSCL ;启动发送
JB BZ_FSWB,$ ;等待开始发送
JNB BZ_FSWB,$ ;等待发完
;-----初始化2结束--------
RET
include "软件陷阱.asm"
;********************************
END
;********************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -