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

📄 globals.inc

📁 DTMF信号产生原程序
💻 INC
字号:
;寄存器定义
;***************************************************

IFR			.set	06H
IMR			.set	04H
GREG		.set	05H  
		
PMST		.set	0FFE4H  
STDR		.set	0FFF0H 	
ICR 		.set	0FFECH 	
ADTR 		.set	0FFF4H 
WSGR		.set	0FFFCH    
BRD 		.set	0FFF7H 
SSPCR       .set	0FFF1H 
ASPCR		.set	0FFF5H 
IOSR		.set	0FFF6H  

TCR			.set	0FFF8H 
PRD         .set	0FFF9H 
;TIM			.set	0FFFAH 


VAL_B2_DP				.set		0H 
SET_REG_TEMP			.set		60H 
    
RESET_SSP_T_R          	.set		64H    
RESET_SSP_T         	.set		63H   

INT_SAVE_T0             .set		7EH
INT_SAVE_T1             .set		7FH
  

;B0内存区使用分配
;*****************************************************************
VAL_B0_DP1			    .set		2H  
;VAL_B0_DP2			   .set	3H      

;全局变量
;****************************************************  
COSF_PARA				.set		0100H  ;10 个,用于存放cosf1和cosf2 ;绝对地址  


REC_PCMDATA_COUNT    	.set     	1AH    ;计数初值为102每个时隙接收一个字,1A-1,=0时缓冲区满,等待检测
REC_FTS_PCMDATA_PTR    	.set     	1BH    ;在INT2中的那个时隙的接收缓冲区的指针,
										   ;也就是接收的第一条时隙缓冲区指针
DEC_TIMESLOT_INDEX     	.set     	1FH    ;检测时的时隙计数  
REC_DEC_STATE		   	.set     	20H    ;0检测MFC 其它,接收PCM数据   
                        
SENDBUF_W_PTR   		.set  		21H    ;发送缓冲区的写入指针
GOERTZEL_DEC_COUNT		.set		27H	
RTX_INT_RECDATA         .set		28H    


										   
VAR_GOERZTEL		  	.set	 	29H    ;检测出的单音频序号
DEC_ROW_INDEX  			.set	 	2AH    ;检测出的单音频序号
DEC_COL_INDEX  			.set		2BH    ;检测出的单音频序号  
DEC_ROW_MAX_EN      	.set	 	2CH    ;检测出的单音频能量
DEC_COL_MAX_EN      	.set		2DH    ;检测出的单音频能量  

GOERTZEL_DEC_DATA_PTR  	.set     	3EH    ;进行检测运算时,记录检测数据的指针
INT_SACC_H              .set		3FH
INT_SACC_L              .set		40H   
INT2_SEND_PTR			.set		41H	    
RTX_INT_TEMP            .set		42H 
INT2_TEMP               .set        43H

MAIN_TEMP_3             .set     	44H
MAIN_TEMP_0				.set     	45H 
MAIN_TEMP_1             .set     	46H
MAIN_TEMP_2             .set     	47H  
  
DEBUG_STATUS			.set		49H
  
VAR_MAIN_FB_FLAG		.set		48H  

SYNCH_COUNT             .set		4AH 
										   
		
										   
BEGIN_REC_PCMDATA_FLAG  .set     	5EH    ;开始启动接收数据的标志 #0接收  

ASP_SEND_R_PTR			.set		60H
ASP_SEND_W_PTR			.set		61H
ASP_POINTER             .set		62H


TIMER_SACC_L            .set    	69H
TIMER_SACC_H        	.set     	6AH
TIMER_1MS_FLAG        	.set     	6BH   
TIMER_1MS_COUNT			.set     	6CH 
	
TIMER_5MS_FLAG          .set     	6DH 
TIMER_5MS_COUNT         .set     	6EH 
 
TIMER_50MS_FLAG         .set     	6FH 
TIMER_50MS_COUNT        .set     	70H 

TIMER_200MS_FLAG        .set     	71H 
TIMER_200MS_COUNT       .set     	72H 
TIMER_1S_FLAG           .set     	73H   

DIV_VALUE_VAR            .set        75H   

XF_CHANGE_COUNT         .set    	7AH 
;GAIN_CTRL函数变量
GAIN_POW_H              .set    	07BH
GAIN_POW_L              .set    	07CH
GAIN_AMP                .set    	07DH
GAIN_SCALE              .set    	07EH

;GOERTZEL_EN				.set		012EH            ;10h个 12E~13DH ;存放GOERTZEL进行能量计算的存放地址  

;B1空间使用分配
;****************************************************   
GOERTZEL_EN				.set		0300H                ;20h个 300~31FH ;存放GOERTZEL进行能量计算的存放地址 
                                                         ;10H个用于二次滤波,4个用于二次滤波
ASP_SEND_BUF			.set		0380H				 ;80H个   


*4k数据空间分配
SEND_DTMF_BUF			.set	0800H           ;10h个, 范围800H~80FH, 要发送到8980缓冲区数据 												
RECIEVE_DTMF_BUF		.set	0810H			;20h个, 范围810H~82FH,  检测到的DTMF,当没有 接收到
												;DTMF时,填充07FFFH;  
NO_DTMF_COUNT			.set    0830H			;20h个, 范围830H~84FH, 没有DTMF数据计数,当在发送期间DTMF计数,当个数超过5
												;则说明真正丢失													
RECDATA_BUF 			.set	0B20H	   		;CC0h个, 范围B20~17DFH,作为同步中断从PCM接收数据缓冲区 



;常量定义 
;**************************************************** 
VAL_SLOTBUF_LONG		.set	066H    
RECDATA_BUF_LONG    	.set 	0CC0H;(RECDATA_BUF_LONG*20H)    
VAL_SEND_BEGIN			.set	SEND_DTMF_BUF;(SEND_DTMF_BUF+2H)  
VAL_NO_DTMF_MAX			.set    2H   
VAL_VALUE_DIV1			.set	12 ;10 ,1/64   
VAL_VALUE_DIV			.set	10 ;10 ,1/64 

;寄存器常量   
;****************************************************
VAL_PMST				.set	04H 
VAL_IFR					.set	0FFFFH
VAL_IMR					.set	16H       ;01EH
VAL_GREG				.set	0FFH 		
VAL_ICR 				.set	011H 	
VAL_WSGR				.set	040H    
;VAL_BRD 				.set	0104H    
VAL_BRD 				.set	082H 
VAL_SSPCR       		.set	00H 
VAL_ASPCR				.set	02000H  
VAL_IOSR				.set	07FFFH 
VAL_TCR					.set	029H    ;=(9+1)   ;5MS
VAL_PRD                 .set    9999   ;
 

⌨️ 快捷键说明

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