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

📄 mainloop.lst

📁 单片机控制飞利蒲PDIUSBD12芯片与PC机实现USB1.1通信。
💻 LST
字号:
C51 COMPILER V7.06   MAINLOOP                                                              08/17/2005 16:07: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 OPTIMIZE(2,SPEED) DEBUG OBJECTEXTEND

stmt level    source

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

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


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