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

📄 eos.lst

📁 单片机程序代码,经过很详细的测试.呵呵,硬件相关.
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   EOS                                                                   03/10/2006 16:35:52 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE EOS
OBJECT MODULE PLACED IN EOS.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE EOS.c LARGE OPTIMIZE(9,SIZE) BROWSE NOAREGS DEBUG OBJECTEXTEND

line level    source

   1          #include <reg54.h>
   2          #include <stdio.h>
   3          #include "se0121.h"
   4          #include "cmd_para_save.h"
   5          
   6          extern unsigned long int xdata commandid;                              //表示命令代码的变量
   7          extern void SetResRdyTbl(unsigned char prio) large reentrant;
   8          extern unsigned char se0121_reg_rd(unsigned char Laddr,unsigned char slot);
   9          extern void se0121_reg_wr(unsigned char Laddr,unsigned char value,unsigned char slot);
  10          extern unsigned char xdata tx_buf[];
  11          extern unsigned char xdata tx_buf_pointer;
  12          extern bit tx_done;
  13          
  14          unsigned char xdata EOS_address_value = 0;
  15          
  16          unsigned char reset_EOS(struct cmd_para_save *reset_EOS){
  17   1      //C90软件复位EOS
  18   1      unsigned char xdata board;
  19   1      unsigned char xdata value;
  20   1      unsigned char xdata return_value;
  21   1      
  22   1              commandid = 0x00433930;
  23   1              board = reset_EOS -> reset_EOS_board;
  24   1              value = reset_EOS -> reset_EOS_value;
  25   1      
  26   1              if (value == 0)
  27   1              {
  28   2                      value = se0121_reg_rd(Eos_cortrol,board);
  29   2                      value |= 0x80;
  30   2                      se0121_reg_wr(Eos_cortrol,value,board);                 //先复位EOS盘的SDH接口部分
  31   2                      value &= 0x7F;
  32   2                      se0121_reg_wr(Eos_cortrol,value,board);                 //再恢复正常
  33   2                      return_value = 0;
  34   2              }
  35   1              else if (value == 1)
  36   1              {
  37   2                      value = se0121_reg_rd(E_cortrol,board);
  38   2                      value |= 0x80;
  39   2                      se0121_reg_wr(E_cortrol,value,board);                   //先复位EOS盘的以太网接口部分
  40   2                      value &= 0x7F;
  41   2                      se0121_reg_wr(E_cortrol,value,board);                   //再恢复正常
  42   2                      return_value = 0;
  43   2              }
  44   1              else return_value = 2;
  45   1      
  46   1              SetResRdyTbl(1);
  47   1              return(return_value);
  48   1      }
  49          
  50          
  51          unsigned char set_EOS_address(struct cmd_para_save *set_EOS_address){
  52   1      //C91设置发送接收端地址
  53   1      unsigned char xdata board;
  54   1      unsigned char xdata type;
  55   1      unsigned char xdata value;
C51 COMPILER V7.50   EOS                                                                   03/10/2006 16:35:52 PAGE 2   

  56   1      unsigned char xdata return_value;
  57   1      
  58   1              commandid = 0x00433931;
  59   1              board = set_EOS_address -> set_address_board;
  60   1              type  = set_EOS_address -> set_address_type;
  61   1              value = set_EOS_address -> set_address_value;
  62   1      
  63   1              value &= 0x1F;
  64   1              if (type == 0)
  65   1              {
  66   2                      se0121_reg_wr(CA_send,value,board);
  67   2                      return_value = 0;
  68   2              }
  69   1              else if (type == 1)
  70   1              {
  71   2                      se0121_reg_wr(CA_recv,value,board);
  72   2                      return_value = 0;
  73   2              }
  74   1              else return_value = 2;
  75   1      
  76   1              SetResRdyTbl(1);
  77   1              return(return_value);
  78   1      }
  79          
  80          
  81          unsigned char get_EOS_address(struct cmd_para_save *get_EOS_address){
  82   1      //C92读取发送接收端地址
  83   1      unsigned char xdata board;
  84   1      unsigned char xdata type;
  85   1      unsigned char xdata return_value;
  86   1      
  87   1              commandid = 0x00433931;
  88   1              board = get_EOS_address -> get_address_board;
  89   1              type  = get_EOS_address -> get_address_type;
  90   1      
  91   1              if (type == 0)
  92   1              {
  93   2                      EOS_address_value = se0121_reg_rd(CA_send,board);
  94   2                      return_value = 0;
  95   2              }
  96   1              else if (type == 1)
  97   1              {
  98   2                      EOS_address_value = se0121_reg_rd(CA_recv,board);
  99   2                      return_value = 0;
 100   2              }
 101   1              else
 102   1              {
 103   2                      EOS_address_value = 0;
 104   2                      return_value = 2;
 105   2              }
 106   1      
 107   1              SetResRdyTbl(33);
 108   1              return(return_value);
 109   1      }
 110          
 111          void report_EOS_address(unsigned char value){
 112   1      //C92回应函数
 113   1      unsigned char xdata temp;
 114   1      
 115   1          tx_buf[0] = '$';
 116   1              tx_buf[1] = '2';
 117   1              tx_buf[2] = '1';
C51 COMPILER V7.50   EOS                                                                   03/10/2006 16:35:52 PAGE 3   

 118   1              tx_buf[3] = 0x43;
 119   1              tx_buf[4] = 0x39;
 120   1              tx_buf[5] = 0x32;
 121   1              tx_buf[6] = '0';
 122   1              tx_buf[7] = '0';
 123   1              tx_buf[8] = '0';
 124   1              tx_buf[9] = '3';
 125   1              tx_buf[10] = value + 0x30;
 126   1              temp = EOS_address_value >> 4;
 127   1              if (temp > 9)
 128   1                      tx_buf[11] = temp + 0x37;
 129   1              else tx_buf[11] = temp + 0x30;
 130   1              temp = EOS_address_value & 0x0F;
 131   1              if (temp > 9)
 132   1                      tx_buf[12] = temp + 0x37;
 133   1              else tx_buf[12] = temp + 0x30;
 134   1              tx_buf[13] = '*';
 135   1              tx_buf_pointer = 0;     
 136   1              while(tx_buf[tx_buf_pointer] != '*'){
 137   2                      SBUF = tx_buf[tx_buf_pointer];
 138   2                      while(tx_done == 0);
 139   2                      tx_done = 0;
 140   2                      tx_buf_pointer++;
 141   2              }
 142   1              SBUF = tx_buf[tx_buf_pointer];          //发送最后一个字符'*'
 143   1              while(tx_done == 0);
 144   1              tx_done = 0;
 145   1      }
 146          
 147          unsigned char set_search_location(struct cmd_para_save *set_EOS_search){
 148   1      //C93设置监控点
 149   1      unsigned char xdata board;
 150   1      unsigned char xdata type;
 151   1      unsigned char xdata value;
 152   1      unsigned char xdata return_value;
 153   1      
 154   1              commandid = 0x00433933;
 155   1              board = set_EOS_search -> set_search_board;
 156   1              type  = set_EOS_search -> set_search_locate;
 157   1      
 158   1              if (type == 0)
 159   1              {
 160   2                      value = se0121_reg_rd(E_cortrol,board);
 161   2                      value &= 0xF7;
 162   2                      se0121_reg_wr(E_cortrol,value,board);
 163   2                      return_value = 0;
 164   2              }
 165   1              else if (type == 1)
 166   1              {
 167   2                      value = se0121_reg_rd(E_cortrol,board);
 168   2                      value |= 0x08;
 169   2                      se0121_reg_wr(E_cortrol,value,board);
 170   2                      return_value = 0;
 171   2              }
 172   1              else return_value = 2;
 173   1      
 174   1              SetResRdyTbl(1);
 175   1              return(return_value);
 176   1      }
 177          
 178          unsigned char get_search_location(struct cmd_para_save *get_EOS_search){
 179   1      //C94读取监控点
C51 COMPILER V7.50   EOS                                                                   03/10/2006 16:35:52 PAGE 4   

 180   1      unsigned char xdata board;
 181   1      unsigned char xdata value;
 182   1      unsigned char xdata return_value;
 183   1      
 184   1              board = get_EOS_search -> get_search_board;
 185   1      
 186   1              value = se0121_reg_rd(E_cortrol,board);
 187   1              value &= 0x08;
 188   1              if (value == 0)
 189   1              {
 190   2                      return_value = 0;
 191   2              }

⌨️ 快捷键说明

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