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

📄 main_trans.lst

📁 MT8880单片机控制的测试程序
💻 LST
字号:
C51 COMPILER V7.06   MAIN_TRANS                                                            08/16/2004 09:46:35 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN_TRANS
OBJECT MODULE PLACED IN main_trans.OBJ
COMPILER INVOKED BY: D:\Program\Keil\C51\BIN\C51.EXE main_trans.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<REG51.H>
   2          typedef unsigned char uchar;
   3          
   4          sbit  RW        =       P1^0;                  
   5          sbit  CS0       =       P1^1;                  
   6          sbit  RS        =       P1^2;                 
   7          sbit  FI2       =       P1^3;                  
   8          sbit  D0        =       P1^4;                 
   9          sbit  D1    =   P1^5;                 
  10          sbit  D2    =   P1^6;
  11          sbit  D3    =   P1^7;
  12          sbit  TEST      =       P3^7;
  13          
  14          uchar st , buff;
  15          
  16          char Read_Status();
  17          char Read_Data();
  18          void Write_Control(uchar);
  19          void Write_Data(uchar);
  20          void delay();
  21          void Ins_delay();
  22          void Serial_Init();
  23          
  24          
  25          
  26          void extern0_ISR() interrupt 0{}    /* not used */
  27          
  28          void timer0_ISR () interrupt 1{}    /* not used */
  29          
  30          void extern1_ISR() interrupt 2
  31          {
  32   1              Read_Status();
  33   1              st = 0;
  34   1      } 
  35          
  36          void timer1_ISR () interrupt 3{}    /* not used */
  37          
  38          
  39          
  40          void serial_ISR () interrupt 4
  41          {
  42   1              if(RI)
  43   1                      {   
  44   2                              RI = 0;
  45   2                              buff = SBUF;  
  46   2                      }
  47   1              else
  48   1                              TI = 0;
  49   1      } 
  50                
  51          main()
  52          {
  53   1              buff = 0xFF;
  54   1              st = 1;
  55   1              delay(); 
C51 COMPILER V7.06   MAIN_TRANS                                                            08/16/2004 09:46:35 PAGE 2   

  56   1      
  57   1              Serial_Init();
  58   1          
  59   1              IT1 = 1;
  60   1          EX1 = 1;
  61   1              TI = 1;
  62   1      
  63   1              Read_Status();
  64   1              Write_Control(0x00);
  65   1              Write_Control(0xD0);
  66   1              Write_Control(0x00);
  67   1              Read_Status();
  68   1      
  69   1              while(1)
  70   1              {
  71   2                      if(buff != 0xFF)
  72   2                              {
  73   3                                      buff *= 16;
  74   3                                      
  75   3                                      Write_Data(buff);
  76   3                                      buff = 0xFF;
  77   3      
  78   3                                      /*delay();
  79   3                                      TEST = 1;
  80   3                                      st = Read_Status();
  81   3                                      while(!(st & 0x20))
  82   3                                      {
  83   3                                              delay();
  84   3                                              st = Read_Status();
  85   3                                      }
  86   3                                      TEST = 0;
  87   3                                      */
  88   3                              }
  89   2                      delay();
  90   2              }       
  91   1      }
  92          
  93          char Read_Status()
  94          {
  95   1              char ReSt;
  96   1      
  97   1              P1 = 0xF5;
  98   1      
  99   1              FI2 = 1;
 100   1              Ins_delay();
 101   1              ReSt = P1;
 102   1              FI2 = 0;
 103   1      
 104   1              CS0 = 1;
 105   1      
 106   1              ReSt &= 0xF0;
 107   1              return ReSt;
 108   1      }
 109          char Read_Data()
 110          {
 111   1              char ReSt;
 112   1      
 113   1              P1 = 0xF1;
 114   1      
 115   1              FI2 = 1;
 116   1              Ins_delay();
 117   1              ReSt = P1;
C51 COMPILER V7.06   MAIN_TRANS                                                            08/16/2004 09:46:35 PAGE 3   

 118   1              FI2 = 0;
 119   1      
 120   1              CS0 = 1;
 121   1      
 122   1              ReSt &= 0xF0;
 123   1              return ReSt;
 124   1      }
 125          
 126          void Write_Control(uchar WC)
 127          {
 128   1              WC &= 0xF0;
 129   1              WC |= 0x04;
 130   1              P1 = WC;
 131   1              Ins_delay();
 132   1              FI2 = 1;
 133   1              Ins_delay();
 134   1              FI2 = 0;
 135   1              Ins_delay();
 136   1      
 137   1              P1 = 0xF7;
 138   1      }
 139          
 140          void Write_Data(uchar WC)
 141          {
 142   1              WC &= 0xF0;
 143   1              WC |= 0x00;
 144   1              P1 = WC;
 145   1              Ins_delay();
 146   1              FI2 = 1;
 147   1              Ins_delay();
 148   1              FI2 = 0;
 149   1              Ins_delay();
 150   1              
 151   1              P1 = 0xF7;
 152   1      }
 153          
 154          void delay()
 155          {
 156   1              int i = 0;
 157   1              for(i = 0; i < 100;)
 158   1                      i++;
 159   1              for(i = 0; i < 100;)
 160   1                      i++;
 161   1      }
 162          
 163          void Ins_delay()
 164          {
 165   1              uchar i;
 166   1              i = 0;
 167   1              for(; i < 10; i++)
 168   1              ;
 169   1      }
 170          void Serial_Init()
 171          {
 172   1              PCON = 0;
 173   1              SCON = 0xD0;
 174   1              TMOD = 0x20;
 175   1              TH1 = 0xFD;
 176   1              TL1 = 0xFD;
 177   1              EA = 1;
 178   1              ES = 1;
 179   1              TR1 = 1;  //T1 Running flag
C51 COMPILER V7.06   MAIN_TRANS                                                            08/16/2004 09:46:35 PAGE 4   

 180   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    281    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   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 + -