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

📄 main.lst

📁 基于80C52的USB转串口程序
💻 LST
字号:
C51 COMPILER V8.09   MAIN                                                                  06/18/2008 16:40:38 PAGE 1   


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

line level    source

   1          #include <reg52.h>
   2          #include "D12Config.h"
   3          #include "Descriptor.h"
   4          #include "Chap_9.h"
   5          #include "D12Driver.h"
   6          #include "UART.h"
   7          
   8          
   9          
  10          #include "D12CI.h"
  11          #include "D12HAL.h"
  12          
  13          
  14          sbit USB_INT = P3^2;
  15          
  16          main()
  17          {
  18   1              INT16U i_st;    
  19   1              if (Init_D12()!=0)                                      //初始化D12
  20   1              return;                                                 //如果初始化不成功,返回
  21   1      
  22   1              InitUART();
  23   1              EA = 1;                                                         //开80C51总中断
  24   1      //      EX0 = 1;                                                        //开外部中断0
  25   1      //      PX0 = 0;                                                        //设置外部中断0中断优先级
  26   1      
  27   1              while(1)
  28   1              {
  29   2                      usbserve();                                             //处理USB事件
  30   2      
  31   2                      if(!USB_INT)            //中断产生
  32   2              {
  33   3                      bEPPflags.bits.in_isr = 1;
  34   3                      i_st = D12_ReadInterruptRegister();                             //读取PDIUSBD12中断寄存器值
  35   3                      if(i_st != 0) {
  36   4                      if(i_st & D12_INT_BUSRESET)
  37   4                              bEPPflags.bits.bus_reset = 1;                   //USB总线复位标志
  38   4                      if(i_st & D12_INT_EOT)
  39   4                              dma_eot();                                                              //DMA传输技术处理
  40   4                      if(i_st & D12_INT_SUSPENDCHANGE)
  41   4                              bEPPflags.bits.suspend = 1;                             //挂起改变标志置1
  42   4                      if(i_st & D12_INT_ENDP0IN)
  43   4                              ep0_txdone();                                                   //控制端点发送数据处理
  44   4                      if(i_st & D12_INT_ENDP0OUT)
  45   4                              ep0_rxdone();                                                   //控制端点接收数据处理
  46   4                      if(i_st & D12_INT_ENDP1IN)
  47   4                              ep1_txdone();                                                   //端点 1发送数据处理
  48   4                      if(i_st & D12_INT_ENDP1OUT)
  49   4                              ep1_rxdone();                                                   //端点 1接收数据处理
  50   4                      if(i_st & D12_INT_ENDP2IN)
  51   4                              ep2_txdone();                                                   //端点 2发送数据处理
  52   4                      if(i_st & D12_INT_ENDP2OUT)
  53   4                              ep2_rxdone();                                                   //端点 2接收数据处理
  54   4                      }
  55   3                      bEPPflags.bits.in_isr = 0;
C51 COMPILER V8.09   MAIN                                                                  06/18/2008 16:40:38 PAGE 2   

  56   3                      }                                                                  
  57   2      
  58   2                      if (bEPPflags.bits.configuration == 1)
  59   2                      {
  60   3      
  61   3                              if (bEPPflags.bits.ep2_rxdone == 1)                                     
  62   3                              {                                                                                       //端点2收到数据
  63   4      //                              DISABLE();                 
  64   4                                      bEPPflags.bits.ep2_rxdone = 0;                  //清空端点2收到数据标志
  65   4      //                              ENABLE();
  66   4                                      D12_WriteEndpoint(5,10,UartBuf);                        //发10个字节到PC机
  67   4                              }
  68   3                      }          
  69   2              }  
  70   1      }
  71          
  72          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    176    ----
   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 + -