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

📄 sysap.lst

📁 use Holtek HT83F60 flash voice MCU edit,function:Play PCM12 Voice ,sentence ,VOL control,Stop voice
💻 LST
📖 第 1 页 / 共 5 页
字号:
 550  003A              ;;
 551  003A              PUBLIC	_DAC_RAMP_UP
 552  003A              _DAC_RAMP_UP:
 553  003A  3CA6        	SZ	DAC
"File: SYSAP.asm     Holtek Cross-Assembler  Version 2.86      Page 15

 554  003B  2D76        	JMP	_DAC_RAMP_UP_FLAT_DAC
 555  003C  1F24        	CLR	DAL
 556  003D  1F25        	CLR	DAH
 557  003E  1F27        	CLR	PWML
 558  003F  1F28        	CLR	PWMH
 559  0040  39A6        	SNZ	SINGLE_PWM
 560  0041  33A8        	SET	PWMH.7		;;DUAL PWM
 561  0042              
 562  0042  30A6        	SET	DAC
 563  0043  3026        	SET	PWMC
 564  0044  1FA9        	SET	VOL
 565  0045              EXTERN _HT82V733ENABLE:NEAR
 566  0045              PUBLIC _HT82V733ENABLE_RET
 567  0045  2800     E  	JMP	_HT82V733ENABLE
 568  0046              _HT82V733ENABLE_RET:
 569  0046              
 570  0046              _DAC_RAMP_UP_FLAT_DAC:
 571  0046  0724        	MOV	A,DAL
 572  0047  0EF0        	AND	A,0F0H
 573  0048  390A        	SNZ	Z
 574  0049  2D80        	JMP	_DAC_RAMP_UP_FLAT_DAC_LOOP
 575  004A  0F80        	MOV	A,80H
 576  004B  0225        	SUB	A,DAH
 577  004C  390A        	SNZ	Z
 578  004D  2D80        	JMP	_DAC_RAMP_UP_FLAT_DAC_LOOP
 579  004E  0763        	MOV	A,_MAIN_VOLUME
 580  004F  2FB0        	JMP	_SET_VOLUME
 581  0050              _DAC_RAMP_UP_FLAT_DAC_LOOP:
 582  0050  0001        	CLR	WDT
 583  0051  0005        	CLR	WDT2
 584  0052  0F02        	MOV	A,__DELAY_LOOP
 585  0053  1785        	SDZ	ACC
 586  0054  2D83        	JMP	$-1
 587  0055              
 588  0055  0F10        	MOV	A,010H
 589  0056  3FA5        	SZ	DAH.7
 590  0057  0FF0        	MOV	A,0F0H
 591  0058  03A4        	ADDM	A,DAL
 592  0059  0F00        	MOV	A,000H
 593  005A  3FA5        	SZ	DAH.7
 594  005B  0FFF        	MOV	A,0FFH
 595  005C  13A5        	ADCM	A,DAH
 596  005D  39A6        	SNZ	SINGLE_PWM
 597  005E  2D76        	JMP	_DAC_RAMP_UP_FLAT_DAC
 598  005F  0724        	MOV	A,DAL
 599  0060  00A7        	MOV	PWML,A
 600  0061  0725        	MOV	A,DAH
 601  0062  00A8        	MOV	PWMH,A
 602  0063  2D76        	JMP	_DAC_RAMP_UP_FLAT_DAC
 603  0064              ;;
 604  0064              PUBLIC	_VOLUMEUP
 605  0064              _VOLUMEUP:
 606  0064  1463        	INCA	_MAIN_VOLUME
 607  0065  2FB0        	JMP	_SET_VOLUME
 608  0066              ;;
 609  0066              PUBLIC	_VOLUMEDOWN
 610  0066              _VOLUMEDOWN:
 611  0066  10E3        	SZ	_MAIN_VOLUME
 612  0067  2D99        	JMP	$+2
 613  0068  0003        	RET
"File: SYSAP.asm     Holtek Cross-Assembler  Version 2.86      Page 16

 614  0069  1563        	DECA	_MAIN_VOLUME
 615  006A  2FB0        	JMP	_SET_VOLUME
 616  006B              ;;
 617  006B              PUBLIC	__PLAY_VOICE			;;(TRACKNO,CHANNELNO,FILTER)
 618  006B              __PLAY_VOICE:
 619  006B  3D73        	SZ	_PLAY_VOICE1
 620  006C  0003        	RET				;;NOT CHANNEL0
 621  006D  1F0E        	CLR	TMR0C
 622  006E  256A        	CALL	_DAC_RAMP_UP
 623  006F              
 624  006F  35E4        	CLR	_FILTER_0
 625  0070  3DF3        	SZ	_PLAY_VOICE2
 626  0071  31E4        	SET	_FILTER_0
 627  0072              
 628  0072  36E4        	CLR	B_CH0_SENTENCE_PLAYING
 629  0073  0F00        	MOV	A,00H
 630  0074  00E5        	MOV	R_CH0_INDEX,A		;;SET THE VOICE START ADDRESS
 631  0075  2DB0        	JMP	CH0_PLAY_COMMON_RET
 632  0076              ;;
 633  0076              PUBLIC	__PLAY_SENTENCE
 634  0076              __PLAY_SENTENCE:
 635  0076  3E73        	SZ	_PLAY_SENTENCE1
 636  0077  0003        	RET				;;NOT CHANNEL0
 637  0078  1F0E        	CLR	TMR0C
 638  0079  256A        	CALL	_DAC_RAMP_UP
 639  007A              
 640  007A  35E4        	CLR	_FILTER_0
 641  007B  3EF3        	SZ	_PLAY_SENTENCE2
 642  007C  31E4        	SET	_FILTER_0
 643  007D              
 644  007D  32E4        	SET	B_CH0_SENTENCE_PLAYING
 645  007E  0F04        	MOV	A,04H
 646  007F  00E5        	MOV	R_CH0_INDEX,A	;;SET THE SENTENCE START ADDRESS
 647  0080              CH0_PLAY_COMMON_RET:
 648  0080  3764        	CLR	B_CH0_USER_SR
 649  0081  0FC2        	MOV	A,C_125US
 650  0082  008D        	MOV	TMR0,A
 651  0083  0F52        	MOV	A,52H
 652  0084  008E        	MOV	TMR0C,A
 653  0085  368B        	CLR	INTC.5
 654  0086  310B        	SET	ET0I
 655  0087  3664        	CLR	_FSTANDBY0
 656  0088  0F80        	MOV	A,80H
 657  0089  1F69        	CLR	R_CH0_DACL
 658  008A  00E8        	MOV	R_CH0_DACH,A
 659  008B  0004        	RETI
 660  008C              ;;
 661  008C              PUBLIC	TimeBaseISR
 662  008C              TimeBaseISR:
 663  008C              ;;	SET	OneMsFlag
 664  008C  0004        	RETI
 665  008D              ;;
 666  008D              ;;
 667  008D              ;;
 668  008D              PUBLIC	SR0ISR
 669  008D              SR0ISR:
 670  008D  3E64        	SZ	_FSTANDBY0
 671  008E  0004        	RETI				;;STANDBY
 672  008F              
 673  008F  00E1        	MOV	R_ACCBAK,A
"File: SYSAP.asm     Holtek Cross-Assembler  Version 2.86      Page 17

 674  0090  070A        	MOV	A,STATUS
 675  0091  00E2        	MOV	R_STATUSBAK,A
 676  0092              
 677  0092  0765        	MOV	A,R_CH0_INDEX
 678  0093  0386        	ADDM	A,PCL
 679  0094  2DCA        	JMP	CH0_STEP0
 680  0095  2DEE        	JMP	CH0_STEP1
 681  0096  2E45        	JMP	CH0_STEP2
 682  0097  2E0A        	JMP	CH0_STEP3
 683  0098  2E16        	JMP	CH0_STEP4
 684  0099  2E31        	JMP	CH0_STEP5
 685  009A              ;; 00H  set the start address of the wave file according to CH0_TRACKNOH/L
 686  009A              CH0_STEP0:
 687  009A              	;;First get wave address
 688  009A  0F0C        	MOV	A,0CH
 689  009B  00EC        	MOV	R_CH0_ADDRL,A
 690  009C  1F6B        	CLR	R_CH0_ADDRM
 691  009D  1F6A        	CLR	R_CH0_ADDRH
 692  009E  26E9        	CALL	READ_DATA0
 693  009F  00FE        	MOV	R_TEMPL,A
 694  00A0  26F6        	CALL	READ_NEXT0
 695  00A1  00FD        	MOV	R_TEMPH,A
 696  00A2              	CLOSE_SPI
 696  00A2  352E      1 	CLR [02EH].2		;;CLOSE SIMA
 697  00A3              
 698  00A3  340A        	CLR	C
 699  00A4  1A76        	RLCA	CH0_TRACKNOL
 700  00A5  00EC        	MOV	R_CH0_ADDRL,A
 701  00A6  1A77        	RLCA	CH0_TRACKNOH
 702  00A7  00EB        	MOV	R_CH0_ADDRM,A
 703  00A8  1F6A        	CLR	R_CH0_ADDRH
 704  00A9  0776        	MOV	A,CH0_TRACKNOL
 705  00AA  03EC        	ADDM	A,R_CH0_ADDRL
 706  00AB  0777        	MOV	A,CH0_TRACKNOH
 707  00AC  13EB        	ADCM	A,R_CH0_ADDRM
 708  00AD  1F05        	CLR	ACC
 709  00AE  13EA        	ADCM	A,R_CH0_ADDRH
 710  00AF              
 711  00AF  077E        	MOV	A,R_TEMPL
 712  00B0  03EC        	ADDM	A,R_CH0_ADDRL
 713  00B1  077D        	MOV	A,R_TEMPH
 714  00B2  13EB        	ADCM	A,R_CH0_ADDRM			;;*3
 715  00B3  1F05        	CLR	ACC
 716  00B4  13EA        	ADCM	A,R_CH0_ADDRH
 717  00B5              
 718  00B5  26E9        	CALL	READ_DATA0	;;1
 719  00B6  00EC        	MOV	R_CH0_ADDRL,A
 720  00B7  26F6        	CALL	READ_NEXT0	;;2
 721  00B8  00EB        	MOV	R_CH0_ADDRM,A
 722  00B9  26F6        	CALL	READ_NEXT0	;;3
 723  00BA  00EA        	MOV	R_CH0_ADDRH,A
 724  00BB              
 725  00BB  14E5        	INC	R_CH0_INDEX			;;1
 726  00BC              	CLOSE_SPI
 726  00BC  352E      1 	CLR [02EH].2		;;CLOSE SIMA
 727  00BD  2EE5        	JMP	SR0ISR_RET_DIRECTLY
 728  00BE              ;; 01H  read the compress type and timer
 729  00BE              CH0_STEP1:
 730  00BE  1F66        	CLR	R_CH0_LENH
 731  00BF  1F67        	CLR	R_CH0_LENL
"File: SYSAP.asm     Holtek Cross-Assembler  Version 2.86      Page 18

 732  00C0  3473        	CLR	B_CH0_SILENCE
 733  00C1  0F04        	MOV	A,4			;;8BITS TIMER OFFSET
 734  00C2  03EC        	ADDM	A,R_CH0_ADDRL
 735  00C3  26E9        	CALL	READ_DATA0
 736  00C4  0A54        	SUB	A,54H
 737  00C5  390A        	SNZ	Z
 738  00C6  2E0F        	JMP	CH0_STOP_PLAY		;;HT-ADPCM4
 739  00C7              	;;read timer
 740  00C7  3B64        	SNZ	B_CH0_USER_SR
 741  00C8  2DFC        	JMP	$+4
 742  00C9  14EC        	INC	R_CH0_ADDRL
 743  00CA  14EC        	INC	R_CH0_ADDRL
 744  00CB  2E03        	JMP	CH0_SET_TIMER_RET
 745  00CC              
 746  00CC  26F6        	CALL	READ_NEXT0
 747  00CD  008D        	MOV	TMR0,A
 748  00CE  26F6        	CALL	READ_NEXT0
 749  00CF  0E07        	AND	A,07H
 750  00D0  0B02        	ADD	A,2
 751  00D1  0D50        	OR	A,50H
 752  00D2  008E        	MOV	TMR0C,A
 753  00D3              
 754  00D3              CH0_SET_TIMER_RET:
 755  00D3  3DE4        	SZ	_FILTER_0
 756  00D4  158E        	DEC	TMR0C
 757  00D5              
 758  00D5  0F03        	MOV	A,3
 759  00D6  03EC        	ADDM	A,R_CH0_ADDRL		;;POINT TO CONTROL CODE
 760  00D7              
 761  00D7  14E5        	INC	R_CH0_INDEX		;;2
 762  00D8  3564        	CLR	B_CH0_FILTER		;;THE 1ND TIME NOT ADD ONE POINT
 763  00D9  2EDC        	JMP	SR0ISR_RET
 764  00DA              ;; 03H  play end
 765  00DA              CH0_STEP3:
 766  00DA              CH0_STOP_WAVE:
 767  00DA  3AE4        	SNZ	B_CH0_SENTENCE_PLAYING
 768  00DB  2E0F        	JMP	CH0_STOP_PLAY
 769  00DC  0F05        	MOV	A,5
 770  00DD  00E5        	MOV	R_CH0_INDEX,A
 771  00DE  2EE5        	JMP	SR0ISR_RET_DIRECTLY
 772  00DF              CH0_STOP_PLAY:
 773  00DF              	CLOSE_SPI
 773  00DF  352E      1 	CLR [02EH].2		;;CLOSE SIMA
 774  00E0  1F0E        	CLR	TMR0C
 775  00E1  368B        	CLR	INTC.5
 776  00E2  3264        	SET	_FSTANDBY0
 777  00E3  36E4        	CLR	B_CH0_SENTENCE_PLAYING
 778  00E4  2530        	CALL	_DAC_RAMP_DOWN
 779  00E5  2EE5        	JMP	SR0ISR_RET_DIRECTLY
 780  00E6              ;; 04H  set the start address of one sentence according to CH0_SENTENCENOH/L
 781  00E6              CH0_STEP4:
 782  00E6  0F04        	MOV	A,04H
 783  00E7  00EC        	MOV	R_CH0_ADDRL,A
 784  00E8  1F6B        	CLR	R_CH0_ADDRM
 785  00E9  1F6A        	CLR	R_CH0_ADDRH
 786  00EA  26E9        	CALL	READ_DATA0
 787  00EB  00FE        	MOV	R_TEMPL,A
 788  00EC  26F6        	CALL	READ_NEXT0
 789  00ED  00FD        	MOV	R_TEMPH,A
 790  00EE              	CLOSE_SPI
"File: SYSAP.asm     Holtek Cross-Assembler  Version 2.86      Page 19

 790  00EE  352E      1 	CLR [02EH].2		;;CLOSE SIMA
 791  00EF              
 792  00EF  340A        	CLR	C
 793  00F0  1A78        	RLCA	CH0_SENTENCENOL		;;JODEN
 794  00F1  00EC        	MOV	R_CH0_ADDRL,A
 795  00F2  1A79        	RLCA	CH0_SENTENCENOH
 796  00F3  00EB        	MOV	R_CH0_ADDRM,A
 797  00F4  1F6A        	CLR	R_CH0_ADDRH
 798  00F5              
 799  00F5  077E        	MOV	A,R_TEMPL
 800  00F6  03EC        	ADDM	A,R_CH0_ADDRL
 801  00F7  077D        	MOV	A,R_TEMPH
 802  00F8  13EB        	ADCM	A,R_CH0_ADDRM
 803  00F9              
 804  00F9  26E9        	CALL	READ_DATA0
 805  00FA  00EE        	MOV	R_CH0_SENTENCE_ADDRL,A
 806  00FB  26F6        	CALL	READ_NEXT0
 807  00FC  1485        	INC	ACC
 808  00FD  00ED        	MOV	R_CH0_SENTENCE_ADDRH,A	;;SENTENCE DATA OFFSEET
 809  00FE              
 810  00FE  14E5        	INC	R_CH0_INDEX		;;5
 811  00FF              	CLOSE_SPI
 811  00FF  352E      1 	CLR [02EH].2		;;CLOSE SIMA
 812  0100  2EE5        	JMP	SR0ISR_RET_DIRECTLY
 813  0101              ;;
 814  0101              ;;
 815  0101              ;; 05H  read one sentence data
 816  0101              CH0_STEP5:
 817  0101  076E        	MOV	A,R_CH0_SENTENCE_ADDRL
 818  0102  00EC        	MOV	R_CH0_ADDRL,A
 819  0103  076D        	MOV	A,R_CH0_SENTENCE_ADDRH
 820  0104  00EB        	MOV	R_CH0_ADDRM,A
 821  0105  1F6A        	CLR	R_CH0_ADDRH
 822  0106              

⌨️ 快捷键说明

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