📄 initial.asm
字号:
#include I2C.HED
extern _MAIN:near
;extern _INTERRUPT_INT_KEY:near
extern _INTERRUPT_TIMER1_I2C:near
;extern _INTERRUPT_TIME2_KEY:near
;extern _INTERRUPT_TIMER3_FLASH:near
PUBLIC _SPEECH_BUSY,_SPEECH_INITIAL,_SPEECH_STOP,_SPEECH_CLEAR
PUBLIC _SPEECH,SPEECH0
PUBLIC _SPEECH_VOLUME,SPEECH_VOLUME0
@SPEECH_DATA_SEGMENT .section 'data'
SPEECH0 DB ?
SPEECH_VOLUME0 DB ?
@SPEECH_CODE_SEGMENT .section at 00h 'code'
org 00h ;Initial Address
jmp _MAIN
org 04h ;External Interrupt Subroutine
;jmp _INTERRUPT_INT_KEY
reti
org 08h ;Timer 0 Interrupt Subroutine
jmp Sr1Isr
reti
org 0ch ;Timer 1 Interrupt Subroutine
jmp _INTERRUPT_TIMER1_I2C
reti
org 10h ;Timer 2 Interrupt Subroutine
;jmp _INTERRUPT_TIME2_KEY
reti
org 14h ;Timer 3 Interrupt Subroutine(RTC)
; jmp _INTERRUPT_TIMER3_FLASH
reti
_SPEECH_INITIAL:
call CLRRAM
call FUNCCHECKSUM
set fStandBy
ret
_SPEECH_CLEAR:
MOV A,0d2H
MOV MP0,A
CLR WDT
CLR R0
SIZ MP0
JMP $-3
ret
_SPEECH_STOP:
set fStop
; set fPause
ret
_SPEECH_BUSY:
snz fStandBy
jmp SpeechBusy
mov A,00h
jmp CheckSpeechEnd
SpeechBusy:
mov A,0ffh
CheckSpeechEnd:
ret
_SPEECH_VOLUME:
MOV A,SPEECH_VOLUME0
XOR A,01h
SZ [0ah].2
JMP VOLUME_1
MOV A,SPEECH_VOLUME0
XOR A,02h
SZ [0ah].2
JMP VOLUME_2
JMP _SPEECH_VOLUME_END
VOLUME_1:
call VolumeDown
call VolumeDown
JMP _SPEECH_VOLUME_END
VOLUME_2:
call VolumeUp
call VolumeUp
_SPEECH_VOLUME_END:
ret
_SPEECH:
CLR ET0I
MOV a,80H
MOV dah,a
set dac
MOV A,SPEECH0
XOR A,00h
SZ [0ah].2
JMP SPEECH_0
MOV A,SPEECH0
XOR A,01h
SZ [0ah].2
JMP SPEECH_1
MOV A,SPEECH0
XOR A,02h
SZ [0ah].2
JMP SPEECH_2
MOV A,SPEECH0
XOR A,03h
SZ [0ah].2
JMP SPEECH_3
MOV A,SPEECH0
XOR A,04h
SZ [0ah].2
JMP SPEECH_4
MOV A,SPEECH0
XOR A,05h
SZ [0ah].2
JMP SPEECH_5
MOV A,SPEECH0
XOR A,06h
SZ [0ah].2
JMP SPEECH_6
MOV A,SPEECH0
XOR A,07h
SZ [0ah].2
JMP SPEECH_7
MOV A,SPEECH0
XOR A,08h
SZ [0ah].2
JMP SPEECH_8
MOV A,SPEECH0
XOR A,09h
SZ [0ah].2
JMP SPEECH_9
MOV A,SPEECH0
XOR A,0ah
SZ [0ah].2
JMP SPEECH_10
MOV A,SPEECH0
XOR A,0bh
SZ [0ah].2
JMP SPEECH_11
MOV A,SPEECH0
XOR A,0ch
SZ [0ah].2
JMP SPEECH_12
MOV A,SPEECH0
XOR A,0dh
SZ [0ah].2
JMP SPEECH_13
MOV A,SPEECH0
XOR A,0eh
SZ [0ah].2
JMP SPEECH_14
MOV A,SPEECH0
XOR A,0fh
SZ [0ah].2
JMP SPEECH_15
MOV A,SPEECH0
XOR A,10h
SZ [0ah].2
JMP SPEECH_16
MOV A,SPEECH0
XOR A,11h
SZ [0ah].2
JMP SPEECH_17
MOV A,SPEECH0
XOR A,12h
SZ [0ah].2
JMP SPEECH_18
MOV A,SPEECH0
XOR A,13h
SZ [0ah].2
JMP SPEECH_19
MOV A,SPEECH0
XOR A,14h
SZ [0ah].2
JMP SPEECH_20
MOV A,SPEECH0
XOR A,15h
SZ [0ah].2
JMP SPEECH_21
MOV A,SPEECH0
XOR A,16h
SZ [0ah].2
JMP SPEECH_22
MOV A,SPEECH0
XOR A,17h
SZ [0ah].2
JMP SPEECH_23
MOV A,SPEECH0
XOR A,18h
SZ [0ah].2
JMP SPEECH_24
MOV A,SPEECH0
XOR A,19h
SZ [0ah].2
JMP SPEECH_25
MOV A,SPEECH0
XOR A,1ah
SZ [0ah].2
JMP SPEECH_26
MOV A,SPEECH0
XOR A,1bh
SZ [0ah].2
JMP SPEECH_27
MOV A,SPEECH0
XOR A,1ch
SZ [0ah].2
JMP SPEECH_28
MOV A,SPEECH0
XOR A,1dh
SZ [0ah].2
JMP SPEECH_29
MOV A,SPEECH0
XOR A,1eh
SZ [0ah].2
JMP SPEECH_30
MOV A,SPEECH0
XOR A,1fh
SZ [0ah].2
JMP SPEECH_31
MOV A,SPEECH0
XOR A,20h
SZ [0ah].2
JMP SPEECH_32
MOV A,SPEECH0
XOR A,21h
SZ [0ah].2
JMP SPEECH_33
MOV A,SPEECH0
XOR A,22h
SZ [0ah].2
JMP SPEECH_34
MOV A,SPEECH0
XOR A,23h
SZ [0ah].2
JMP SPEECH_35
MOV A,SPEECH0
XOR A,24h
SZ [0ah].2
JMP SPEECH_36
MOV A,SPEECH0
XOR A,25h
SZ [0ah].2
JMP SPEECH_37
MOV A,SPEECH0
XOR A,26h
SZ [0ah].2
JMP SPEECH_38
MOV A,SPEECH0
XOR A,27h
SZ [0ah].2
JMP SPEECH_39
jmp SpeechProcess
SPEECH_0:
Speech 0,8000,0,0,1,7
jmp SpeechProcess
SPEECH_1:
Speech 1,8000,0,0,1,7
jmp SpeechProcess
SPEECH_2:
Speech 2,8000,0,0,1,7
jmp SpeechProcess
SPEECH_3:
Speech 3,8000,0,0,1,7
jmp SpeechProcess
SPEECH_4:
Speech 4,8000,0,0,1,7
jmp SpeechProcess
SPEECH_5:
Speech 5,8000,0,0,1,7
jmp SpeechProcess
SPEECH_6:
Speech 6,8000,0,0,1,7
jmp SpeechProcess
SPEECH_7:
Speech 7,8000,0,0,1,7
jmp SpeechProcess
SPEECH_8:
Speech 8,8000,0,0,1,7
jmp SpeechProcess
SPEECH_9:
Speech 9,8000,0,0,1,7
jmp SpeechProcess
SPEECH_10:
Speech 10,8000,0,0,1,7
jmp SpeechProcess
SPEECH_11:
Speech 11,8000,0,0,1,7
jmp SpeechProcess
SPEECH_12:
Speech 12,8000,0,0,1,7
jmp SpeechProcess
SPEECH_13:
Speech 13,8000,0,0,1,7
jmp SpeechProcess
SPEECH_14:
Speech 14,8000,0,0,1,7
jmp SpeechProcess
SPEECH_15:
Speech 15,8000,0,0,1,7
jmp SpeechProcess
SPEECH_16:
Speech 16,8000,0,0,1,7
jmp SpeechProcess
SPEECH_17:
Speech 17,8000,0,0,1,7
jmp SpeechProcess
SPEECH_18:
Speech 18,8000,0,0,1,7
jmp SpeechProcess
SPEECH_19:
Speech 19,8000,0,0,1,7
jmp SpeechProcess
SPEECH_20:
Speech 20,8000,0,0,1,7
jmp SpeechProcess
SPEECH_21:
Speech 21,8000,0,0,1,7
jmp SpeechProcess
SPEECH_22:
Speech 22,8000,0,0,1,7
jmp SpeechProcess
SPEECH_23:
Speech 23,8000,0,0,1,7
jmp SpeechProcess
SPEECH_24:
Speech 24,8000,0,0,1,7
jmp SpeechProcess
SPEECH_25:
Speech 25,8000,0,0,1,7
jmp SpeechProcess
SPEECH_26:
Speech 26,8000,0,0,1,7
jmp SpeechProcess
SPEECH_27:
Speech 27,8000,0,0,1,7
jmp SpeechProcess
SPEECH_28:
Speech 28,8000,0,0,1,7
jmp SpeechProcess
SPEECH_29:
Speech 29,8000,0,0,1,7
jmp SpeechProcess
SPEECH_30:
Speech 30,8000,0,0,1,7
jmp SpeechProcess
SPEECH_31:
Speech 31,8000,0,0,1,7
jmp SpeechProcess
SPEECH_32:
Speech 32,8000,0,0,1,7
jmp SpeechProcess
SPEECH_33:
Speech 33,8000,0,0,1,7
jmp SpeechProcess
SPEECH_34:
Speech 34,8000,0,0,1,7
jmp SpeechProcess
SPEECH_35:
Speech 35,8000,0,0,1,7
jmp SpeechProcess
SPEECH_36:
Speech 36,8000,0,0,1,7
jmp SpeechProcess
SPEECH_37:
Speech 37,8000,0,0,1,7
jmp SpeechProcess
SPEECH_38:
Speech 38,8000,0,0,1,7
jmp SpeechProcess
SPEECH_39:
Speech 39,8000,0,0,1,7
jmp SpeechProcess
SpeechProcess:
clr fStandBy
set ET1I
set ET2I
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -