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

📄 mzmfr.lst

📁 不少单片机C代码
💻 LST
字号:
C51 COMPILER V7.01  MZMFR                                                                  02/27/2003 10:00:53 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE MZMFR
OBJECT MODULE PLACED IN MZMFR.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE MZMFR.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /* This program is a example */
   2                                       /* item1 */                       
   3          #include <reg51.h>           /* item2 */
   4          #define uint unsigned int
   5          #define uchar unsigned char
   6          
   7          uchar bdata FLAG;
   8          sbit FLAG1 = FLAG^1;
   9          sbit FLAG2 = FLAG^2;
  10          sbit P1_1 = P1^1;
  11          uchar data time,Dtime,Btime; /* item3 */
  12          uint fetch_rate(void);       /* item4 */
  13          
  14          main(){                      /* item5 */
  15   1        char bdata JFLAG;
  16   1        uint data state,Astate,Bstate,rate;
  17   1        do {
  18   2          P1=0xFF;                 /* item6 */
  19   2          FLAG=P1;
  20   2          TXD=0;     /* P3.1 */
  21   2          JFLAG=FLAG>>6;
  22   2          JFLAG=JFLAG&0x03;
  23   2          switch(JFLAG) {
  24   3            case 0:
  25   3                 time=2;Dtime=20;break;
  26   3            case 1:
  27   3                 time=4;Dtime=40;break;
  28   3            case 2:
  29   3                 time=6;Dtime=60;break;
  30   3            case 3:
  31   3                 time=8;Dtime=80;break;
  32   3          }
  33   2          Btime=Dtime;
  34   2          JFLAG=FLAG>>3;JFLAG=JFLAG&0x07;
  35   2          switch(JFLAG) {
  36   3            case 0:
  37   3               state=50;break;     /* item7 */
  38   3            case 1:
  39   3               state=100;break;
  40   3            case 2:
  41   3               state=150;break;
  42   3            case 3:
  43   3               state=200;break;
  44   3            case 4:
  45   3               state=250;break;
  46   3            case 5:
  47   3               state=300;break;
  48   3            case 6:
  49   3               state=350;break;
  50   3            case 7:
  51   3               state=400;break;
  52   3          }
  53   2          FLAG1=0;
  54   2          TMOD=0x51;
  55   2          TH1=0;
C51 COMPILER V7.01  MZMFR                                                                  02/27/2003 10:00:53 PAGE 2   

  56   2          TL1=0;
  57   2          TH0=0x3C;
  58   2          TL0=0xB0;
  59   2          TR0=1;
  60   2          TR1=1;
  61   2          ET0=1;
  62   2          EA=1;
  63   2          rate=fetch_rate();       /* item8 */
  64   2          if(!FLAG2) {
  65   3            Astate=state+2*state/10;
  66   3            if(rate<=state) {
  67   4              TXD=1;
  68   4              do {
  69   5                rate=fetch_rate();
  70   5              }while(rate<=Astate);
  71   4              TXD=0;
  72   4            }
  73   3          }
  74   2          else {
  75   3            Bstate=state-2*state/10;
  76   3            if(rate>=state) {
  77   4              TXD=1;
  78   4              do {
  79   5                rate=fetch_rate();
  80   5              }while(rate>=Bstate);
  81   4              TXD=0;
  82   4            }
  83   3          }
  84   2        }while(1);
  85   1      }
  86          
  87          unsigned int fetch_rate()    /* item9 */
  88          {                            /* item10 */ 
  89   1        uint count;
  90   1        do{ }while(!FLAG1);
  91   1        FLAG1=0;
  92   1        count=TH1*256+TL1;
  93   1        TH1=0;
  94   1        TL1=0;
  95   1        Dtime=Btime;
  96   1        return(count/time);        /* item11 */
  97   1      }                            /* item12 */
  98          
  99          timer0 () interrupt 1 using 1
 100          {
 101   1        TH0=0x3C;
 102   1        TL0=0xB0;
 103   1        Dtime=Dtime-1;
 104   1        if(Dtime==0) {FLAG1=1;}
 105   1      }
 106          


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

C51 COMPILER V7.01  MZMFR                                                                  02/27/2003 10:00:53 PAGE 3   


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

⌨️ 快捷键说明

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