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

📄 a02_isd17xx_define.asm

📁 用W588D写的驱动6210-2.4G无线模块,收发程序在一块,(65C02汇编指令实现)
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;****************************************************************************
;****************************************************************************
;****************************************************************************
;**************************ISD17XXX变量及宏定义区****************************
;****************************************************************************
;****************************************************************************
;****************************************************************************
;>>所定义的宏:
;		1.
;		2.
;		3.
;		4.
;		5.
;		6.
;		7.
;		8.
;		9.
;
;所用项目:M07853
;修改日期:2008/02/18
;程序员:Wangbo
;==========================ISD1760相关的变量=================================
gISD_TRAN_NUM		DS	1	;传送SPI数据时,计数用
gISD_Receive_BUFF	DS	1	;接收数据用的BUFF
gISD_Send_BUFF		DS	1	;发送数据用的BUFF

gISD_COMM_BYTE		DS	1	;命令的字节数
gISD_Send_DATA		DS	7	;所要发送的数据
gISD_Receive_DATA	DS	7	;接收的状态数据
;===========================ISD17XXX接口宏===================================
Mac_ISD17XX_PORT1		EQU		BP1		;MOSI,SCLK,SS
Mac_ISD17XX_PORT2		EQU		BP1		;MISO

Mac_ISD17XX_MISO		EQU		01H		;BP1.1

Mac_ISD17XX_SCLK		EQU		20H		;BP1.5
Mac_ISD17XX_MOSI		EQU		40H		;BP1.6
Mac_ISD17XX_SS			EQU		80H		;BP1.7
;==============================ISD17XXX_ID===================================
Mac_ISD1740_ID			EQU		B0H
Mac_ISD1750_ID			EQU		A8H
Mac_ISD1760_ID			EQU		A0H
Mac_USE_ISD_ID			EQU 	Mac_ISD1750_ID
;--------------------ISD命令字-----------------------------
; 							   命令字	 命令组成
Mac_ISD_COMM_PU			EQU 	01H			;2
Mac_ISD_COMM_STOP		EQU 	02H			;2
Mac_ISD_COMM_RESET		EQU 	03H			;2
Mac_ISD_COMM_CLR_INT	EQU 	04H			;2
Mac_ISD_COMM_RD_STATUS	EQU 	05H			;3
Mac_ISD_COMM_RD_PLAY_PTR EQU 	06H			;4
Mac_ISD_COMM_PD			EQU 	07H			;2
Mac_ISD_COMM_RD_REC_PTR	EQU 	08H			;4
Mac_ISD_COMM_DEVID		EQU 	09H			;3
Mac_ISD_COMM_PLAY		EQU 	40H			;2
Mac_ISD_COMM_REC		EQU 	41H			;2
Mac_ISD_COMM_ERASE		EQU 	42H			;2
Mac_ISD_COMM_G_ERASE	EQU 	43H			;2
Mac_ISD_COMM_RD_APC		EQU 	44H			;4
Mac_ISD_COMM_WR_APC1	EQU 	45H			;3
Mac_ISD_COMM_WR_APC2	EQU 	65H			;3
Mac_ISD_COMM_WR_NVCFG	EQU 	46H			;2
Mac_ISD_COMM_LD_NVCFG	EQU 	47H			;2
Mac_ISD_COMM_FWD		EQU 	48H			;2
Mac_ISD_COMM_CHK_MEM	EQU 	49H			;2
Mac_ISD_COMM_EXTCLK		EQU 	4AH			;2
Mac_ISD_COMM_SET_PLAY	EQU 	80H			;7
Mac_ISD_COMM_SET_REC	EQU 	81H			;7
Mac_ISD_COMM_SET_ERASE	EQU 	82H			;7
;====================发送命令的字节数=============================
Mac_ISD_COMM_BYTE2		EQU		2
Mac_ISD_COMM_BYTE3		EQU		3
Mac_ISD_COMM_BYTE4		EQU		4
Mac_ISD_COMM_BYTE7		EQU		7
;===============ISD1760地址空间分配===============================
;ISD1760总地址----0x1EFH
Mac_ISD_Start1_ADDR_L	EQU		10H
Mac_ISD_Start1_ADDR_H	EQU		0H		;录音第1段
Mac_ISD_END1_ADDR_L		EQU		5FH
Mac_ISD_END1_ADDR_H		EQU		0H
;-------------------------------------
Mac_ISD_Start2_ADDR_L	EQU		60H
Mac_ISD_Start2_ADDR_H	EQU		0H		;录音第2段
Mac_ISD_END2_ADDR_L		EQU		AFH
Mac_ISD_END2_ADDR_H		EQU		0H
;-------------------------------------
Mac_ISD_Start3_ADDR_L	EQU		B0H
Mac_ISD_Start3_ADDR_H	EQU		0H		;录音第3段
Mac_ISD_END3_ADDR_L		EQU		FFH
Mac_ISD_END3_ADDR_H		EQU		0H
;-------------------------------------
Mac_ISD_Start4_ADDR_L	EQU		00H
Mac_ISD_Start4_ADDR_H	EQU		1H		;录音第4段
Mac_ISD_END4_ADDR_L		EQU		4FH
Mac_ISD_END4_ADDR_H		EQU		1H
;-------------------------------------
Mac_ISD_Start5_ADDR_L	EQU		50H
Mac_ISD_Start5_ADDR_H	EQU		1H		;录音第5段
Mac_ISD_END5_ADDR_L		EQU		9FH
Mac_ISD_END5_ADDR_H		EQU		01H
;-------------------------------------
Mac_ISD_Start6_ADDR_L	EQU		A0H
Mac_ISD_Start6_ADDR_H	EQU		0H		;录音第6段
Mac_ISD_END6_ADDR_L		EQU		EFH
Mac_ISD_END6_ADDR_H		EQU		01H
;==========开始发送信号时,初始化端口====当前程序中并没用到
MACRO_SPI_Initial_State:	.MACRO
	LDA #Mac_ISD17XX_SS
	TSB Mac_ISD17XX_PORT1
	;------------------------
	LDA #Mac_ISD17XX_SCLK
	TSB Mac_ISD17XX_PORT1
	;------------------------
	LDA #Mac_ISD17XX_MOSI
	TRB Mac_ISD17XX_PORT1
	.ENDM
;===========================接口宏==========================当前程序中并没用到
MACRO_SPI_SS_H:		.MACRO
	LDA #Mac_ISD17XX_SS
	TSB Mac_ISD17XX_PORT1
	.ENDM
;--------------------------
MACRO_SPI_SS_L:		.MACRO
	LDA #Mac_ISD17XX_SS
	TRB Mac_ISD17XX_PORT1
	.ENDM
;--------------------------
MACRO_SPI_SCLK_H:	.MACRO
	LDA #Mac_ISD17XX_SCLK
	TSB Mac_ISD17XX_PORT1
	.ENDM
;--------------------------
MACRO_SPI_SCLK_L:	.MACRO
	LDA #Mac_ISD17XX_SCLK
	TRB Mac_ISD17XX_PORT1
	.ENDM
;--------------------------
MACRO_SPI_MOSI_H:	.MACRO
	LDA #Mac_ISD17XX_MOSI
	TSB Mac_ISD17XX_PORT1
	.ENDM
;--------------------------
MACRO_SPI_MOSI_L:	.MACRO
	LDA #Mac_ISD17XX_MOSI
	TRB Mac_ISD17XX_PORT1
	.ENDM
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>指令宏>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MACRO_ISD17XX_COMM_PU:	.MACRO
	LDA #Mac_ISD_COMM_PU		;0X01
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送PU指令
 	LDA #Mac_ISD_COMM_BYTE2
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;
MACRO_ISD17XX_COMM_PD:	.MACRO
	LDA #Mac_ISD_COMM_PD		;0X07
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送PD指令
 	LDA #Mac_ISD_COMM_BYTE2
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
MACRO_ISD17XX_COMM_DEVID:	.MACRO
	LDA #Mac_ISD_COMM_DEVID		;0X09
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送读ID指令,读取ISD17XXX的ID
	STZ gISD_Send_DATA+2
 	LDA #Mac_ISD_COMM_BYTE3
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;清中断和EOM位
MACRO_ISD17XX_COMM_CLR_INT:	.MACRO
	LDA #Mac_ISD_COMM_CLR_INT	;0X04
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送CLR_INT指令
 	LDA #Mac_ISD_COMM_BYTE2
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;
MACRO_ISD17XX_COMM_WR_APC2:	.MACRO
	LDA #Mac_ISD_COMM_WR_APC2	;0X65
	STA gISD_Send_DATA
	LDA #A0H
;	LDA #50H
	STA gISD_Send_DATA+1		;发送写APC指令
	LDA #0CH
	STA gISD_Send_DATA+2
 	LDA #Mac_ISD_COMM_BYTE3
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
MACRO_ISD17XX_COMM_WR_APC2_MIC:		.MACRO
	LDA #Mac_ISD_COMM_WR_APC2	;0X65
	STA gISD_Send_DATA
;	LDA #F0H
	LDA #50H
	STA gISD_Send_DATA+1		;发送写APC指令
	LDA #0CH
	STA gISD_Send_DATA+2
 	LDA #Mac_ISD_COMM_BYTE3
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
MACRO_ISD17XX_COMM_RD_STATUS:	.MACRO
	LDA #Mac_ISD_COMM_RD_STATUS	;0X05
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送读状态指令
	STZ gISD_Send_DATA+2
 	LDA #Mac_ISD_COMM_BYTE3
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	;------------------------
	.ENDM
;=============================================================================
MACRO_ISD17XX_COMM_REC:		.MACRO
	LDA #Mac_ISD_COMM_REC		;0X41
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送录音指令
 	LDA #Mac_ISD_COMM_BYTE2
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
MACRO_ISD17XX_COMM_STOPALL:	.MACRO
	LDA #Mac_ISD_COMM_STOP		;0X02
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送STOP指令
 	LDA #Mac_ISD_COMM_BYTE2
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
MACRO_ISD17XX_COMM_PLAYSP:	.MACRO
	LDA #Mac_ISD_COMM_PLAY		;0X40
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送PLAY指令
 	LDA #Mac_ISD_COMM_BYTE2
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
MACRO_ISD17XX_COMM_G_ERASE:		.MACRO
	LDA #Mac_ISD_COMM_G_ERASE		;0X43
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送G_ERASE指令
 	LDA #Mac_ISD_COMM_BYTE2
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;擦ISD1760第1段
MACRO_ISD17XX_COMM_SET_Erase_SEG1:		.MACRO
	LDA #Mac_ISD_COMM_SET_ERASE		;0X82
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送SET_ERASE指令
	;-----------------------------------------------------
	LDA #Mac_ISD_Start1_ADDR_L
	STA gISD_Send_DATA+2		;开始地址
	LDA #Mac_ISD_Start1_ADDR_H
	STA gISD_Send_DATA+3
	;-----------------------------------------------------
	LDA #Mac_ISD_END1_ADDR_L
	STA gISD_Send_DATA+4		;结束地址
	LDA #Mac_ISD_END1_ADDR_H
	STA gISD_Send_DATA+5
	;-----------------------------------------------------
	STZ gISD_Send_DATA+6
 	LDA #Mac_ISD_COMM_BYTE7
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;擦ISD1760第2段
MACRO_ISD17XX_COMM_SET_Erase_SEG2:		.MACRO
	LDA #Mac_ISD_COMM_SET_ERASE		;0X82
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送SET_ERASE指令
	;-----------------------------------------------------
	LDA #Mac_ISD_Start2_ADDR_L
	STA gISD_Send_DATA+2		;开始地址
	LDA #Mac_ISD_Start2_ADDR_H
	STA gISD_Send_DATA+3
	;-----------------------------------------------------
	LDA #Mac_ISD_END2_ADDR_L
	STA gISD_Send_DATA+4		;结束地址
	LDA #Mac_ISD_END2_ADDR_H
	STA gISD_Send_DATA+5
	;-----------------------------------------------------
	STZ gISD_Send_DATA+6
 	LDA #Mac_ISD_COMM_BYTE7
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;擦ISD1760第3段
MACRO_ISD17XX_COMM_SET_Erase_SEG3:		.MACRO
	LDA #Mac_ISD_COMM_SET_ERASE		;0X82
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送SET_ERASE指令
	;-----------------------------------------------------
	LDA #Mac_ISD_Start3_ADDR_L
	STA gISD_Send_DATA+2		;开始地址
	LDA #Mac_ISD_Start3_ADDR_H
	STA gISD_Send_DATA+3
	;-----------------------------------------------------
	LDA #Mac_ISD_END3_ADDR_L
	STA gISD_Send_DATA+4		;结束地址
	LDA #Mac_ISD_END3_ADDR_H
	STA gISD_Send_DATA+5
	;-----------------------------------------------------
	STZ gISD_Send_DATA+6
 	LDA #Mac_ISD_COMM_BYTE7
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;擦ISD1760第4段
MACRO_ISD17XX_COMM_SET_Erase_SEG4:		.MACRO
	LDA #Mac_ISD_COMM_SET_ERASE		;0X82
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送SET_ERASE指令
	;-----------------------------------------------------
	LDA #Mac_ISD_Start4_ADDR_L
	STA gISD_Send_DATA+2		;开始地址
	LDA #Mac_ISD_Start4_ADDR_H
	STA gISD_Send_DATA+3
	;-----------------------------------------------------
	LDA #Mac_ISD_END4_ADDR_L
	STA gISD_Send_DATA+4		;结束地址
	LDA #Mac_ISD_END4_ADDR_H
	STA gISD_Send_DATA+5
	;-----------------------------------------------------
	STZ gISD_Send_DATA+6
 	LDA #Mac_ISD_COMM_BYTE7
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;擦ISD1760第5段
MACRO_ISD17XX_COMM_SET_Erase_SEG5:		.MACRO
	LDA #Mac_ISD_COMM_SET_ERASE		;0X82
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送SET_ERASE指令
	;-----------------------------------------------------
	LDA #Mac_ISD_Start5_ADDR_L
	STA gISD_Send_DATA+2		;开始地址
	LDA #Mac_ISD_Start5_ADDR_H
	STA gISD_Send_DATA+3
	;-----------------------------------------------------
	LDA #Mac_ISD_END5_ADDR_L
	STA gISD_Send_DATA+4		;结束地址
	LDA #Mac_ISD_END5_ADDR_H
	STA gISD_Send_DATA+5
	;-----------------------------------------------------
	STZ gISD_Send_DATA+6
 	LDA #Mac_ISD_COMM_BYTE7
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;擦ISD1760第6段
MACRO_ISD17XX_COMM_SET_Erase_SEG6:		.MACRO
	LDA #Mac_ISD_COMM_SET_ERASE		;0X82
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送SET_ERASE指令
	;-----------------------------------------------------
	LDA #Mac_ISD_Start6_ADDR_L
	STA gISD_Send_DATA+2		;开始地址
	LDA #Mac_ISD_Start6_ADDR_H
	STA gISD_Send_DATA+3
	;-----------------------------------------------------
	LDA #Mac_ISD_END6_ADDR_L
	STA gISD_Send_DATA+4		;结束地址
	LDA #Mac_ISD_END6_ADDR_H
	STA gISD_Send_DATA+5
	;-----------------------------------------------------
	STZ gISD_Send_DATA+6
 	LDA #Mac_ISD_COMM_BYTE7
	STA gISD_COMM_BYTE
	JSR MISD_COMM_SEND
	.ENDM
;=============================================================================
;录音ISD1760第1段
MACRO_ISD17XX_COMM_SET_REC_SEG1:		.MACRO
	LDA #Mac_ISD_COMM_SET_REC		;0X81
	STA gISD_Send_DATA
	STZ gISD_Send_DATA+1		;发送SET_REC指令
	;-----------------------------------------------------
	LDA #Mac_ISD_Start1_ADDR_L

⌨️ 快捷键说明

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