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

📄 main.lst

📁 在89C51上实现TCPIP协议
💻 LST
字号:
C51 COMPILER V7.07   MAIN                                                                  04/20/2004 18:04:40 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\out\main.obj
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE src\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\main.lst) OBJECT(.\out\mai
                    -n.obj)

stmt level    source

   1          /*
   2           * Copyright (C) 2002 by TechiZ. All rights reserved.
   3           *
   4           * This program was written in Korean(Comment and some more).
   5           *
   6           * This program was developed by TechiZ(The Company name).
   7           * TechiZ want to share this program with you who loves the 8051 & the TCP/IP.
   8           * 
   9           * You MUST DOWNLOAD THIS CODE from TechiZ Homepage.
  10           * You DO NOT USE THIS CODE FOR COMMERCIAL PURPOSE.
  11           * This code is ONLY FREE FOR THE STUDY.
  12           * If you want more, send me E-mail.
  13           *
  14           * E-mail: techiz@techiz.com
  15           * ( Subject is : [T89C51RD2 & TinyTCP] bla~ bla bla.... )
  16           *
  17           * Homepage: http://www.techiz.com
  18           * 
  19           * You DO NOT DELETE THIS COPYRIGHT MESSAGE IN THE USING OF THIS CODE.
  20           *
  21           * In the using of this code, TechiZ does NOT GUARANTEE ABOUT WORKING WITHOUT ERROR.
  22           */
  23          
  24          #include <aduc812.h>
*** WARNING C318 IN LINE 24 OF src\main.c: can't open file 'aduc812.h'
  25          #include <stdio.h>
  26          #include <stdlib.h>
  27          #include <string.h>
  28          #include "reg_8019.h"
  29          #include "depend.h"
  30          #include "global.h"
  31          #include "proto.h"
  32          
  33          /*****************************************************************************/
  34          /*                      Debug Mode                                                       */
  35          /*****************************************************************************/
  36          //#define STRING_TEST  /* sizeof(data type) */     
  37          //#define RECEIVE_STATUS
  38          //#define RTL8019AS_ID_CHECK
  39          #define RECEIVE_TEST
  40          
  41          /*****************************************************************************/
  42          /*                      Global variable                                                  */
  43          /*****************************************************************************/
  44          
  45          byte EthRxBuf[NBUF][SBUFSIZ];
  46          byte EthTxBuf[BUFSIZ];
  47          
  48          union t {                               /* time out variable for interrupt */
  49                          word hl;
  50                          byte reg[2];
  51                          word watchdog_counter;
  52          }time[2];
  53          
C51 COMPILER V7.07   MAIN                                                                  04/20/2004 18:04:40 PAGE 2   

  54          
  55          /*****************************************************************************/
  56          /*                      Main routine start                                               */
  57          /*****************************************************************************/
  58          
  59          void main(void)
  60          {
  61   1          
  62   1          system_init();
  63   1          //ethernet_init();
  64   1          print_logo();
  65   1          print("\n\rInitialize OK ..");
  66   1          while(1){
  67   2              //EN_CMD = EN_PAGE0 + EN_NODMA + EN_START;
  68   2              print("\n\r'Y2K.11.20:\\>");
  69   2              switch(get_serial_echo()){
  70   3                              case '0': output_port0();break;
  71   3                  case '1': output_port1();break;
  72   3                  case '2': output_port2();break;
  73   3                  case '3': output_port3();break;
  74   3                  case '4': ethernet_register_test();break;
  75   3                  case 'c':
  76   3                              case 'C': clear_external_ram();break;
  77   3                              case 'd': dump_auto = 1;
  78   3                                                dump_memory();break;
  79   3                              case 'D': dump_auto = 0;
  80   3                                                dump_memory();break;
  81   3                  case 'H':
  82   3                              case 'h':
  83   3                              case '?': help_message();break;
  84   3                              case 'i':
  85   3                              case 'I': input_port1();break;
  86   3                              case ':': loading_ready = 1;
  87   3                  case 'L':
  88   3                              case 'l': loading_program();break;
  89   3                              case 'q':
  90   3                              case 'Q': quit_program();break;
  91   3                              case 'r': 
  92   3                              case 'R': reset();break;
  93   3                              case 's': 
  94   3                              case 'S': ethernet_address();break;
  95   3                              case 't': 
  96   3                              case 'T': tiny_tcp_main();break;
  97   3                              case '$': ethernet_test();break;
  98   3                              case 'Z':
  99   3                              case 'z': DoS();break;
 100   3                              default : break;
 101   3                      }
 102   2              }
 103   1      }
 104          
 105          
 106          
 107          /*****************************************************************************/
 108          /*                            INTERRUPT SERVICE ROUTINE                              */
 109          /*****************************************************************************/
 110          
 111          void RTL8019AS_INT0() interrupt 0   /* External Interrupt 0 */
 112          {
 113   1          /* you have to use data(Internal RAM) to access faster */
 114   1          /* ENISR_ALL value must be modified when you detect error or success and so on.. */
 115   1          byte e_isr;
C51 COMPILER V7.07   MAIN                                                                  04/20/2004 18:04:40 PAGE 3   

 116   1          
 117   1          disable();  /*      EA = 0 global interrupt flag disable   */
*** ERROR C202 IN LINE 117 OF SRC\MAIN.C: 'EA': undefined identifier
 118   1          
 119   1          e_isr = EN0_ISR;
 120   1          P1_1 = !P1_1;       /* When it go into interrupt routine, this bit changes 1 and 0 */
*** ERROR C202 IN LINE 120 OF SRC\MAIN.C: 'P1_1': undefined identifier
 121   1          time[0].watchdog_counter = 0;       /*  clear to zero to inhibit watchdog */ 
 122   1          
 123   1          EN_CMD = EN_PAGE0 + EN_NODMA;    
 124   1          
 125   1          if ( e_isr & ( ENISR_OVER ) ) {     /* Receiver overwrote the ring */
 126   2                      ei_rx_overrun();
 127   2              }
 128   1              else if ( e_isr & (ENISR_RX) ) {                /* Receive without error */
 129   2      #ifdef RECEIVE_TEST
 130   2              ei_receive();           
 131   2      #elif   
                      receive_test();
              #endif          
 134   2                      EN0_ISR = ENISR_RX;
 135   2              }       
 136   1              if ( e_isr & ENISR_RX_ERR ) {           
 137   2                      /* Receiver with error(CRC, frame aligement,FIFO overflow, receive packet failure  */
 138   2                      //print_int("\n\rReceive error..");
 139   2                      EN0_ISR = ENISR_RX_ERR;
 140   2              }
 141   1              if ( e_isr & ( ENISR_TX ) ) {           /* Transmit without error */
 142   2                      //print_int("\n\rTx OK!");
 143   2                      EN0_ISR = ENISR_TX;
 144   2              }
 145   1              if ( e_isr & ( ENISR_TX_ERR ) ) {       /* Transmit with error(collision, FIFO underrun) */
 146   2                      //print_int("\n\rTx error..");
 147   2                      EN0_ISR = ENISR_TX_ERR;     /* ? */
 148   2              }
 149   1              if ( e_isr & ( ENISR_COUNTERS ) ) {
 150   2                      //print_int("\n\rCounter error..");
 151   2                      rx_frame_errors  += EN0_COUNTER0;
 152   2                      rx_crc_errors    += EN0_COUNTER1;
 153   2                      rx_missed_errors += EN0_COUNTER2;
 154   2                      EN0_ISR = ENISR_COUNTERS;       /*  Counters need emptying               */
 155   2              }
 156   1              if ( e_isr & ( ENISR_RDC ) ) {          /* Remote DMA complete */
 157   2                      EN0_ISR = ENISR_RDC;
 158   2              }
 159   1              
 160   1                      
 161   1              EN_CMD = EN_PAGE0 + EN_NODMA + EN_START;
 162   1              EN0_ISR = 0xff;
 163   1              
 164   1              //EN0_ISR = ENISR_ALL;
 165   1              enable();       /*      EA = 1 global interrupt flag enable    */
*** ERROR C202 IN LINE 165 OF SRC\MAIN.C: 'EA': undefined identifier
 166   1      }
 167          
 168          void TIMEOUT_T0_INT() interrupt 1
 169          {
 170   1              T0 = !T0;               /* T0 pin       */
*** ERROR C202 IN LINE 170 OF SRC\MAIN.C: 'T0': undefined identifier
 171   1              clock_MS++;                     /* I don't know yet ??*/
 172   1              TH0 = time[0].reg[0];   /* <-- TIMER0_INTERVAL_HIGH_BYTE  */
*** ERROR C202 IN LINE 172 OF SRC\MAIN.C: 'TH0': undefined identifier
C51 COMPILER V7.07   MAIN                                                                  04/20/2004 18:04:40 PAGE 4   

 173   1              TL0 = time[0].reg[1];   /* <-- TIMER0_INTERVAL_LOW_BYTE   */
*** ERROR C202 IN LINE 173 OF SRC\MAIN.C: 'TL0': undefined identifier
 174   1              
 175   1              if (time[0].watchdog_counter > WATCHDOG){
 176   2                      time[0].watchdog_counter = 0;
 177   2                      //print_int("S");
 178   2                      //ethernet_init();
 179   2                      //print_int("\n\rWatchDog bowwow~!!");
 180   2              }
 181   1              else{
 182   2                      time[0].watchdog_counter += 1;
 183   2              }
 184   1      }

C51 COMPILATION COMPLETE.  1 WARNING(S),  6 ERROR(S)

⌨️ 快捷键说明

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