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

📄 test.lst

📁 C51中的指针应用之一.rar
💻 LST
字号:
C51 COMPILER V7.20   TEST                                                                  09/14/2004 03:30:10 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN TEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TEST.C REGFILE(.\test.ORC) BROWSE DEBUG OBJECTEXTEND TABS(3)

line level    source

   1          //#pragma src(test.a51)
   2          #include "reg51.h"
   3          #include "IO.H"   // 自定义头文件, 宏定义及I/O函数外部声明
   4          
   5          void enter(void), del(void), review(void), quit(void);  // 函数声明
   6          
   7          code void (*option[])(void) = { // 作为code数据, 类似汇编里的函数地址标号
   8             enter,
   9             del,
  10             review,
  11             quit
  12          };
  13          
  14          
  15          unsigned char str_chr(unsigned char * str, unsigned char ch); // 检测字符串str中是否含有字符ch
  16          
  17          unsigned char menu(void); // 示出一个菜单, 返回用户选择的菜单号
  18          
  19          unsigned char main(void)
  20          {
  21   1         unsigned char i;
  22   1      
  23   1         SCON = 0xc0;            // 设置串口为方式3, 11位UART(Universal Asynchronous Receiver/Transmitter), 波特率
             -可变 
  24   1         PCON = 0;
  25   1         TMOD = 0x20;            // 设置定时器T1为方式2(自动再装入8位计数器),做为波特率发生器
  26   1         TH1 = 0xf0;
  27   1         TL1 = 0xf0;
  28   1         TR1 = 1;
  29   1       
  30   1       //EA = 1;                 // 所有中断开
  31   1       //ES = 1;                 // 允许串行中断
  32   1         REN = 1;                // 允许串行接收, 把此行关闭,串口1就收不到数据了
  33   1      
  34   1         do {
  35   2            i = menu(); /* get user's choice */
  36   2      
  37   2            (*option[i])(); /* execute */
  38   2      
  39   2            if(i==3)break;
  40   2      
  41   2            putstring("  continue!\n\n");
  42   2      
  43   2         } while(1);
  44   1      
  45   1         return 0;
  46   1      }
  47          
  48          
  49          unsigned char menu(void)
  50          {
  51   1         unsigned char ch;
  52   1      
  53   1         do {
  54   2            putstring("1. Enter\n");
C51 COMPILER V7.20   TEST                                                                  09/14/2004 03:30:10 PAGE 2   

  55   2            putstring("2. Delete\n");
  56   2            putstring("3. Review\n");
  57   2            putstring("4. Quit\n");
  58   2            putstring("Select a number: ");
  59   2            ch = getche();
  60   2            putstring("\n");
  61   2      
  62   2         } while(!str_chr("1234", ch));
  63   1      
  64   1         return ch - 0x31; /* convert to an integer equivalent */
  65   1      
  66   1      }
  67          
  68          unsigned char str_chr(unsigned char * str, unsigned char ch)
  69          {
  70   1         unsigned char i;
  71   1         for(i=0;str[i];++i){
  72   2            if(str[i]==ch)break;
  73   2         }
  74   1         return str[i];
  75   1      }
  76          
  77          void enter(void)
  78          {
  79   1         putstring("\nIn enter");
  80   1      }
  81          void del(void)
  82          {
  83   1         putstring("\nIn del");
  84   1      }
  85          void review(void)
  86          {
  87   1         putstring("\nIn review");
  88   1      }
  89          void quit(void)
  90          {
  91   1         putstring("\nIn quit");
  92   1      }
  93          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    206    ----
   CONSTANT SIZE    =    130    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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