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

📄 rt1.lst

📁 串口通信 接收GPRS信号 显示在显示LED上 LED显示屏 还没解决
💻 LST
字号:
C51 COMPILER V7.09   RT1                                                                   01/02/2008 19:03:02 PAGE 1   


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

line level    source

   1          #include<reg51.h>
   2          //#include<regx51.h>
   3          #include<String.h>
   4          #define INBUF_LEN 5
   5          unsigned char inbuf[INBUF_LEN];
   6          unsigned char count4 = 0;
   7          bit flag_read = 0;
   8          sbit P2_0 = P2^0;
   9          sbit P2_1 = P2^1;
  10          sbit P2_2 = P2^2;
  11          sbit P2_3 = P2^3;
  12          sbit P2_4 = P2^4;
  13          /*
  14          #define m0  0xC0
  15          #define m1  0xC
  16          #define m2
  17          #define m3
  18          #define m4
  19          #define m5
  20          #define m6
  21          #define m7
  22          #define m8
  23          #define m9
  24          */
  25          /******************************************************************** 
  26          函数名:init_serialcomn(void)
  27          功  能:初始化中断
  28          说  明:
  29          入口参数:无
  30          返回值:无  
  31          ***********************************************************************/
  32          void init_serialcomn(void)
  33          {
  34   1              SCON = 0x50;
  35   1         TMOD |= 0x20;
  36   1              PCON |= 0x80;
  37   1              TH1 = 0xFA;  //晶振11。0592 波特率9600
  38   1              IE |=0x90;
  39   1              TR1 = 1;
  40   1              }
  41          
  42          /**********************************************************************
  43          函数名:void serial () interrupt 4 using 2
  44          功  能:串口接收中断函数
  45          说  明:
  46          入口参数:无
  47          返回值:无  
  48          ***********************************************************************/
  49           serial () interrupt 4 using 2
  50          {
  51   1      if (RI)
  52   1              {
  53   2                      unsigned char ch;
  54   2                      RI = 0;
  55   2                      ch = SBUF;
C51 COMPILER V7.09   RT1                                                                   01/02/2008 19:03:02 PAGE 2   

  56   2                      //count4 = 0;
  57   2                      inbuf[count4] = ch;
  58   2                      count4++;
  59   2                      if (count4 ==4)
  60   2                      {
  61   3                              count4 = 0;
  62   3                              flag_read =1;
  63   3                      }
  64   2                      /*for(i = 0;i++;i<=4)
  65   2                      {
  66   2                      return inbuf[i]; 
  67   2            }*/       
  68   2              }
  69   1      
  70   1      }
  71          
  72          /**********************************************************************
  73          函数名:delay()
  74          功  能: 延时函数
  75          说  明:
  76          入口参数:无
  77          返回值:无  
  78          ***********************************************************************/
  79          delay()
  80          {
  81   1      int i,j;
  82   1      for(i=0;i++;i<100)
  83   1        for(j=0;j++;j<100);
  84   1      
  85   1      }
  86          
  87          /**********************************************************************
  88          函数名:display()
  89          功  能: 显示函数
  90          说  明:
  91          入口参数:无
  92          返回值:无  
  93          ***********************************************************************/
  94           display()
  95          {
  96   1      //int i;
  97   1      //for(i = 0;i++;i <= 4)
  98   1      unsigned char a = inbuf[0];
  99   1      unsigned char check(unsigned char );
 100   1       P0 = check(a);  
 101   1       P2_0 = 0;
 102   1       delay();
 103   1       P2_0 = 1;
 104   1      
 105   1       a = inbuf[1];
 106   1       P0 =   check(a);  
 107   1      // P0 = inbuf[1];  
 108   1       P2_1 = 0;
 109   1       delay();
 110   1       P2_1 = 1;
 111   1      
 112   1       a = inbuf[2];
 113   1       //unsigned char  check(unsigned char );
 114   1       P0 =   check(a);  
 115   1      // P0 = inbuf[2];  
 116   1       P2_2 = 0;
 117   1       delay();
C51 COMPILER V7.09   RT1                                                                   01/02/2008 19:03:02 PAGE 3   

 118   1       P2_2 = 1;
 119   1       a = inbuf[3];
 120   1      // unsigned char  check(unsigned char );
 121   1       P0 =   check(a);  
 122   1       P0 = inbuf[3];  
 123   1       P2_3 = 0;
 124   1       delay();
 125   1       P2_3 = 1;
 126   1      
 127   1       a = inbuf[4];
 128   1       //unsigned char  check(unsigned char );
 129   1       P0 =   check(a);  
 130   1       P0 = inbuf[4];  
 131   1       P2_4 = 0;
 132   1       delay();
 133   1       P2_4 = 1;
 134   1      
 135   1       
 136   1       
 137   1       /*P2_1 = 0;
 138   1       P2_2 = 0;
 139   1       P2_3 = 0;
 140   1       P2_4 = 0;*/
 141   1       delay();
 142   1       //P2_i = 1;
 143   1      }
 144          
 145          /**********************************************************************
 146          函数名:check(unsigned char s)
 147          功  能:查表 根据传来的数查找相对应的驱动数码管的十六进制数
 148          说  明:
 149          入口参数:a 由GPRS传来的数字
 150          返回值: 与十进制数相对应的驱动数码管的十六进制数
 151          ***********************************************************************/
 152          unsigned char check(unsigned char s) {
 153   1      //unsigned char b;
 154   1       unsigned char serial[10] = {0xC0/*'11000000'*/,0xCF/*'11001111'*/,0xA4/*10100100*/,0xB0,0x99,0x92,0x82,0x
             -D8,0x80,0x90};
 155   1      unsigned char b=serial[s];
 156   1      return b;       
 157   1       }
 158          
 159          /*
 160          unsigned char check(unsigned char m)
 161          {
 162          
 163          
 164          # asm
 165          
 166          EXTRN DATA(m)
 167          MOV DPTR,#TAB
 168          MOV A,m
 169          MOV A,@A+DPTR
 170          TAB:
 171          DB C0H,CFH,A4H,B0H  //0,1,2,3
 172          DB 99H,92H,82H,D8H  //4,5,6,7
 173          DB 80H,90H          //8,9
 174          
 175          #endasm
 176          
 177          extern unsigned char A
 178          
C51 COMPILER V7.09   RT1                                                                   01/02/2008 19:03:02 PAGE 4   

 179          }
 180          */
 181          
 182          /**********************************************************************
 183          函数名:void main()
 184          功  能: 主函数
 185          说  明:
 186          入口参数:无
 187          返回值:无  
 188          ***********************************************************************/
 189          void main()
 190          {
 191   1              init_serialcomn();
 192   1      //      RI = 1;测试
 193   1              while(1)
 194   1              {
 195   2                      if (flag_read)
 196   2                      {
 197   3                        display(/*unsigned char inbuf[5]*/);
 198   3                      }
 199   2              }
 200   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    207    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6      12
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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