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

📄 main.lst

📁 无线模块A7102的C语言测试程序源码,
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  07/14/2008 10:33:17 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE source\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJ
                    -ECT(main.obj)

line level    source

   1                  /***********************************************
   2                          *       copyrite (c) 2007
   3                          *文件名:          main.c
   4                          *作者:            larry
   5                          *当前版本:        v1.0
   6                          *建立时间:        2007-6-11 09:03
   7                          *完成日期:        2007-6-29 9:48
   8                          ;联系:            13510074992
   9                          ;E-MAIL:          pjh78@163.com
  10                          *描述:            测试A7102通讯性能(W78e52B,5V VDD,33.177M OSC)                              
  11                          ************************************************/
  12          #include    "../header/main.h"               
  13          /***********************************************
  14          函 数:  main()
  15          功 能:  主体循环函数 
  16          输 入:  /
  17          输 出:  /
  18          描 述:  /
  19          ***********************************************/        
  20          void    main(void)              
  21          {
  22   1              /* 上电初始化系统 */
  23   1              PowerOn_Initialisation();       
  24   1      
  25   1              while(1)
  26   1              {
  27   2                  KeyScan();
  28   2      
  29   2                  if(flag_transimiter)
  30   2                  {/* 1S发射一次 */ 
  31   3                      WriteLcdCmd(0xc0);                                 /* 设置DDRAM地址第二行 */
  32   3                      Delay(3);
  33   3      
  34   3                      Lcd_Display_Character(0x52);
  35   3                      Lcd_Display_Character(0x78);
  36   3                      Lcd_Display_Character(0x3a);
  37   3                      Lcd_Display_Character(0x20);                       /* Rx:  */
  38   3      
  39   3                      Lcd_Display_Character(0x20);
  40   3                      Lcd_Display_Character(0x20);
  41   3                      Lcd_Display_Character(0x20);
  42   3                      Lcd_Display_Character(0x20);
  43   3      
  44   3                      flag_transimiter    = false;
  45   3                      Time_second         = 1000;
  46   3                      
  47   3                      /* 发射A7102 */
  48   3                      A7102_Fifo_Write(&demo[number][0]);
  49   3                      A7102_Status_Transmit();      
  50   3                                
  51   3                      WriteLcdCmd(0x80);                                 /* 设置DDRAM地址第一行 */
  52   3                      Delay(3);
  53   3      
  54   3                      Lcd_Display_Character(0x54);
C51 COMPILER V7.50   MAIN                                                                  07/14/2008 10:33:17 PAGE 2   

  55   3                      Lcd_Display_Character(0x78);
  56   3                      Lcd_Display_Character(0x3a);
  57   3                      Lcd_Display_Character(0x20);                       /* Tx:  */
  58   3                      
  59   3                      Lcd_Display_Hex(demo[number][0]);
  60   3                      Lcd_Display_Hex(demo[number][1]);
  61   3      
  62   3                      /* 等待A7102发射完成 */
  63   3                      while(!iSPI_Irq)
  64   3                      {                    
  65   4                      }
  66   3      
  67   3                      /* 发射循环数组数据 */
  68   3                      if((++number) > 0x03)
  69   3                          number    = 0x00;
  70   3      
  71   3                      /* 设置A7102为接收状态 */
  72   3                      A7102_Status_Receiver();
  73   3                  }
  74   2      
  75   2                  if(iSPI_Irq)
  76   2                  {/* 接收到数据 */            
  77   3                      A7102_Fifo_Read(&rece_buff);
  78   3                      A7102_Receiver_Enable();
  79   3      
  80   3                      if(flag_clear)
  81   3                      {
  82   4                          flag_clear    = false;
  83   4                          LcdDclear();
  84   4                      }
  85   3      
  86   3                          WriteLcdCmd(0xc0);                             /* 设置DDRAM地址第二行 */
  87   3                      Delay(3);
  88   3      
  89   3                      Lcd_Display_Character(0x52);
  90   3                      Lcd_Display_Character(0x78);
  91   3                      Lcd_Display_Character(0x3a);
  92   3                      Lcd_Display_Character(0x20);                       /* Rx:  */
  93   3      
  94   3                      Lcd_Display_Hex(rece_buff[0]);
  95   3                      Lcd_Display_Hex(rece_buff[1]);
  96   3      
  97   3                      if(!flag_master)
  98   3                      {/* 从机则需要应答 */
  99   4                          A7102_Fifo_Write(&rece_buff);
 100   4                          A7102_Status_Transmit();
 101   4                          while(!iSPI_Irq)
 102   4                          {                    
 103   5                          }
 104   4                          A7102_Status_Receiver();
 105   4                      }
 106   3                  }
 107   2              }
 108   1      }
 109          /***********************************************
 110          函 数:  Timer0Int
 111          功 能:  timer0中断函数 
 112          输 入:  /  
 113          输 出:  /
 114          描 述:  /
 115          ***********************************************/
 116          void    Timer0Int(void) interrupt   1
C51 COMPILER V7.50   MAIN                                                                  07/14/2008 10:33:17 PAGE 3   

 117          {
 118   1          TH0     = 0xF5;
 119   1          TL0     = 0x33;                             // 33.177M OSC,timer0 计时1ms
 120   1          
 121   1          if(Time_Count)
 122   1              Time_Count --;
 123   1      
 124   1          if(Time_second)
 125   1          {
 126   2              if((--Time_second) == 0x00)
 127   2              {
 128   3                  flag_transimiter = true;
 129   3              }
 130   2          }
 131   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    313    ----
   CONSTANT SIZE    =     12    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      3    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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