📄 62429b.dt
字号:
;DEFINE RAM
IND == 0
RTC == 1
PC == 2
STATUS ==3
FSR == 4
RA == 5
RB == 6
;*********************************
;DEFINE STUTAS BIT
C==0
Z==2
;*********************************
;DEFINE RA BIT
R0 == 0
R1 == 1
R2 == 2
R3 == 3
;*********************************
;DEFINE RB BIT
DATA==4
CLK==5
;*********************************
;DEFINE INTR
INTR == 0XF
TCIF == 0
ICIF == 1
EXIF == 2
;*********************************
;DEFINE CONT BIT
PAB == 3
TE == 4
TS == 5
INT_FLG == 6
;*********************************
;DEFINE PULL_DOWN
IOCB == 0XB
;*********************************
;DEFINE OPEN_DOWN
IOCC == 0XC
;*********************************
;DEFINE PULL_HIGH
IOCD == 0XD
;*********************************
;DEFINE WDT BIT
IOCE == 0XE
ROC == 4
EIS == 6
WDTE == 7
;DEFINE INT MASK
;*********************************
IOCF == 0XF
TCIE == 0
ICIE == 1
EXIE == 2
;***********RAM DEFINE**********************
TEMP1 == 0X12
TEMP2 == 0X13
TEMP3 == 0X14
TEMP4 == 0X15
TEMP5 == 0X16
TEMP6 == 0X17
TEMP7 == 0X18
TIME == 0X19
;*******************************
ORG 0X0
;****************************
MOV A,@0X0F
IOW RA
MOV A,@0X0
IOW RB
MOV A,@0X13
MOV TEMP4,A
MAIN2:
CALL KEYSCAN1
MOV A,TEMP4
CALL VOL_DATA
MOV TEMP5,A
CALL WRITER
CALL KEY_RELEASE
JMP MAIN2
;********KEYSCAN******************
KEYSCAN1:
MOV A,RA
MOV TEMP7,A
SUB A,@0XF
JBS STATUS,Z
JMP KEY1
JMP KEYSCAN1
KEY1:
JBS RA,R0
JMP KEY1_1
JBS RA,R1
JMP KEY2_1
JMP KEYSCAN1
KEY1_1:
DEC TEMP4
MOV A,@0X0
SUB A,TEMP4
JBC STATUS,Z
INC TEMP4
RET
KEY2_1:
INC TEMP4
MOV A,@0X14
SUB A,TEMP4
JBC STATUS,Z
DEC TEMP4
RET
;********************************
KEY_RELEASE:
MOV A,RA
SUB A,TEMP7
JBC STATUS,Z
JMP KEY_RELEASE
RET
;*************ABJ VOL******************
VOL_DATA:
ADD PC,A
RETL @0B01010111 ; 0dB 1
RETL @0B00010111 ; -4dB 2
RETL @0B01100111 ;-8dB 3
RETL @0B00100111 ;-12dB 4
RETL @0B01000111 ;-16dB 5
RETL @0B00000111 ;-20dB 6
RETL @0B01111011 ; -24dB 7
RETL @0B00111011 ; -28dB 8
RETL @0B01011011 ;-32dB 9
RETL @0B00011011 ;-36dB 10
RETL @0B01101011 ; -40dB 11
RETL @0B00101011 ; -44dB 12
RETL @0B01001011 ;-48dB 13
RETL @0B00001011 ;-52dB 14
RETL @0B01110011 ;-56dB 15
RETL @0B00110011 ;-60dB 16
RETL @0B01010011 ; -64dB 17
RETL @0B00010011 ; -68dB 18
RETL @0B01100011 ;-72dB 19
RETL @0B00100011 ;-76dB 20
RETL @0B01000011 ; -80dB 21
RETL @0B00000011 ; 22
;*******************************
WRITER:
CALL D4MS
CALL D4MS
CALL D4MS
CALL D4MS
CALL D4MS
;*************************************
;**********WRITER DATA TO FM62429*****
BC RB,CLK
BS RB,DATA ;DATA 1
BS RB,CLK
CALL D4MS
BC RB,DATA
BC RB,CLK
MOV A,@0X08
MOV TEMP3,A
LOOP:
RLC TEMP5
JBC STATUS,C
BS RB,DATA
JBS STATUS,C
BC RB,DATA
BS RB,CLK
CALL D4MS
BC RB,DATA
BC RB,CLK
CALL D4MS
DJZ TEMP3
JMP LOOP
;********** 10,11BIT *******************
BS RB,DATA ;DATA 10
BS RB,CLK
CALL D4MS
BC RB,DATA
BC RB,CLK
CALL D4MS
BS RB,DATA ;DATA 11
BS RB,CLK
CALL D4MS
CALL D4MS
BC RB,CLK
CALL D4MS
BC RB,DATA ;DATA 12
BS RB,CLK
RET
;*************DELAY TIME*********
D4MS:
MOV A,@0X00
JMP DLYX
D120US:
MOV A,@0X1
DLYX:
MOV TEMP1,A
DLY:
MOV A,@0X2
MOV TEMP2,A
DLY4:
NOP
DJZ TEMP2
JMP DLY4
DJZ TEMP1
JMP DLY
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -