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

📄 mainloop.lst

📁 USB(即Universal Serial Bus)是一种通用串行总线。随着技术水平的提高
💻 LST
字号:
C51 COMPILER V7.06   MAINLOOP                                                              12/12/2004 16:45:26 PAGE 1   


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

stmt level    source

   1          /*
   2             //*************************************************************************
   3             //                   
   4             // File Name:        MAINLOOP.C
   5             // Revision:         V0.1
   6             // Use Library:      USB51S.LIB
   7             // Note:             USB51S.LIB不带DMA控制功能
   8             //*************************************************************************
   9             */
  10          
  11          #include <stdio.h>
  12          #include <string.h>
  13          #include <reg51.h>                /* special function register declarations   */
  14          #include "mainloop.h"
  15          #include "isr.h"
  16          
  17          /*
  18          //*************************************************************************
  19          //  Public static data
  20          //*************************************************************************
  21          */
  22          
  23          extern EPPFLAGS bEPPflags;
  24          extern unsigned char idata GenEpBuf[];
  25          extern unsigned char idata EpBuf[];
  26          
  27          
  28          //D12中断服务
  29          usb_isr() interrupt 0
  30          {
  31   1              DISABLE;
  32   1              fn_usb_isr();//调用D12中断服务子程序
  33   1              ENABLE;
  34   1      }
  35          
  36          void main(void)
  37          {
  38   1              P0 = 0xFF;//初始化I/O口
  39   1              P1 = 0xFF;
  40   1              P2 = 0xFF;
  41   1              P3 = 0xFF;
  42   1              MCU_D12CS = 0x0;
  43   1              D12SUSPD = 0;
  44   1      
  45   1              IT0 = 0;//初始化中断
  46   1              EX0 = 1;
  47   1              PX0 = 0;
  48   1              EA = 1;
  49   1      
  50   1              MCU_D12CS = 0x1;
  51   1              MCU_D12CS = 0x0;
  52   1              D12_SetDMA(0x0);
  53   1              bEPPflags.value = 0;
  54   1      
  55   1              reconnect_USB();//联接USB总线
C51 COMPILER V7.06   MAINLOOP                                                              12/12/2004 16:45:26 PAGE 2   

  56   1      
  57   1              /* Main program loop */
  58   1              while( TRUE ){
  59   2                      if(bEPPflags.bits.configuration)
  60   2                              check_key_LED();//连接正常,调用按键和LED控制处理
  61   2      
  62   2                      usbserve();//USB服务数据处理
  63   2      
  64   2              } // Main Loop
  65   1      }
  66          
  67          void check_key_LED(void)
  68          {
  69   1              static unsigned char c, last_key = 0xf;
  70   1      
  71   1              c = MCU_SWM0 & MCU_SWM1;
  72   1              c &= 0x0f;
  73   1              if (c != last_key) {
  74   2                      D12_WriteEndpoint(3, 1, &c);//按键状态改变,发送信息给主机
  75   2              }
  76   1              last_key = c;
  77   1      
  78   1              if(bEPPflags.bits.ep1_rxdone) {
  79   2                      DISABLE;//接收到主机发来的LED控制信息
  80   2                      bEPPflags.bits.ep1_rxdone = 0;
  81   2                      ENABLE;
  82   2                      MCU_LED0 = !(GenEpBuf[3] & 0x1);//控制LED状态
  83   2                      MCU_LED1 = !(GenEpBuf[3] & 0x2);
  84   2              }
  85   1      }
  86          
  87          
  88          


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