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

📄 main.lst

📁 一个通过8051来控制8019上网的程序 该程序已经通过并成功用于键盘
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   MAIN                                                                  06/26/2004 13:41:26 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MAIN.C LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <string.h>
   2          #include <stdlib.h>
   3          #include <reg89C58.h>
   4          #include <stdio.h>
   5          #include <intrins.h>
   6          #include "net.h"
   7          #include "eth.h"
   8          #include "analog.h"
   9          #include "arp.h"
  10          #include "tcp.h"
  11          #include "ip.h"
  12          #include "udp.h"
  13          #include "24c04.h"
  14          #define uchar unsigned char
  15          #define uint  unsigned int
  16          sbit lamp=P1^7;
  17          
  18          UCHAR bdata bit_dat;
  19          sbit bt7=bit_dat^7;
  20          sbit bt0=bit_dat^0;
  21          sbit lapck=P1^0;
  22          sbit ck=P1^1;
  23          sbit kdat=P1^2;
  24          sbit as1=P1^3;
  25          sbit as2=P1^4;
  26          sbit as3=P1^5;
  27          sbit as4=P1^6;
  28          sbit warry=P3^3;                 ///THE FOOT IS WARRY 
  29          UCHAR warrypost;
  30          bit udpst;
  31          bit QUT;
  32          bit KT;
  33          bit DG;
  34          bit OL;
  35          bit STP;
  36          bit KFF;
  37          bit KBB;
  38          bit LR;
  39          bit OC;
  40          bit NEX;
  41          bit LAS;
  42          bit PLY;
  43          bit PWR;
  44          bit RSS;
  45          bit DVD;
  46          bit VCER;
  47          bit CAMER;
  48          bit CAPE;
  49          bit PIN;
  50          bit ZANTAI;
  51          bit LIAN;
  52          bit SYTECH;
  53          bit COMPUTER;
  54          bit BOOK;
  55          bit MUTE;
C51 COMPILER V7.06   MAIN                                                                  06/26/2004 13:41:26 PAGE 2   

  56          bit FCOUS;
  57          bit BLAMP;
  58          bit SYSON;
  59          bit FREES;
  60          bit SYSOFF;
  61          bit YY;
  62          bit sendkey;
  63          UCHAR LED;
  64          UCHAR sound1;
  65          UCHAR pc;
  66          UCHAR warrymode;
  67          // Global variables
  68          
  69          UINT volatile event_word;
  70          char xdata text[20];  
  71          UCHAR idata debug;
  72          
  73          UCHAR idata rcve_buf_allocated;
  74          
  75          UCHAR data timeflg=0x3F;
  76          // This sets my hardware address to 00:01:02:03:04:05
  77          //UCHAR data my_hwaddr[6] = {0x08, 0x07, 0x06, 0x05, 0x05, 0x04}; 
  78          UCHAR data my_hwaddr[6]; 
  79          //UCHAR code sucee[10]="compiling";
  80          // Hardware addr to send a broadcast
  81          UCHAR code broadcast_hwaddr[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
  82          UCHAR code sysbak1[16]={0x08,0x07,0x06,0x05,0x04,0x01,0xc0,0xa8,0x00,0x07,0x40,0x00,0xc0,0xa8,0x00,0x04};
  83          UCHAR code sysbak2[12]={0x04,0xd2,0xff,0xff,0xff,0x00,0xc0,0xa8,0x00,0x01,0x02,0xff};
  84          
  85          // This sets my IP address to 192.168.0.10
  86          //ULONG data  my_ipaddr = 0xc0a8000aL;
  87          ULONG data  my_ipaddr;
  88          ULONG data  my_temote_ipaddr;
  89          UINT data my_remote_port;
  90          // This sets my subnet mask to 255.255.255.0
  91          //ULONG code  my_subnet = 0xFFFFFF00L;
  92          ULONG idata  my_subnet;
  93          // Set to 0 if no gateway is present on network
  94          //ULONG code gateway_ipaddr = 0xc0a80001L;
  95          ULONG idata gateway_ipaddr;
  96          
  97          UCHAR data netsdbuf[10]={0XFF,0X31,0X32,0X33,0X34,0X35,0X31,0X00,0X0D,0X2D};
  98          uchar data sdbuf[8]={0XFF,0X00,0X32,0X32,0X00,0X00,0X00,0X00};
  99          UCHAR idata pmtime;
 100          uchar ALLOFF;
 101          uchar BER;
 102          uchar PM;
 103          uint bbbb;
 104          uint timer;
 105          uchar SYSST;
 106          uchar POWST;
 107          UCHAR stopqhy;
 108          UINT idata PMDLY;
 109          //--------------------------------------------------------------------------
 110          // Initialize the memory management routines
 111          // Initialize variables declared in main
 112          //--------------------------------------------------------------------------
 113          
 114          
 115          void delay(uint i)
 116          {       while(i--);
 117   1              }       
C51 COMPILER V7.06   MAIN                                                                  06/26/2004 13:41:26 PAGE 3   

 118          
 119          void init_main(void)
 120          {
 121   1                      init_mempool((void xdata *)1000, 1500);
 122   1              memset(text, 0, sizeof(text));
 123   1              event_word = 0;
 124   1              rcve_buf_allocated = FALSE;
 125   1              debug = 1;
 126   1      }
 127          
 128          
 129          
 130          void Timer_Init (void)
 131          {
 132   1              TH0 = 0;                // set Timer0 to overflow in 1ms
 133   1              TL0 = 0;
 134   1              TH1=0XEE;
 135   1              TL1=0XEE;
 136   1              PCON=0X80;
 137   1              SCON=0X50;
 138   1              TMOD = 0X21;
 139   1              TR1=1;
 140   1              TR0 = 0;        // STOP Timer0
 141   1              ET1=0;
 142   1              ET0=1;
 143   1              ES=1;
 144   1              EA=1;
 145   1      }
 146          
 147          void wdog(void)
 148          {
 149   1      SWDT=0;
 150   1      WDTD=timeflg;
 151   1      WDTC=0X0F;
 152   1      }
 153          /*
 154          void SD_RS(UCHAR x)
 155          {       UCHAR i;
 156                  
 157          TH1=0xEE;TL1=0xEE;PCON=0x80;
 158                            for(i=0;i<1;i++){SBUF=x;while(TI!=1);TI=0;}
 159          TH1=0XEE;TL1=0XEE;PCON=0X80;
 160          }
 161          */
 162          void display(UCHAR x)
 163          {       UCHAR idata i;
 164   1              bit_dat=x;
 165   1              for(i=0;i<8;i++){
 166   2                      kdat=bt7;lapck=0;bit_dat=_crol_(bit_dat,1);
 167   2                      _nop_();
 168   2                      _nop_();
 169   2                      lapck=1;
 170   2                      }
 171   1      }
 172          
 173          ////////////////////////////////////////key-164//////////////////
 174          bit k164_hit(void)                      //8bit-send
 175          {       uchar i;
 176   1              bit_dat=0;
 177   1              for(i=0;i<8;i++){
 178   2                      kdat=bt7;ck=0;bit_dat=_crol_(bit_dat,1);
 179   2                      _nop_();_nop_();ck=1;
C51 COMPILER V7.06   MAIN                                                                  06/26/2004 13:41:26 PAGE 4   

 180   2                      }
 181   1              if((as1&as2&as3&as4)==0)return(1);
 182   1              else return(0); 
 183   1      }
 184          uchar k164(void)                        //8bit-send
 185          {       uchar i,j,key_num;
 186   1              uchar kk;
 187   1        if(k164_hit())delay(40000);
 188   1              else return(0xff);
 189   1        if(k164_hit()){               
 190   2              
 191   2              lamp=1;
 192   2              kk=0x7f;
 193   2              for(j=0;j<8;j++){bit_dat=kk;
 194   3                for(i=0;i<8;i++){
 195   4                      kdat=bt7;ck=0;bit_dat=_crol_(bit_dat,1);
 196   4                      _nop_();_nop_();ck=1;
 197   4                                      }
 198   3                      if((as1&as2&as3&as4)==0)goto find;              
 199   3                      kk=_cror_(kk,1);
 200   3                                 }
 201   2      find:   if(as1==0)key_num=j;
 202   2                      if(as2==0)key_num=j+8;
 203   2                      if(as3==0)key_num=j+16;
 204   2                      if(as4==0)key_num=j+24;
 205   2                      //WR=0;
 206   2              if(key_num<10)key_num=key_num+'0';
 207   2              else if(key_num<32)key_num=key_num+'A'-10;
 208   2              else key_num=key_num+'A'-14;
 209   2              //      while(k164_hit());lamp=0;
 210   2                      return(key_num);
 211   2                      }
 212   1        else return(0xff);
 213   1      }
 214          void send_ch()
 215          {       uchar i;
 216   1              netsdbuf[7]=0;
 217   1              for(i=1;i<7;i++)netsdbuf[7]=netsdbuf[7]+netsdbuf[i];
 218   1              udp_qhysend(netsdbuf, 1024,my_remote_port,my_temote_ipaddr, 10);
 219   1      }
 220          void sendcom_ch()
 221          {       uchar i;
 222   1              sdbuf[7]=0;
 223   1              for(i=1;i<7;i++)sdbuf[7]=sdbuf[7]+sdbuf[i];
 224   1              EA=0;
 225   1              for(i=0;i<8;i++){SBUF=sdbuf[i];while(TI!=1);TI=0;}
 226   1              SBUF=0X0D;while(TI!=1);TI=0;
 227   1              SBUF=0X2D;while(TI!=1);TI=0;
 228   1              EA=1;
 229   1      }
 230          void fu_key(uchar kk)
 231          {       switch(kk){
 232   2              case 0:break;
 233   2              case 'J':if(ALLOFF){ LED=(LED&0X80)|0X80;display(LED);                                      //THIS KEY IS
             - DVD KEY
 234   3                      DVD=~DVD;if(DVD)sdbuf[5]='e';else sdbuf[5]='f';netsdbuf[2]='4';
 235   3                      delay(30000);}
 236   2                      lamp=0;
 237   2                      break;
 238   2              case 'K':if(ALLOFF){  LED=(LED&0X40)|0X40;display(LED);                                      //THIS KEY I
             -S VCR
 239   3                      VCER=~VCER;if(VCER)sdbuf[5]='g';else sdbuf[5]='h';netsdbuf[2]='5';
C51 COMPILER V7.06   MAIN                                                                  06/26/2004 13:41:26 PAGE 5   

 240   3                      delay(30000);}
 241   2                      lamp=0;
 242   2                      break;
 243   2              case 'L':if(ALLOFF){   LED=(LED&0X20)|0X20;display(LED);                                     //THIS KEY I
             -S CARM 
 244   3                      CAMER=~CAMER;if(CAMER)sdbuf[5]='i';else sdbuf[5]='j';netsdbuf[2]='7';
 245   3                              delay(30000);}
 246   2                      lamp=0;
 247   2                      break;
 248   2              case 'M':if(ALLOFF){  LED=(LED&0X10)|0X10;display(LED);                                     //THIS IS KEY
             - IS CAPE
 249   3                      CAPE=~CAPE;if(CAPE)sdbuf[5]='k';else sdbuf[5]='l';netsdbuf[2]='8';
 250   3                      delay(30000);}

⌨️ 快捷键说明

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