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

📄 main.s

📁 AVR以太网开发板中的几个例子。文件中定义了网卡芯片的IP地址,默认值是192.168.0.99。
💻 S
📖 第 1 页 / 共 2 页
字号:
L26:
	.dbline 145
	subi R18,255  ; offset = 1
	sbci R19,255
L28:
	.dbline 145
	cpi R18,100
	ldi R30,0
	cpc R19,R30
	brlo L25
	.dbline 149
L22:
	.dbline 143
	subi R16,255  ; offset = 1
	sbci R17,255
L24:
	.dbline 143
	cpi R16,232
	ldi R30,3
	cpc R17,R30
	brlo L21
	.dbline -2
L20:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 i
	.dbsym r k 18 i
	.dbend
	.dbfunc e rtl_errchk _rtl_errchk fV
	.even
_rtl_errchk::
	.dbline -1
	.dbline 154
;   {
;    WDR();
;   }
;  }
; }
; 
; 
; void rtl_errchk(void)
; {
	.dbline 155
;    if(rtl_isrstatus()&0x04) //异常状态监视
	xcall _rtl_isrstatus
	sbrs R16,2
	rjmp L30
	.dbline 156
;    { 
	.dbline 157
;       if(rtl_isrstatus()&0x04)
	xcall _rtl_isrstatus
	sbrs R16,2
	rjmp L32
	.dbline 158
; 	  {   
	.dbline 159
; 	   rtl8019_hotreset();   //网卡芯片热复位
	xcall _rtl8019_hotreset
	.dbline 160
; 	   rtl8019_init();       //重新初始化
	xcall _rtl8019_init
	.dbline 161
; 	   curr_temp=0x0000;
	clr R2
	clr R3
	sts _curr_temp+1,R3
	sts _curr_temp,R2
	.dbline 162
;       }
L32:
	.dbline 163
L30:
	.dbline -2
L29:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e uart1_init _uart1_init fV
	.even
_uart1_init::
	.dbline -1
	.dbline 171
;    }
; }
; 
; 
; //UART1 initialize
; // desired baud rate:19200
; // actual baud rate:19200 (0.0%)
; void uart1_init(void)
; {
	.dbline 172
;  UCSR1B = 0x00; //disable while setting baud rate
	clr R2
	sts 154,R2
	.dbline 173
;  UCSR1A = 0x00;
	sts 155,R2
	.dbline 174
;  UCSR1C = 0x06;
	ldi R24,6
	sts 157,R24
	.dbline 175
;  UBRR1L = 0x26; //set baud rate lo
	ldi R24,38
	sts 153,R24
	.dbline 176
;  UBRR1H = 0x00; //set baud rate hi
	sts 152,R2
	.dbline 177
;  UCSR1B = 0x98;
	ldi R24,152
	sts 154,R24
	.dbline -2
L34:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e uartsenddata _uartsenddata fV
;        udpdata -> R20,R21
	.even
_uartsenddata::
	xcall push_gset1
	.dbline -1
	.dbline 182
; }
; 
; 
; void uartsenddata(void)
; {
	.dbline 183
;    unsigned int udpdata=0;
	clr R20
	clr R21
	.dbline 185
;    
;    if(UCSR1A&0x20)
	lds R2,155
	sbrs R2,5
	rjmp L36
	.dbline 186
;    {
	.dbline 187
;     udpdata=udp_readdata();
	xcall _udp_readdata
	movw R20,R16
	.dbline 188
;    }
L36:
	.dbline 189
	sbrs R21,7
	rjmp L38
	.dbline 190
	.dbline 191
	movw R24,R20
	andi R25,0
	sts 156,R24
	.dbline 192
	clr R20
	clr R21
	.dbline 193
L38:
	.dbline -2
L35:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r udpdata 20 i
	.dbend
	.dbfunc e led_cont _led_cont fV
;           data -> R16
	.even
_led_cont::
	.dbline -1
	.dbline 197
;    if(udpdata&0x8000)     //有新的UDP数据到达
;    {
;     UDR1=(udpdata&0x00FF);    ///////////////////////////////////////
; 	udpdata=0;
;    }
; }
; 
; void led_cont(unsigned char data)
; {
	.dbline 198
;  LEDPORT=(data&0x30)|0xCF;
	mov R24,R16
	andi R24,48
	ori R24,207
	out 0x12,R24
	.dbline -2
L40:
	.dbline 0 ; func end
	ret
	.dbsym r data 16 c
	.dbend
	.dbfunc e mapping_init _mapping_init fV
	.even
_mapping_init::
	.dbline -1
	.dbline 206
; }
; 
; ////////////////////////////////////////////////////////////////////////////////
; ////////////////////////////////////////////////////////////////////////////////
; ////////////////////////////////////////////////////////////////////////////////
; //define mappings
; void mapping_init(void)
; { 
	.dbline 207
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x01F0
	 _key1_ok:: .blkb 1
	
	.dbline 212
;       ".org 0x01F0\n" 
; 	  " _key1_ok:: .blkb 1\n"
; 	);
; 
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x01F4
	 _udpbuffer_in_rp:: .blkb 2
	
	.dbline 217
;       ".org 0x01F4\n" 
; 	  " _udpbuffer_in_rp:: .blkb 2\n"
; 	);
; 
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x01F6
	 _udpbuffer_in_p:: .blkb 2
	
	.dbline 222
;       ".org 0x01F6\n" 
; 	  " _udpbuffer_in_p:: .blkb 2\n"
; 	);
; 
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x01F8
	 _udpdatalen:: .blkb 2
	
	.dbline 227
;       ".org 0x01F8\n" 
; 	  " _udpdatalen:: .blkb 2\n"
; 	);
;  
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x01FA
	 _to_udpport:: .blkb 2
	
	.dbline 232
;       ".org 0x01FA\n" 
; 	  " _to_udpport:: .blkb 2\n"
; 	);
;  
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x01FC
	 _curr_temp:: .blkb 2
	
	.dbline 236
;       ".org 0x01FC\n" 
; 	  " _curr_temp:: .blkb 2\n"
; 	);
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x01FE
	 _curr:: .blkb 2
	
	.dbline 241
;       ".org 0x01FE\n" 
; 	  " _curr:: .blkb 2\n"
; 	);
; 
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x0200
	 _ip_id:: .blkb 2
	
	.dbline 246
;       ".org 0x0200\n" 
; 	  " _ip_id:: .blkb 2\n"
; 	);
; 	
;  asm(".area memory(abs)\n"
	.area memory(abs)
	.org 0x0202
	 _buffer:: .blkb 1536
	
	.dbline 251
;      ".org 0x0202\n"
;      " _buffer:: .blkb 1536\n"
;     );
; 	
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x08FF
	 _udpbuffer_in:: .blkb 1024
	
	.dbline 255
;       ".org 0x08FF\n" 
; 	  " _udpbuffer_in:: .blkb 1024\n"
; 	);
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x1100
	 _udpbuffer_ex:: .blkb 8192
	
	.dbline 260
;       ".org 0x1100\n" 
; 	  " _udpbuffer_ex:: .blkb 8192\n"
; 	);
; 	
;  asm( ".area memory(abs)\n"
	.area memory(abs)
	.org 0x3100
	 _udpsendbuffer_ex:: .blkb 2048
	
	.area memory(abs)
	.org 0xC000
	 _reg_00:: .blkb 1
	.org 0xC100
	 _reg_01:: .blkb 1
	.org 0xC200
	 _reg_02:: .blkb 1
	.org 0xC300
	
	.dbline 274
;       ".org 0x3100\n" 
; 	  " _udpsendbuffer_ex:: .blkb 2048\n"
; 	)
; 	
;  asm(".area memory(abs)\n"
;      ".org 0xC000\n"
;      " _reg_00:: .blkb 1\n"
;      ".org 0xC100\n"
;      " _reg_01:: .blkb 1\n"
;      ".org 0xC200\n"
;      " _reg_02:: .blkb 1\n"
;      ".org 0xC300\n"
;   );
;  asm(
	 _reg_03:: .blkb 1
	.org 0xC400
	 _reg_04:: .blkb 1
	.org 0xC500
	 _reg_05:: .blkb 1
	.org 0xC600
	 _reg_06:: .blkb 1
	.org 0xC700
	
	.dbline 284
;       " _reg_03:: .blkb 1\n"
;       ".org 0xC400\n"
;       " _reg_04:: .blkb 1\n"
;       ".org 0xC500\n"
;       " _reg_05:: .blkb 1\n"
;       ".org 0xC600\n"
;       " _reg_06:: .blkb 1\n"
;       ".org 0xC700\n"
;   );
;  asm(
	 _reg_07:: .blkb 1
	.org 0xC800
	 _reg_08:: .blkb 1
	.org 0xC900
	 _reg_09:: .blkb 1
	.org 0xCA00
	 _reg_0a:: .blkb 1
	.org 0xCB00
	
	.dbline 294
;       " _reg_07:: .blkb 1\n"
;       ".org 0xC800\n"
;       " _reg_08:: .blkb 1\n"
;       ".org 0xC900\n"
;       " _reg_09:: .blkb 1\n"
;       ".org 0xCA00\n"
;       " _reg_0a:: .blkb 1\n"
;       ".org 0xCB00\n"
;   );
;  asm(
	 _reg_0b:: .blkb 1
	.org 0xCC00
	 _reg_0c:: .blkb 1
	.org 0xCD00
	 _reg_0d:: .blkb 1
	.org 0xCE00
	 _reg_0e:: .blkb 1
	.org 0xCF00
	
	.dbline 304
;       " _reg_0b:: .blkb 1\n"
;       ".org 0xCC00\n"
;       " _reg_0c:: .blkb 1\n"
;       ".org 0xCD00\n"
;       " _reg_0d:: .blkb 1\n"
;       ".org 0xCE00\n"
;       " _reg_0e:: .blkb 1\n"
;       ".org 0xCF00\n"
;   );
;  asm(
	 _reg_0f:: .blkb 1
	.org 0xD000
	 _reg_10:: .blkb 1
	.org 0xD100
	 _reg_11:: .blkb 1
	.org 0xD200
	 _reg_12:: .blkb 1
	.org 0xD300
	
	.dbline 314
;       " _reg_0f:: .blkb 1\n"
;       ".org 0xD000\n"
;       " _reg_10:: .blkb 1\n"
;       ".org 0xD100\n"
;       " _reg_11:: .blkb 1\n"
;       ".org 0xD200\n"
;       " _reg_12:: .blkb 1\n"
;       ".org 0xD300\n"
;   );
;  asm(
	 _reg_13:: .blkb 1
	.org 0xD400
	 _reg_14:: .blkb 1
	.org 0xD500
	 _reg_15:: .blkb 1
	.org 0xD600
	 _reg_16:: .blkb 1
	.org 0xD700
	
	.dbline 324
;       " _reg_13:: .blkb 1\n"
;       ".org 0xD400\n"
;       " _reg_14:: .blkb 1\n"
;       ".org 0xD500\n"
;       " _reg_15:: .blkb 1\n"
;       ".org 0xD600\n"
;       " _reg_16:: .blkb 1\n"
;       ".org 0xD700\n"
;   );
;  asm(
	 _reg_17:: .blkb 1
	.org 0xD800
	 _reg_18:: .blkb 1
	.org 0xD900
	 _reg_19:: .blkb 1
	.org 0xDA00
	 _reg_1a:: .blkb 1
	.org 0xDB00
	
	.dbline 334
;       " _reg_17:: .blkb 1\n"
;       ".org 0xD800\n"
;       " _reg_18:: .blkb 1\n"
;       ".org 0xD900\n"
;       " _reg_19:: .blkb 1\n"
;       ".org 0xDA00\n"
;       " _reg_1a:: .blkb 1\n"
;       ".org 0xDB00\n"
;   );
;  asm(
	 _reg_1b:: .blkb 1
	.org 0xDC00
	 _reg_1c:: .blkb 1
	.org 0xDD00
	 _reg_1d:: .blkb 1
	.org 0xDE00
	 _reg_1e:: .blkb 1
	.org 0xDF00
	 _reg_1f:: .blkb 1
	.text
	
	.dbline -2
L41:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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