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

📄 hyperterminal.lst

📁 这是一个大模式下ucos51的移植结果,因为大部分可载的ucos51都是小模式下的
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   HYPERTERMINAL                                                         01/02/2009 14:29:36 PAGE 1   


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

line level    source

   1          #include "HyperTerminal.h"
   2          #include <stdio.h>
   3          #include <stdlib.h>
   4          void Set_RTC(void);//set RTC 
   5          
   6          /*****************************************************************************/
   7          char idata SerialBuffer[MAX_SERIAL_BUFFER_SIZE];
   8          char idata PromptBuffer[MAX_PROMPT_BUFFER_SIZE];
   9          char idata CursorPosion;
  10          char idata ExecCommandFlag;
  11          
  12          unsigned char gLedFlag=0xff;
  13          unsigned char gDig[6];
  14          unsigned char gBeep;
  15          #define XBYTE ((char *) 0x20000L)
  16          #define LAMPADDR 0xd000
  17          #define LEDADDR 0xc000
  18          #define LEDDATAADDR     0x9000
  19          #define BEEPADDR        0xa000
  20          void DisplayDomain();
  21          void DisplayTel();
  22          void Read_RTC(void);
  23          extern unsigned char read_rtc_code[7];
  24          extern unsigned char set_rtc_code[7];
  25          extern unsigned char gIrArr[6];
  26          void InitADC0831();
  27          unsigned char   ReadADC0831() ;
  28          unsigned char rtemp();
  29          void Write2402(unsigned char add,unsigned char dat)        ;
  30          unsigned char Read2402(unsigned char add)         ;
  31          
  32          
  33          COMMAND CommandList[MAX_COMMAND_NUM] = {
  34                  {"help",Help," help -- Command help"},
  35                  {"prompt",Prompt," prompt <string> -- Change a prompt"},
  36                  {"clear",Clear," clear -- Clear screen"},
  37                  {"lamp",Lamp," lamp <no on/off> -- Change a prompt"},
  38                  {"led",Led," led <no number>-- display data"},
  39                  {"beep",Beep," beep <on/off>-- Change a prompt"},
  40                  {"lcd",Lcd," lcd -- display  screen"},
  41                  {"reboot",Reboot," reboot -- Reboot the MCU"},
  42                  {"relay",Relay," relay <on/off> -- operate relay"},
  43                  {"temp",Temp," temp -- read temperature"},
  44                  {"writetime",WriteTime," writetime <string> -- set time"},
  45                  {"readtime",ReadTime," readtime-- read time"},
  46                  {"ad",AD," ad-- display ad data"},
  47                  {"ir",IR," ir-- display ir data"},
  48                  {"writee2prom",WriteE2prom," writee2prom <addr data> -- write e2prom"},
  49                  {"reade2prom",ReadE2prom," reade2prom <addr>-- read e2prom"}
  50          };
  51          void Lamp(char argc, const char **argv)
  52          {
  53   1              char i,j;
  54   1              argv = argv;
  55   1              switch(argc)
C51 COMPILER V7.50   HYPERTERMINAL                                                         01/02/2009 14:29:36 PAGE 2   

  56   1              {
  57   2              case 3:
  58   2                      i=0xff;
  59   2                      if (strcmp(argv[1],"1")==0) i=0x00;
  60   2                      if (strcmp(argv[1],"2")==0) i=0x01;
  61   2                      if (strcmp(argv[1],"3")==0) i=0x02;
  62   2                      if (strcmp(argv[1],"4")==0) i=0x03;
  63   2                      j=0xff;
  64   2                      if (strcmp(argv[2],"on")==0) j=0x00;
  65   2                      if (strcmp(argv[2],"off")==0) j=0x01;
  66   2                      if ((i==0xff) || (j==0xff))
  67   2                      {
  68   3                                      ;
  69   3                      }
  70   2                      else
  71   2                      {
  72   3                              if (j==0)
  73   3                              {
  74   4                                      j=1;
  75   4                                      j=j<<i;
  76   4                                      j=j ^ 0xff;
  77   4                                      gLedFlag=(gLedFlag & j);
  78   4                              }
  79   3                              else                    
  80   3                              {
  81   4                                      j=1;
  82   4                                      j=j<<i;
  83   4                                      gLedFlag=(gLedFlag | j);
  84   4                              }
  85   3                              XBYTE[LAMPADDR]=gLedFlag;
  86   3                      }
  87   2                      SerialSendStr("\n");
  88   2                      break;
  89   2              default:
  90   2                      SerialSendStr(" Invalid 'lamp' command\n");
  91   2                      break;
  92   2              }
  93   1      }
  94          void Led(char argc, const char **argv)
  95          {
  96   1              char i,j;
  97   1              argv = argv;
  98   1              switch(argc)
  99   1              {
 100   2              case 3:
 101   2                      i=atoi(argv[1]);
 102   2                      j=atoi(argv[2]);
 103   2                      XBYTE[LEDADDR]=0xff;
 104   2                      XBYTE[LEDDATAADDR]=0x30;
 105   2                      XBYTE[LEDADDR]=0xff^ 0x01;
 106   2      
 107   2                      gDig[0]=0xff;
 108   2                      for(i=0;i<6;i++)
 109   2                              gDig[i]=0xff;
 110   2                      i=strlen(argv);
*** WARNING C182 IN LINE 110 OF HYPERTERMINAL.C: pointer to different objects
 111   2                      for(j=0;j<i;j++)
 112   2                      {
 113   3                              gDig[j]=argv[1][j];
 114   3                      }
 115   2                      SerialSendStr("\n");
 116   2                      break;
C51 COMPILER V7.50   HYPERTERMINAL                                                         01/02/2009 14:29:36 PAGE 3   

 117   2              default:
 118   2                      SerialSendStr(" Invalid 'led' command\n");
 119   2                      break;
 120   2              }
 121   1      }
 122          void Beep(char argc, const char **argv)
 123          {
 124   1              char j;
 125   1              argv = argv;
 126   1              switch(argc)
 127   1              {
 128   2              case 2:
 129   2                      j=0xff;
 130   2                      if (strcmp(argv[1],"off")==0)
 131   2                      {
 132   3                              j=0xfe;
 133   3                              gBeep=(gBeep & j);
 134   3                              XBYTE[BEEPADDR]=gBeep;
 135   3                      }
 136   2                      if (strcmp(argv[1],"on")==0)
 137   2                      {
 138   3                              j=0x01;
 139   3                              gBeep=gBeep | j;
 140   3                              XBYTE[BEEPADDR]=gBeep;
 141   3                      }
 142   2                      SerialSendStr("\n");
 143   2                      break;
 144   2              default:
 145   2                      SerialSendStr(" Invalid 'beep' command\n");
 146   2                      break;
 147   2              }
 148   1      }
 149          void Lcd(char argc, const char **argv)
 150          {
 151   1              char j;
 152   1              argv = argv;
 153   1              switch(argc)
 154   1              {
 155   2              case 2:
 156   2                      j=0xff;
 157   2                      if (strcmp(argv[1],"domain")==0)
 158   2                      {
 159   3                              DisplayDomain();
 160   3                      }
 161   2                      if (strcmp(argv[1],"tel")==0)
 162   2                      {
 163   3                              DisplayTel();
 164   3                      }
 165   2                      SerialSendStr("\n");
 166   2                      break;
 167   2              default:
 168   2                      SerialSendStr(" Invalid 'lcd' command\n");
 169   2                      break;
 170   2              }
 171   1      }
 172          void Relay(char argc, const char **argv)
 173          {
 174   1              char j;
 175   1              argv = argv;
 176   1              switch(argc)
 177   1              {
 178   2              case 2:
C51 COMPILER V7.50   HYPERTERMINAL                                                         01/02/2009 14:29:36 PAGE 4   

 179   2                      j=0xff;
 180   2                      if (strcmp(argv[1],"off")==0)
 181   2                      {
 182   3                              j=0xbf;
 183   3                              gBeep=(gBeep & j);
 184   3                              XBYTE[BEEPADDR]=gBeep;
 185   3                      }
 186   2                      if (strcmp(argv[1],"on")==0)
 187   2                      {
 188   3                              j=0x40;
 189   3                              gBeep=gBeep | j;
 190   3                              XBYTE[BEEPADDR]=gBeep;
 191   3                      }
 192   2                      SerialSendStr("\n");
 193   2                      break;
 194   2              default:
 195   2                      SerialSendStr(" Invalid 'relay' command\n");
 196   2                      break;
 197   2              }
 198   1      }
 199          void Temp(char argc, const char **argv)
 200          {
 201   1      unsigned char j;
 202   1      char str[20];
 203   1              argv = argv;
 204   1              switch(argc)
 205   1              {
 206   2              case 1:
 207   2                      j=rtemp();
 208   2                      str[0]=(j/100) +0x30;
 209   2                      j=(j % 100);
 210   2                      str[1]=(j/10) +0x30;
 211   2                      j=(j % 10);
 212   2                      str[2]=j +0x30;
 213   2                      str[3]='\n';
 214   2                      SerialSendStr(str);
 215   2                      SerialSendStr("\r\n");
 216   2                      break;
 217   2              default:
 218   2                      SerialSendStr(" Invalid 'temp' command: too many arguments\r\n");
 219   2                      break;
 220   2              }
 221   1      }
 222          void ReadTime(char argc, const char **argv)
 223          {
 224   1      char str[20];
 225   1              argv = argv;

⌨️ 快捷键说明

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