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

📄 uart0_isr.lst

📁 一个用C语言控制的读写7022
💻 LST
字号:
C51 COMPILER V7.06   UART0_ISR                                                             01/02/2008 09:19:10 PAGE 1   


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

stmt level    source

   1          //串口发送数据
   2          #include "c8051.h"
   3          
   4          extern bit chuankou_bz;
   5          extern bit jieshu_bz;
   6          //extern bit error_bz=0;
   7          //bit jieshu_bz=0;
   8          extern bit error_bz;
   9          extern uchar pointer;
  10          extern uchar  receive[COUNT1];
  11          uchar txsjjs; 
  12          
  13          void UART0_ISR (void) interrupt 4
  14          {
  15   1        unsigned char astring;
  16   1           while(RI0==0);//串口接收标志位的软件清零//
  17   1            RI0=0; 
  18   1            astring=SBUF0;
  19   1               // ES0=0;
  20   1                if(pointer==0)
  21   1                  {if( astring==0x68&&chuankou_bz==0)
  22   2                              {chuankou_bz=1;
  23   3                    receive[pointer++]=astring;
  24   3                                 txsjjs=100;  
  25   3                                }
  26   2                         else error_bz=1;
  27   2                        } 
  28   1                 else
  29   1                      {if(chuankou_bz==1)
  30   2                        {if(pointer>9)
  31   3                 {if(pointer==9+2+receive[9])
  32   4                            { if(astring==0x16)
  33   5                                    { receive[pointer++]=astring;
  34   6                                          jieshu_bz=1;
  35   6                                               pointer=0;                           //jieshu通讯
  36   6                                         }
  37   5                                      else error_bz=1;
  38   5                                 }
  39   4                              else
  40   4                               {if(pointer>COUNT1)
  41   5                                  {error_bz=1;
  42   6                                       }
  43   5                                else receive[pointer++]=astring;
  44   5                               }
  45   4                          }
  46   3                              else
  47   3                              { if(pointer==7)
  48   4                                 {if(astring==0x68)
  49   5                                    {receive[pointer++]=astring;
  50   6                                         }
  51   5                                      else
  52   5                                        {error_bz=1;
  53   6                                        }
  54   5                                 }
  55   4                                else 
C51 COMPILER V7.06   UART0_ISR                                                             01/02/2008 09:19:10 PAGE 2   

  56   4                                 {receive[pointer++]=astring;
  57   5                                 }
  58   4                               }  
  59   3                         }
  60   2                        else error_bz=1;
  61   2                      }
  62   1      
  63   1      
  64   1         if(error_bz==1)
  65   1                { uchar j;
  66   2                 error_bz=0;
  67   2                 pointer=0;
  68   2                 chuankou_bz=0;
  69   2                 for(j=0;j<COUNT1;j++)
  70   2                  {
  71   3                      receive[j]=0;
  72   3                       }
  73   2                  
  74   2                 }
  75   1      
  76   1      
  77   1      
  78   1         //if((astring==0x68)&&(chuankou_bz==0))
  79   1         //   {
  80   1                  
  81   1      //               chuankou_bz=1;//开始接收数据标志
  82   1      //               }
  83   1       //    receive[pointer++]=astring;  
  84   1      //       if(pointer==COUNT1)
  85   1      //        {
  86   1      //      ES0=0;            //数据长度到了,表示可以结束了!
  87   1      //         }
  88   1       // ES0=1; 
  89   1      }
  90          
  91          
  92           void RS485(void)
  93           {   uchar j;
  94   1          uchar i;
  95   1              uchar r[18]={0x68,0x90,0x78,0x56,0x00,0x00,0x00,0x68,0x81,0x06,0x43,0xc3,0x11,0x11,0x11,0x11,0xff,0x16};
  96   1       //     TXC=0;
  97   1         for(i=100;i>0;i--);
  98   1       //  while(pointer==COUNT1)
  99   1       //     {
 100   1                
 101   1         //pointer=0;
 102   1         //chuankou_bz=0;
 103   1         TXC=1;
 104   1          ES0=0;
 105   1         for(i=100;i>0;i--);
 106   1         for(j=0;j<18;j++)
 107   1             {
 108   2             SBUF0=r[j];
 109   2             while(TI0==0);
 110   2             TI0=0;
 111   2                 }
 112   1         ES0=1; 
 113   1         TXC=0;                                                 //485通讯向外发送数据
 114   1      //       }
 115   1        }


C51 COMPILER V7.06   UART0_ISR                                                             01/02/2008 09:19:10 PAGE 3   

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    242    ----
   CONSTANT SIZE    =     18    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      19
   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 + -