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

📄 main.lst

📁 飞利浦USB D12的官方评估板固件代码
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  11/22/2005 21:08:12 PAGE 1   


C51 COMPILER V7.50, 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          /****************************************Copyright (c)**************************************************
   2          **                               广州周立功单片机发展有限公司
   3          **                                     研    究    所
   4          **                                        产品一部 
   5          **
   6          **                                 http://www.zlgmcu.com
   7          **
   8          ** 文   件   名: main.c
   9          ** 最后修改日期: 2004年11月15日
  10          ** 描        述: 用户应用程序
  11          ** 版        本: V5.0
  12          **********************************************************************************************************
             -/
  13          
  14          #include <reg52.h>
  15          #include "D12Config.h"
  16          #include "Descriptor.h"
  17          #include "Chap_9.h"
  18          #include "D12Driver.h"
  19          #include <intrins.h>
  20          
  21          //定义按键及LED引脚
  22          sbit MCU_SWM0     = P1^0;                               //按键
  23          sbit MCU_SWM1     = P1^1;       
  24          sbit MCU_LED0     = P1^2;                               //LED
  25          sbit MCU_LED1     = P1^3;
  26          
  27          void check_key_LED(void);
  28          
  29          main()
  30          {
  31   1              INT32U cnt;
  32   1              
  33   1              //复位后LED亮
  34   1              for(cnt = 0; cnt <= 0x5000; cnt++)      //延时 
  35   1              {
  36   2                      MCU_LED0 = 0;                                   //D2和D3点亮
  37   2                      MCU_LED1 = 0;
  38   2              }
  39   1              MCU_LED0 = 1;                                           //D2和D3灭
  40   1              MCU_LED1 = 1;   
  41   1              
  42   1              if (Init_D12()!=0)                                      //初始化D12
  43   1                      return;                                                 //如果初始化不成功,返回
  44   1      
  45   1              EX0 = 1;                                                        //开外部中断0
  46   1              PX0 = 0;                                                        //设置外部中断0中断优先级
  47   1              EA = 1;                                                         //开80C51总中断
  48   1      
  49   1              while(1)
  50   1              {
  51   2                      usbserve();                                             //处理USB事件
  52   2                      if(bEPPflags.bits.configuration)
  53   2                      {
  54   3                              check_key_LED();                        //连接正常,调用按键和LED控制处理
C51 COMPILER V7.50   MAIN                                                                  11/22/2005 21:08:12 PAGE 2   

  55   3                      }
  56   2              }
  57   1      }
  58          
  59          
  60          /******* 下面为与D12 Smart板相关的操作 *************/
  61          
  62          /*******************************************************************
  63          ** 函数名称: check_key_LED()
  64          ** 功能描述: 检测D12 Smart板上的按键以及控制LED
  65          ** 输    入: 无
  66          ** 输    出: 无
  67          ********************************************************************/
  68          void check_key_LED(void)
  69          {
  70   1              static unsigned char c, last_key = 0xf;
  71   1      
  72   1              c = MCU_SWM0 & MCU_SWM1;                                //读取两个按键状态
  73   1              c &= 0x0f;
  74   1      
  75   1              if (c != last_key) {
  76   2                      D12_WriteEndpoint(3, 1, &c);            //按键状态改变,发送信息给主机
  77   2              }
  78   1      
  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          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    156    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       4
   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 + -