📄 p08008-1.asm
字号:
;裘丰铭 2008、2月14日
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INCLUDE "ADAM41K.LIB"
ESD1 EQU 00H
ESD2 EQU 01H
TIME0_MARK EQU 02H
TIME1_MARK EQU 03H
KEY_COUNT1 EQU 10H
KEY_COUNT2 EQU 11H
KEY_COUNT3 EQU 12H
KEY_COUNT4 EQU 13H
VARIABLE1 EQU 14H
VARIABLE2 EQU 15H
SAVE_A EQU 16H
KEY_STATUS EQU 17H
PHDR_MARK EQU 18H
SRS_DATA1 EQU 20H
SRS_DATA2 EQU 21H
SRS_DATA3 EQU 22H
SRS_DATA4 EQU 23H
SRS_DATA5 EQU 24H
SRS_DATA6 EQU 25H
SRS_DATA7 EQU 26H
SRS_DATA8 EQU 27H
SRS_DATA9 EQU 28H
SRS_DATA10 EQU 29H
SRS_DATA11 EQU 2AH
SRS_DATA12 EQU 2BH
SRS_DATA13 EQU 2CH
SRS_DATA14 EQU 2DH
SRS_DATA15 EQU 2EH
SRS_DATA16 EQU 2FH
SRS_DATA17 EQU 30H
SRS_DATA18 EQU 31H
SRS_DATA19 EQU 32H
SRS_DATA20 EQU 33H
SRS_DATA21 EQU 34H
SRS_DATA22 EQU 35H
SRS_DATA23 EQU 36H
SRS_DATA24 EQU 37H
SRS_DATA25 EQU 38H
SRS_DATA26 EQU 39H
SRS_DATA27 EQU 3AH
SRS_DATA28 EQU 3BH
SRS_DATA29 EQU 3CH
SRS_DATA30 EQU 3DH
SRS_DATA31 EQU 3EH
SRS_DATA32 EQU 3FH
ESD3 EQU 40H
SRS_DATA33 EQU 41H
SRS_DATA34 EQU 42H
SRS_DATA35 EQU 43H
SRS_DATA36 EQU 44H
SRS_I2C_IN1 EQU 45H
SRS_I2C_IN2 EQU 46H
SRSAI_ACTION EQU 47H
SRSAI_FLOW EQU 48H
SRSAI_C1 EQU 49H
SRSAI_C2 EQU 4AH
PBDR_M EQU 4CH
CHANNEL_MARK EQU 60H
MODE_MARK EQU 61H
EQ_MARK EQU 62H
STATUS_MARK EQU 63H
SPEAKER_VOL1 EQU 64H
SPEAKER_VOL2 EQU 65H
INPUT_VOL1 EQU 66H
INPUT_VOL2 EQU 67H
SUB_VOL1 EQU 68H
SUB_VOL2 EQU 69H
VOL_FULL EQU 6AH
ESD4 EQU 70H
VOL_I2C_IN1 EQU 71H
VOL_I2C_IN2 EQU 72H
VOL_DATA1 EQU 73H
VOL_DATA2 EQU 74H
VOL_DATA3 EQU 75H
VOL_DATA4 EQU 76H
VOL_DATA_H EQU 77H
VOL_DATA_L EQU 78H
RADIO_I2C_IN1 EQU 80H
RADIO_I2C_IN2 EQU 81H
RADIO_DATA00H1 EQU 82H
RADIO_DATA00H2 EQU 83H
RADIO_DATA00H3 EQU 84H
RADIO_DATA00H4 EQU 85H
RADIO_DATA01H1 EQU 86H
RADIO_DATA01H2 EQU 87H
RADIO_DATA01H3 EQU 88H
RADIO_DATA01H4 EQU 89H
RADIO_DATA02H1 EQU 8AH
RADIO_DATA02H2 EQU 8BH
RADIO_DATA02H3 EQU 8CH
RADIO_DATA02H4 EQU 8DH
RADIO_DATA03H1 EQU 8EH
RADIO_DATA03H2 EQU 8FH
RADIO_DATA03H3 EQU 90H
RADIO_DATA03H4 EQU 91H
RADIO_DATA04H1 EQU 92H
RADIO_DATA04H2 EQU 93H
RADIO_DATA04H3 EQU 94H
RADIO_DATA04H4 EQU 95H
RADIO_DATA05H1 EQU 96H
RADIO_DATA05H2 EQU 97H
RADIO_DATA05H3 EQU 98H
RADIO_DATA05H4 EQU 99H
RADIO_DATA06H1 EQU 9AH
RADIO_DATA06H2 EQU 9BH
RADIO_DATA06H3 EQU 9CH
RADIO_DATA06H4 EQU 9DH
RADIO_DATA07H1 EQU 9EH
RADIO_DATA07H2 EQU 9FH
RADIO_DATA07H3 EQU 0A1H
RADIO_DATA07H4 EQU 0A2H
RADIO_DATA08H1 EQU 0A3H
RADIO_DATA08H2 EQU 0A4H
RADIO_DATA08H3 EQU 0A5H
RADIO_DATA08H4 EQU 0A6H
RADIO_DATA09H1 EQU 0A7H
RADIO_DATA09H2 EQU 0A8H
RADIO_DATA09H3 EQU 0A9H
RADIO_DATA09H4 EQU 0AAH
RADIO_DATA0AH1 EQU 0ABH
RADIO_DATA0AH2 EQU 0ACH
RADIO_DATA0AH3 EQU 0ADH
RADIO_DATA0AH4 EQU 0AEH
RADIO_DATA0BH1 EQU 0AFH
RADIO_DATA0BH2 EQU 0B0H
RADIO_DATA0BH3 EQU 0B1H
RADIO_DATA0BH4 EQU 0B2H
RADIO_DATA0CH1 EQU 0B3H
RADIO_DATA0CH2 EQU 0B4H
RADIO_DATA0CH3 EQU 0B5H
RADIO_DATA0CH4 EQU 0B6H
RADIO_DATA0DH1 EQU 0B7H
RADIO_DATA0DH2 EQU 0B8H
RADIO_DATA0DH3 EQU 0B9H
RADIO_DATA0DH4 EQU 0BAH
RADIO_DATA0EH1 EQU 0BBH
RADIO_DATA0EH2 EQU 0BCH
RADIO_DATA0EH3 EQU 0BDH
RADIO_DATA0EH4 EQU 0BEH
ESD5 EQU 0D0H
R_MARK_1 EQU 0D2H
R_MARK_2 EQU 0D3H
R_DATA_1 EQU 0D4H
R_DATA_2 EQU 0D5H
R_DATA_3 EQU 0D6H
R_DATA_4 EQU 0D7H
R_DATA_5 EQU 0D8H
R_DATA_6 EQU 0D9H
R_DATA_7 EQU 0DAH
R_DATA_8 EQU 0DBH
R_DATA EQU 0DCH
R_KEY_OUT1 EQU 0E4H
R_KEY_OUT2 EQU 0E5H
R_KEY_DATA1 EQU 0E7H
R_KEY_DATA2 EQU 0E8H
R_KEY_C1 EQU 0EAH
R_KEY_C2 EQU 0EBH
R_KEY_C3 EQU 0ECH
R_KEY_STATUS1 EQU 0EEH
R_KEY_STATUS2 EQU 0EFH
SERIES_ACTION EQU 0F0H
SERIES_C EQU 0F1H
SERIES_R EQU 0F2H
LED_DATA1 EQU 0F4H
LED_DATA2 EQU 0F5H
LED_DATA3 EQU 0F6H
LED_DATA4 EQU 0F7H
LEDAI_ACTION EQU 0F9H
LEDAI_C1 EQU 0FBH
LEDAI_C2 EQU 0FCH
ESD6 EQU 0FEH
ESD7 EQU 0FFH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ORG 0000H
WDTC
BR !START
CLRR1 T1MR.#2
BR !REMOTE_F
WDTC
BR !START
LDM TIME0_MARK,#1111B
RETI
LDM TIME1_MARK,#1111B
RETI
WDTC
BR !START
START:
DI
SPC
WDTC
LRI R1FN,#0000B
LRI R1OD,#1111B
LRI R1PC,#1111B
LRI R1DD,#1111B
LRI R1DR,#1111B
LRI R1ST,#1111B
LRI PBFN,#0001B
LRI PBOD,#1100B
LRI PBPC,#1110B
LRI PBDD,#1100B
LRI PBDR,#1111B
LRI PBST,#1111B
LRI PGFN,#0000B
LRI PGOD,#0000B
LRI PGDD,#0000B
LRI PGDR,#1111B
LRI PHFN,#0000B
LRI PHOD,#1111B
LRI PHDD,#1111B
LRI PHDR,#1011B
LRI CGMR,#0000B
LRI RCR,#0000B
LDM KEY_COUNT1,#00H
LDM KEY_COUNT2,#00H
SET1_LED:
LRI PHDR,#1111B
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI PHDR,#1011B
CLRC
ADDC KEY_COUNT1,#1
LDM KEY_COUNT1,A
ADDC KEY_COUNT2,#0
LDM KEY_COUNT2,A
TSTC
BR !SET1_LED_1
BR !SET1_LED
SET1_LED_1:
LRI PHDR,#1001B
LDM KEY_COUNT1,#00H
LDM KEY_COUNT2,#00H
LDM KEY_COUNT3,#06H
CALL !TIME_DELAY
LDM KEY_COUNT1,#00H
LDM KEY_COUNT2,#00H
SET1_LED_2:
LRI PHDR,#1101B
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LRI PHDR,#1001B
CLRC
ADDC KEY_COUNT1,#1
LDM KEY_COUNT1,A
ADDC KEY_COUNT2,#0
LDM KEY_COUNT2,A
TSTC
BR !SET1_LED_3
BR !SET1_LED_2
SET1_LED_3:
LDM KEY_COUNT1,#00H
LDM KEY_COUNT2,#00H
LDM KEY_COUNT3,#08H
CALL !TIME_DELAY
LRI PHDR,#1000B
LDM VOL_DATA1,#1100B
LDM VOL_DATA3,#0000B
CALL !VOL1_I2C
LDM VOL_DATA1,#1111B
LDM VOL_DATA3,#1001B
CALL !VOL1_I2C
LDM VOL_DATA1,#0000B
LDM VOL_DATA2,#0000B
LDM VOL_DATA3,#0001B
LDM VOL_DATA4,#0000B
CALL !VOL_I2C
LDM VOL_DATA1,#0010B
LDM VOL_DATA2,#0000B
LDM VOL_DATA3,#0011B
LDM VOL_DATA4,#0000B
CALL !VOL_I2C
LDM VOL_DATA1,#0100B
LDM VOL_DATA2,#0000B
LDM VOL_DATA3,#0101B
LDM VOL_DATA4,#0000B
CALL !VOL_I2C
LDM VOL_DATA1,#0110B
LDM VOL_DATA2,#0000B
LDM VOL_DATA3,#0111B
LDM VOL_DATA4,#0000B
CALL !VOL_I2C
LDM VOL_DATA1,#1000B
LDM VOL_DATA2,#0000B
LDM VOL_DATA3,#1001B
LDM VOL_DATA4,#0000B
CALL !VOL_I2C
LDM VOL_DATA1,#1010B
LDM VOL_DATA2,#0000B
LDM VOL_DATA3,#1011B
LDM VOL_DATA4,#0000B
CALL !VOL_I2C
CALL !CL_RAM
LDM ESD1,#0101B
LDM ESD2,#0101B
LDM ESD3,#0101B
LDM ESD4,#0101B
LDM ESD5,#0101B
LDM ESD6,#0101B
LDM ESD7,#0101B
LDM SRS_DATA1,#0000B
LDM SRS_DATA2,#0000B
LDM SRS_DATA3,#0001B
LDM SRS_DATA4,#0000B
LDM SRS_DATA5,#1110B
LDM SRS_DATA6,#0000B
LDM SRS_DATA7,#1111B
LDM SRS_DATA8,#0000B
LDM SRS_DATA9,#1100B
LDM SRS_DATA10,#1000B
LDM SRS_DATA11,#0011B ;左喇叭音量
LDM SRS_DATA12,#1111B
LDM SRS_DATA13,#0011B ;右喇叭音量
LDM SRS_DATA14,#1111B
LDM SRS_DATA15,#0011B ;左耳机音量
LDM SRS_DATA16,#1111B
LDM SRS_DATA17,#0011B ;右耳机音量
LDM SRS_DATA18,#1111B
LDM SRS_DATA19,#0011B ;低音冲压级数
LDM SRS_DATA20,#0010B
LDM SRS_DATA21,#0011B
LDM SRS_DATA22,#1100B
LDM SRS_DATA23,#1110B
LDM SRS_DATA24,#1100B ;LPF 60Hz
LDM SRS_DATA25,#0011B ;重低音音量
LDM SRS_DATA26,#1111B
LDM SRS_DATA27,#0000B
LDM SRS_DATA28,#0000B
LDM SRS_DATA29,#0000B
LDM SRS_DATA30,#0000B
LDM SRS_DATA31,#0000B
LDM SRS_DATA32,#0000B
LDM SRS_DATA33,#0000B
LDM SRS_DATA34,#0000B
LDM SRS_DATA35,#0000B
LDM SRS_DATA36,#0000B
CALL !SRS_I2C_ALL
LDM VOL_DATA1,#1101B ;2258总音量设为最小
LDM VOL_DATA2,#0111B
LDM VOL_DATA3,#1110B
LDM VOL_DATA4,#1001B
CALL !VOL_I2C
;LDM RADIO_DATA00H1,#0100B
;LDM RADIO_DATA00H2,#0000B
;LDM RADIO_DATA00H3,#0000B
;LDM RADIO_DATA00H4,#0000B
;LDM RADIO_DATA01H1,#0000B
;LDM RADIO_DATA01H2,#0001B
;LDM RADIO_DATA01H3,#0101B
;LDM RADIO_DATA01H4,#1110B
;LDM RADIO_DATA02H1,#1010B
;LDM RADIO_DATA02H2,#0100B
;LDM RADIO_DATA02H3,#0000B
;LDM RADIO_DATA02H4,#0000B
;CALL !RADIO_I2C_READ
;
LDM RADIO_DATA03H1,#0100B ;03H(B3工作状态0工作,1休眠;B2保留1;B1左右道输出0有声,1静音;B0左声道输出0有声,1静音)
LDM RADIO_DATA03H2,#0001B ; (B3右声道输出0有声,1静音;B2软件静音0能,1不能;B1搜预设好的台0不能,1能;B0搜台0不能,1能)
LDM RADIO_DATA03H3,#1010B ; (B3搜台0向下,1向上;B2单声道选择0自动,1强迫在单声道模式;B1立休声0不强迫(立体声噪声消除开),1强迫(关);B0高移除0旁路,1能)
LDM RADIO_DATA03H4,#1001B ; (B3低音推进0不能,1能;B2搜台完成中断位0不能中断,1能;B1高低边注入控制0手动,1自动;B0高低边注入手动控制0低,1高)
LDM RADIO_DATA04H1,#0011B ;04H(B3B2声音增加:00-1倍,01-1.5倍,10-2倍,11-2倍;B1B0与DATA18B3B2音量:00最细,11最大)
LDM RADIO_DATA04H2,#1101B ; (B1B0和DATA19B3B2B1B0和DATA20B3B2B1B0(组成CHAN)频道选择:=CHAN*50KHZ+70MHZ)
LDM RADIO_DATA04H3,#0101B
LDM RADIO_DATA04H4,#1110B
LDM RADIO_DATA05H1,#0001B ;05H(B3B2波段选择:00-87.5~108MHZ(US/Europe,CHINA),10-76~90MHZ(JAPEN),11-70~108MHZ;B1B0频段间隔:00-200KHZ,01-100KHZ,10-50KHZ)
LDM RADIO_DATA05H2,#1101B ; (B3不强调0不能,1能;B2不强调0-75US(USA),1-50US(China)B1AFC模式选择0无AFC,1接收调揩;B0AFC极性(接收调揩))
LDM RADIO_DATA05H3,#1100B ; (B3信号质量检查模式0:RSS+Envelop detection/Frequency devivation detection,1:RSSI+Frequency deviation detection;B2接收信号强度指示0不能,1能;B1B0普通I/O口3:00高阻,01MOMO/ST指示,10低电平,11高电平)
LDM RADIO_DATA05H4,#0000B ; (B3B2普通I/O口2:00高阻,01搜台完成中断,10低电平,11高电平;B1B0保留00)
LDM RADIO_DATA06H1,#0000B ;06H(B3频率背离测试模式控制0正常,1快速;B2晶振选择0-32.768KHZ,1-13MHZ;B1振荡器选择0两口晶振,1单口晶振;B0保留0)
LDM RADIO_DATA06H2,#1000B ; (B3保留1;B2B1B0同DATA27B3组成RSSITU)
LDM RADIO_DATA06H3,#0001B ; (B2APLL N/K MODE SELECTION:0IIC,1TUNE MODULE;B1B0同DATA28组成APLLN:N to APLL When APLL_NK_SEL=0)
LDM RADIO_DATA06H4,#0110B
LDM RADIO_DATA07H1,#0000B ;07H(同DATA30,31,32组成APLLK:K to APLL When APLL_NK_SEL=0)
LDM RADIO_DATA07H2,#0101B
LDM RADIO_DATA07H3,#0111B
LDM RADIO_DATA07H4,#0011B
LDM RADIO_DATA08H1,#1010B ;08H(同DATA34组成SEEKTH:搜台极限11001001-201,-65dBm;11111111-Max RSSI)
LDM RADIO_DATA08H2,#0000B
LDM RADIO_DATA08H3,#1111B ; (B3B2PGA range detector switching threshold:00-35000,01-30000,10-25000,11-20000;B1B0同DATA36B3组成ENVELOP_TH:000-224(14),001-228(18),010-352(22),011-416(26),100-480(30),101-544(34),110-608(38),111-672(42))
LDM RADIO_DATA08H4,#0001B ; (B2B1B0频率背离检测极限(000-12(9.6K),001-14,010-16,011-18,100-20,101-22,110-24,111-26(20.8K))
LDM RADIO_DATA09H1,#1000B ;09H(8BAA)
LDM RADIO_DATA09H2,#1011B
LDM RADIO_DATA09H3,#1010B
LDM RADIO_DATA09H4,#1010B
LDM RADIO_DATA0AH1,#1100B ;0AH(C604)
LDM RADIO_DATA0AH2,#0110B
LDM RADIO_DATA0AH3,#0000B
LDM RADIO_DATA0AH4,#0100B
LDM RADIO_DATA0BH1,#0110B ;0BH(6D25)
LDM RADIO_DATA0BH2,#1101B
LDM RADIO_DATA0BH3,#0010B
LDM RADIO_DATA0BH4,#0101B
LDM RADIO_DATA0CH1,#1111B ;0CH(FFFD)
LDM RADIO_DATA0CH2,#1111B
LDM RADIO_DATA0CH3,#1111B
LDM RADIO_DATA0CH4,#1101B
LDM RADIO_DATA0DH1,#0001B ;0DH(120F)
LDM RADIO_DATA0DH2,#0010B
LDM RADIO_DATA0DH3,#0000B
LDM RADIO_DATA0DH4,#1111B
LDM RADIO_DATA0EH1,#0100B ;0EH(451D)
LDM RADIO_DATA0EH2,#0101B
LDM RADIO_DATA0EH3,#0001B
LDM RADIO_DATA0EH4,#1101B
CALL !RADIO_I2C_WRITE
LDM KEY_STATUS,#1111B
LDM PHDR_MARK,#1000B
LDM INPUT_VOL1,#0001B
LDM INPUT_VOL2,#0000B
LDM SPEAKER_VOL1,#0001B
LDM SPEAKER_VOL2,#1100B
LDM SUB_VOL1,#0001B
LDM SUB_VOL2,#1111B
LDM VOL_DATA_H,#0011B
LDM VOL_DATA_L,#1001B
LDM CHANNEL_MARK,#1000B ;上电默认通道1
LDM MODE_MARK,#1000B ;上电默认模式1
LDM EQ_MARK,#0010B ;模式1/2没有EQ
LDM STATUS_MARK,#0000B ;0功放关/1开-0响/1静音-0开关EQ-0
LRI T0D0L,#10
LRI T0D0H,#15
LRI T0D1L,#10
LRI T0D1H,#15
LRI T0MR,#0010B
LRI IEDS,#0001B ;(External interrupt edge selection register)
LRI IENR,#1001B ;(Interrupt enable register)
LRI IENR2,#0000B
LRI IRQR,#0000B
LRI IRQR2,#0000B
LRI T1LD,#10
LRI T1HD,#15
LRI T1MR,#1110B
EI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;MAIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIME_1:
LDM TIME1_MARK,#0000B
;FUNCTION
CALL !R_KEY_SET
CALL !R_KEY_F
CALL !KEY_SCAN
CALL !ESD
;FUNCTION
TIME_1_1:
CMNE TIME1_MARK,#1111B
BR !TIME_1_1
WDTC
;;;;;;;;;;
LDM TIME1_MARK,#0000B
;FUNCTION
CALL !R_KEY_SET
CALL !SERIES_RKEY_F
CALL !LED_F
CALL !ESD
;FUNCTION
TIME_1_2:
CMNE TIME1_MARK,#1111B
BR !TIME_1_2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -