📄 main.lis
字号:
.module Main.c
.area text(rom, con, rel)
0000 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
.area data(ram, con, rel)
0000 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0000 _MY_IP::
0000 .blkb 2
.area idata
0000 C0A8 .byte 192,168
.area data(ram, con, rel)
0002 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0002 .blkb 2
.area idata
0002 01C9 .byte 1,201
.area data(ram, con, rel)
0004 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0004 .dbsym e MY_IP _MY_IP A[4:4]c
0004 _MY_PORT::
0004 .blkb 2
.area idata
0004 2328 .byte 35,40
.area data(ram, con, rel)
0006 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0006 .dbsym e MY_PORT _MY_PORT A[2:2]c
0006 _MY_MAC::
0006 .blkb 2
.area idata
0006 0000 .byte 0,0
.area data(ram, con, rel)
0008 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0008 .blkb 2
.area idata
0008 6162 .byte 'a,'b
.area data(ram, con, rel)
000A .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
000A .blkb 2
.area idata
000A 6364 .byte 'c,'d
.area data(ram, con, rel)
000C .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
000C .dbsym e MY_MAC _MY_MAC A[6:6]c
000C _REMOTE_IP::
000C .blkb 2
.area idata
000C C0A8 .byte 192,168
.area data(ram, con, rel)
000E .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
000E .blkb 2
.area idata
000E 01A0 .byte 1,160
.area data(ram, con, rel)
0010 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0010 .dbsym e REMOTE_IP _REMOTE_IP A[4:4]c
0010 _REMOTE_PORT::
0010 .blkb 2
.area idata
0010 2328 .byte 35,40
.area data(ram, con, rel)
0012 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0012 .dbsym e REMOTE_PORT _REMOTE_PORT A[2:2]c
0012 _REMOTE_MAC::
0012 .blkb 2
.area idata
0012 0010 .byte 0,16
.area data(ram, con, rel)
0014 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0014 .blkb 2
.area idata
0014 B5AC .byte 181,172
.area data(ram, con, rel)
0016 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0016 .blkb 2
.area idata
0016 F131 .byte 241,49
.area data(ram, con, rel)
0018 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0018 .dbsym e REMOTE_MAC _REMOTE_MAC A[6:6]c
.area text(rom, con, rel)
0000 .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 .dbline -1
0000 .dbline 53
0000 ; //*01. 本程序的晶体为 7.3728mHz ATMEGA128
0000 ; //*02. 网卡板UDP的IP: 192.168.1.201
0000 ; //*03. 网卡板UDP的端口: 9000
0000 ; //*04. 网卡板MAC: { 0, 0, 'a', 'b', 'c', 'd' }
0000 ; //*05. 网卡板: 192.168.1.201 9000
0000 ; //*06. 远程电脑IP: 192.168.1.160
0000 ; //*07. 远程电脑端口: 9000
0000 ; //*08. 远程电脑MAC: { 0, 0x10, 0xB5, 0xAC, 0xF1, 0x31 }
0000 ; //*09. 无网关(GATE)
0000 ; //*10. 无子网掩码(MASK)
0000 ;
0000 ; //#include <string.h>
0000 ; //#include <stdio.h>
0000 ; #include <iom128v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; #include "Delay_7.37M.h"
0000 ; #include "Lcd7920.h"
0000 ; #include "Usart1_M128.h"
0000 ; #include "Rtl8019as_Ethernet_M128.h"
0000 ; #include "Rtl8019as_M128.h"
0000 ;
0000 ; //设置网络默认值
0000 ; unsigned char MY_IP[4] = { 192,168,1,201 };
0000 ; unsigned char MY_PORT[2] = { 0x23,0x28 }; //端口9000
0000 ; unsigned char MY_MAC[6] = { 0,0,'a','b','c','d' };
0000 ;
0000 ; unsigned char REMOTE_IP[4] = { 192,168,1,160};
0000 ; unsigned char REMOTE_PORT[2] = { 0x23,0x28 }; //端口9000
0000 ; unsigned char REMOTE_MAC[6] = { 0,0x10,0xB5,0xAC,0xF1,0x31 };
0000 ;
0000 ; #define set_packet32(d,s) packet[d] = make8(s,3); \
0000 ; packet[d+1] = make8(s,2); \
0000 ; packet[d+2] = make8(s,1); \
0000 ; packet[d+3]= make8(s,0);
0000 ;
0000 ; #define make8(var,offset) (var >> (offset * 8)) & 0xFF
0000 ; #define make16(varhigh,varlow) ((varhigh & 0xFF)* 0x100) + (varlow & 0xFF)
0000 ; #define make32(var1,var2,var3,var4) \
0000 ; ((unsigned long)var1<<24)+((unsigned long)var2<<16)+ \
0000 ; ((unsigned long)var3<<8)+((unsigned long)var4)
0000 ;
0000 ; unsigned char flg_arp;
0000 ;
0000 ;
0000 ; void DoWithUart(void); //处理串口接收
0000 ;
0000 ;
0000 ;
0000 ;
0000 ;
0000 ; void main(void)
0000 ; {
0000 .dbline 54
0000 ; CLI();
0000 F894 cli
0002 .dbline 55
0002 ; UART1_Init(); //串口初始化要放在8019初始化前面,以免向串口发空乱数据
0002 0E940000 xcall _UART1_Init
0006 .dbline 56
0006 ; LCD_Init();
0006 0E940000 xcall _LCD_Init
000A .dbline 64
000A ;
000A ; ////init_RTL8019AS();
000A ;
000A ; ////clr_synflag;
000A ; ////clr_finflag;
000A ;
000A ; //网络数据初始化 (--以后改用memcpy)
000A ; nodRemote.cIp[0]= REMOTE_IP[0];
000A 20900C00 lds R2,_REMOTE_IP
000E 20920600 sts _nodRemote+6,R2
0012 .dbline 65
0012 ; nodRemote.cIp[1]= REMOTE_IP[1];
0012 20900D00 lds R2,_REMOTE_IP+1
0016 20920700 sts _nodRemote+6+1,R2
001A .dbline 66
001A ; nodRemote.cIp[2]= REMOTE_IP[2];
001A 20900E00 lds R2,_REMOTE_IP+2
001E 20920800 sts _nodRemote+6+2,R2
0022 .dbline 67
0022 ; nodRemote.cIp[3]= REMOTE_IP[3];
0022 20900F00 lds R2,_REMOTE_IP+3
0026 20920900 sts _nodRemote+6+3,R2
002A .dbline 68
002A ; nodRemote.cPort[0]=REMOTE_PORT[0];
002A 20901000 lds R2,_REMOTE_PORT
002E 20920A00 sts _nodRemote+10,R2
0032 .dbline 69
0032 ; nodRemote.cPort[1]=REMOTE_PORT[1];
0032 20901100 lds R2,_REMOTE_PORT+1
0036 20920B00 sts _nodRemote+10+1,R2
003A .dbline 70
003A ; nodRemote.cMac[0]= REMOTE_MAC[0];
003A 20901200 lds R2,_REMOTE_MAC
003E 20920000 sts _nodRemote,R2
0042 .dbline 71
0042 ; nodRemote.cMac[1]= REMOTE_MAC[1];
0042 20901300 lds R2,_REMOTE_MAC+1
0046 20920100 sts _nodRemote+1,R2
004A .dbline 72
004A ; nodRemote.cMac[2]= REMOTE_MAC[2];
004A 20901400 lds R2,_REMOTE_MAC+2
004E 20920200 sts _nodRemote+2,R2
0052 .dbline 73
0052 ; nodRemote.cMac[3]= REMOTE_MAC[3];
0052 20901500 lds R2,_REMOTE_MAC+3
0056 20920300 sts _nodRemote+3,R2
005A .dbline 74
005A ; nodRemote.cMac[4]= REMOTE_MAC[4];
005A 20901600 lds R2,_REMOTE_MAC+4
005E 20920400 sts _nodRemote+4,R2
0062 .dbline 75
0062 ; nodRemote.cMac[5]= REMOTE_MAC[5];
0062 20901700 lds R2,_REMOTE_MAC+5
0066 20920500 sts _nodRemote+5,R2
006A .dbline 77
006A ;
006A ; nodLoc.cIp[0]=MY_IP[0];
006A 20900000 lds R2,_MY_IP
006E 20920600 sts _nodLoc+6,R2
0072 .dbline 78
0072 ; nodLoc.cIp[1]=MY_IP[1];
0072 20900100 lds R2,_MY_IP+1
0076 20920700 sts _nodLoc+6+1,R2
007A .dbline 79
007A ; nodLoc.cIp[2]=MY_IP[2];
007A 20900200 lds R2,_MY_IP+2
007E 20920800 sts _nodLoc+6+2,R2
0082 .dbline 80
0082 ; nodLoc.cIp[3]=MY_IP[3];
0082 20900300 lds R2,_MY_IP+3
0086 20920900 sts _nodLoc+6+3,R2
008A .dbline 81
008A ; nodLoc.cPort[0]=MY_PORT[0];
008A 20900400 lds R2,_MY_PORT
008E 20920A00 sts _nodLoc+10,R2
0092 .dbline 82
0092 ; nodLoc.cPort[1]=MY_PORT[1];
0092 20900500 lds R2,_MY_PORT+1
0096 20920B00 sts _nodLoc+10+1,R2
009A .dbline 83
009A ; nodLoc.cMac[0]= MY_MAC[0];
009A 20900600 lds R2,_MY_MAC
009E 20920000 sts _nodLoc,R2
00A2 .dbline 84
00A2 ; nodLoc.cMac[1]= MY_MAC[1];
00A2 20900700 lds R2,_MY_MAC+1
00A6 20920100 sts _nodLoc+1,R2
00AA .dbline 85
00AA ; nodLoc.cMac[2]= MY_MAC[2];
00AA 20900800 lds R2,_MY_MAC+2
00AE 20920200 sts _nodLoc+2,R2
00B2 .dbline 86
00B2 ; nodLoc.cMac[3]= MY_MAC[3];
00B2 20900900 lds R2,_MY_MAC+3
00B6 20920300 sts _nodLoc+3,R2
00BA .dbline 87
00BA ; nodLoc.cMac[4]= MY_MAC[4];
00BA 20900A00 lds R2,_MY_MAC+4
00BE 20920400 sts _nodLoc+4,R2
00C2 .dbline 88
00C2 ; nodLoc.cMac[5]= MY_MAC[5];
00C2 20900B00 lds R2,_MY_MAC+5
00C6 20920500 sts _nodLoc+5,R2
00CA .dbline 90
00CA ;
00CA ; flg_arp='f';
00CA 86E6 ldi R24,102
00CC 80930000 sts _flg_arp,R24
00D0 .dbline 94
00D0 ;
00D0 ; //delay_ms(1500); //keep it, wait for arp
00D0 ;
00D0 ; LCD_WriteStrAuto("Wan tst 080123B");
00D0 00E0 ldi R16,<L65
00D2 10E0 ldi R17,>L65
00D4 0E940000 xcall _LCD_WriteStrAuto
00D8 .dbline 95
00D8 ; SEI();
00D8 7894 sei
00DA .dbline 97
00DA ;
00DA ; UART1_Puts("12345abc");
00DA 00E0 ldi R16,<L66
00DC 10E0 ldi R17,>L66
00DE 0E940000 xcall _UART1_Puts
00E2 05C0 xjmp L68
00E4 L67:
00E4 .dbline 103
00E4 ;
00E4 ; //******************************************************************
00E4 ; //* Look for a packet in the receive buffer ring
00E4 ; //******************************************************************
00E4 ; while(1)
00E4 ; {
00E4 .dbline 107
00E4 ; //Delay_nms_Preci(1500);
00E4 ;
00E4 ; //串口接收处理
00E4 ; if (flg_Received )
00E4 20900000 lds R2,_flg_Received
00E8 2220 tst R2
00EA 09F0 breq L70
00EC X0:
00EC .dbline 108
00EC ; {
00EC .dbline 109
00EC ; DoWithUart();
00EC 02D0 xcall _DoWithUart
00EE .dbline 110
00EE ; }
00EE L70:
00EE .dbline 157
00EE ;
00EE ; /* //start the NIC
00EE ; write_rtl(CR,0x22);
00EE ;
00EE ; //wait for a good packet
00EE ; while(!(PIND & INT0_pin)) //循环, 直到INT0为高电平, 执行后面的程序
00EE ; {
00EE ; //if (flg_arp=='f')
00EE ; //{
00EE ; // sendarp(); delay_ms(350);
00EE ; // }
00EE ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -