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

📄 netcard.asm

📁 主要介绍一些常用的关于TCP/IP的命令集,有助于工程人员快速地查阅
💻 ASM
字号:
*
*hit651 voice platform software
*=================== netcard.asm ========================
*2004.1.1 hit651
*
		.mmregs
		
		.include macro.inc
		.include netcard.inc
		.include ref.inc
		.include union.inc
		
		.def netcard_init,set_mynodeid
		.text
*
********************* netcard init ***********************
netcard_init:
		
		WRITE 0x21,NET_REG_CR		;page 0
		   
		WRITE 0x4c,NET_REG_PSTART
		WRITE 0x80,NET_REG_PSTOP
		WRITE 0x4c,NET_REG_BNRY
		WRITE 0x40,NET_REG_TPSR
		WRITE 0xcc,NET_REG_RCR		;cc	dd	
		WRITE 0xe0,NET_REG_TCR		;e0 e2
		WRITE 0xc9,NET_REG_DCR		;c9 c1
		WRITE 0x01,NET_REG_IMR		;rx=1
		WRITE 0xff,NET_REG_ISR
		
		WRITE 0x61,NET_REG_CR		;page 1
		WRITE 0x4d,NET_REG_CURR
		
		WRITE 0x0,NET_REG_MAR0
		WRITE 0x0,NET_REG_MAR1
		WRITE 0x0,NET_REG_MAR2
		WRITE 0x0,NET_REG_MAR3
		WRITE 0x0,NET_REG_MAR4
		WRITE 0x0,NET_REG_MAR5
		WRITE 0x0,NET_REG_MAR6
		WRITE 0x0,NET_REG_MAR7
				
		WRITE 0x21,NET_REG_CR
		
		PORTR NET_REG_ISR,*(read_reg)
		
		RET
*
*********************** set mynodeid *********************
set_mynodeid:
		STM mynodeid,AR1
		ST #0x52,*AR1+
		ST #0x54,*AR1+
		ST #0x4C,*AR1+
		ST #0x19,*AR1+
		ST #0x13,*AR1+
		ST #0x8D,*AR1+	
		
		STM mynodeid, AR1
		STM #(6-1),AR2
set_mynodeid_1:
		ANDM #0xff,*AR1+
		BANZ set_mynodeid_1,*AR2-

		STM mynodeid,AR1
		PAGE 1
		DELAY 40
		
		PORTW *AR1+,NET_REG_PAR0
		DELAY 40
		PORTW *AR1+,NET_REG_PAR1
		DELAY 40
		PORTW *AR1+,NET_REG_PAR2
		DELAY 40
		PORTW *AR1+,NET_REG_PAR3
		DELAY 40
		PORTW *AR1+,NET_REG_PAR4
		DELAY 40
		PORTW *AR1, NET_REG_PAR5
		DELAY 40
		
		PORTR NET_REG_PAR0,*(0X100)
		DELAY 40
		PORTR NET_REG_PAR1,*(0X101)
		DELAY 40
		PORTR NET_REG_PAR2,*(0X102)
		DELAY 40
		PORTR NET_REG_PAR3,*(0X103)
		DELAY 40
		PORTR NET_REG_PAR4,*(0X104)
		DELAY 40
		PORTR NET_REG_PAR5,*(0X105)
		DELAY 40
		
		
		PAGE 0
		
*set mynodeid		
		LD *(mynodeid+1),8,A
		ADD *(mynodeid),A
		STL A,*(mynodeid)
		
		LD *(mynodeid+3),8,A
		ADD *(mynodeid+2),A
		STL A,*(mynodeid+1)
		
		LD *(mynodeid+5),8,A
		ADD *(mynodeid+4),A
		STL A,*(mynodeid+2)
		
		RET
*
		.end
******************** netcard reset ************************
netcard_reset:
		
		PAGE 0
		WRITE 0x21,NET_REG_CR		;page 0
		WRITE 0xc9,NET_REG_DCR
		WRITE 0x00,NET_REG_IMR
		WRITE 0xff,NET_REG_ISR
		
		PORTR NET_PORT_RESET,*(read_reg)
		DELAY 300
		PORTW *(read_reg),NET_PORT_RESET
		
		STM #5000,AR1
netcard_reset_loop:					;delay 150ms
		DELAY 10000					;10000 * 10ns = 0.1ms
		
 		BANZ netcard_reset_loop,*AR1-
		
		RET
		
*

⌨️ 快捷键说明

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