⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transmitter_%idt%_xxx.asm

📁 华邦单片机的红外发送源码,已经投入生产。其中的功能主要是把信息通过红外发送到上位机。
💻 ASM
字号:
	CHIP	W588
	INCLUDE	PGM_HEAD_588.INI

	GLOBAL	INSTRUMENT_TYPE_LIST_TABLE
	GLOBAL	INSTRUMENT_LIST_TABLE_LOW
	GLOBAL	INSTRUMENT_LIST_TABLE_HIGH
	GLOBAL	INS_ENV_ATTACK_INTEGER_TABLE
	GLOBAL	INS_ENV_ATTACK_FRACTION_TABLE
	GLOBAL	INS_ENV_SUSTAIN_TABLE
	GLOBAL	INS_ENV_DECAY_INTEGER_TABLE
	GLOBAL	INS_ENV_DECAY_FRACTION_TABLE
	GLOBAL	INS_ENV_RELEASE_INTEGER_TABLE
	GLOBAL	INS_ENV_RELEASE_FRACTION_TABLE
	GLOBAL	DRUM_ADDR_LOW_TABLE
	GLOBAL	DRUM_ADDR_HIGH_TABLE
	GLOBAL	DRUM_ADDR_HIGH8_TABLE

	GLOBAL	DRUM_TIMER_INDEX_TABLE
	GLOBAL	MELODIC_SETTING_TABLE

	GLOBAL	INS_MAX_INDEX
	GLOBAL	DRUM_MAX_INDEX

	.GLOBALS ON
	LIBRARY_CODE:	SECTION

INS_ENV_ATTACK_INTEGER_TABLE:
	DB 00h; INS0=0
INS_ENV_ATTACK_FRACTION_TABLE:
	DB 00h; INS0
INS_ENV_DECAY_INTEGER_TABLE:
	DB 00h; INS0=0
INS_ENV_DECAY_FRACTION_TABLE:
	DB 00h; INS0
INS_ENV_SUSTAIN_TABLE:
	DB 00h ;0
INS_ENV_RELEASE_INTEGER_TABLE:
	DB 00h; INS0=0
INS_ENV_RELEASE_FRACTION_TABLE:
	DB 00h; INS0
INSTRUMENT_TYPE_LIST_TABLE:
	DB FFh
INSTRUMENT_LIST_TABLE_LOW:
	DB 00h
INSTRUMENT_LIST_TABLE_HIGH:
	DB 00h
MELODIC_SETTING_TABLE:
DRUM_ADDR_LOW_TABLE:
	DB 00h ;35 Addr=000000h
DRUM_ADDR_HIGH_TABLE:
	DB 00h ;35
DRUM_ADDR_HIGH8_TABLE:
	DB 00h ;35
DRUM_TIMER_INDEX_TABLE:
	DB 00h ;35

;======================================================================
; System clock is 4000000 ============================================
; W588S note:	TM0/TM1 : /2/4/32/128
;				TMG		: /2/8/64/512


; output tone TMV table and range====================================


	.IF (WITH_TONE == 1)

TONE_TMV_TABLE:
	DB  FCH,  EEH,  E0H,  D4H,  C8H,  BDH,  B2H,  A8H,  9EH,  95H,  8DH,  85H
	DB  7EH,  76H,  70H,  69H,  63H,  5EH,  58H,  53H,  4FH,  4AH,  46H,  42H
	DB  3EH,  3BH,  37H,  34H,  31H,  2EH,  2CH,  29H,  27H,  25H,  23H,  21H
	DB  1FH,  1DH,  1BH,  1AH,  18H,  17H,  15H,  14H,  13H,  12H,  11H,  10H


	.IF (CHIPSERIES = 'W588D').OR. (CHIPSERIES = 'W588C').OR. (CHIPSERIES = 'W583C').OR. (CHIPSERIES = 'W588L')
TONE_TMC_LO_OCTAVE 		EQU 17H	;/128
TONE_TMC_MI_OCTAVE 		EQU 15H	;/32
TONE_TMC_HI_OCTAVE 		EQU 13H	;/4


	.ELSE
TONE_TMC_LO_OCTAVE 		EQU FH	;/128
TONE_TMC_MI_OCTAVE 		EQU DH	;/32
TONE_TMC_HI_OCTAVE 		EQU BH	;/4


	.ENDIF
TONE_NOTE_LO_BOUND 		EQU 23D

TONE_NOTE_LO_RANGE 		EQU 24D
TONE_NOTE_MI_RANGE 		EQU 36D
TONE_NOTE_HI_RANGE 		EQU 36D

	.ENDIF


; for HQ melody =====================================================

	.IF (WITH_HQPC8 == 1 || WITH_VMDPC8 == 1)


HQ_TMC_TABLE:
	DB  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
	DB  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
	DB  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0


HQ_TMV_INDEX_TABLE:
	DB 12,13,14,15,16,17,18,19,20,21,22,23
	DB  0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11
	DB  0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11


HQ_SAMPLE_INCREMENT_TABLE:
	DB  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	DB  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
	DB  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2

	.ENDIF


	.IF (WITH_PCSPC8 == 1)

.IF (CHIPSERIES = 'W588C')

DRUM_ADDR_TMC_TABLE:
	DB   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1
DRUM_ADDR_TMV_TABLE:
	DB 255,249,221,199,180,166,159,153,142,132,124,117,110,104, 99, 94, 90, 86, 82, 79, 76, 73, 70, 68, 66

.ELSE

	.IF (WITH_TONE .EQ. 1).OR.(WITH_SP .EQ. 1)

DRUM_ADDR_TMC_TABLE:
	DB   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1
DRUM_ADDR_TMV_TABLE:
	DB 255,249,221,199,180,166,159,153,142,132,124,117,110,104, 99, 94, 90, 86, 82, 79, 76, 73, 70, 68, 66

	.ELSE

DRUM_ADDR_TMC_TABLE:
	DB   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1
DRUM_ADDR_TMV_TABLE:
	DB 255,249,221,199,180,166,159,153,142,132,124,117,110,104, 99, 94, 90, 86, 82, 79, 76, 73, 70, 68, 66

	.ENDIF

.ENDIF

	.ENDIF
	;========================================================

INS_MAX_INDEX				EQU	0H
DRUM_MAX_INDEX				EQU	23H

.GLOBALS OFF
	ENDS

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -