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

📄 mainloop.lst

📁 smart board 测试程序原代码
💻 LST
字号:
C51 COMPILER V6.14  MAINLOOP                                                               07/11/2002 13:52:51 PAGE 1   


C51 COMPILER V6.14, 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:		0.4(2002-07-08)
   8             // Author:		Liu Ying Bin
   9             // Use library:  USB51S.LIB
  10             // Note:			USB51S.LIB不带DMA控制功能
  11             //*************************************************************************
  12             */
  13          
  14          
  15          #include <stdio.h>
  16          #include <string.h>
  17          #include <reg51.h>                /* special function register declarations   */
  18          #include "mainloop.h"
  19          #include "isr.h"
  20          #include "protozlg.h"
  21          
  22          /*
  23          //*************************************************************************
  24          //  Public static data
  25          //*************************************************************************
  26          */
  27          
  28          extern EPPFLAGS bEPPflags;
  29          extern unsigned char idata GenEpBuf[];
  30          extern unsigned char idata EpBuf[];
  31          extern unsigned int data d12_addr;
  32          
  33          extern unsigned int data D12_DATA;
  34          extern unsigned int data D12_COMMAND;
  35          
  36          
  37          sfr CKCON = 0x8F;//87C52x2用
  38          sbit clksel = P2^0;
  39          
  40          //D12中断服务
  41          usb_isr() interrupt 0
  42          {
  43   1      	DISABLE;
  44   1      	fn_usb_isr();//调用D12中断服务子程序
  45   1      	ENABLE;
  46   1      }
  47          
  48          void main(void)
  49          {
  50   1      	P0 = 0xFF;//初始化I/O口
  51   1      	P1 = 0xFF;
  52   1      	P2 = 0xFF;
  53   1      	P3 = 0xFF;
  54   1      
  55   1      //	CKCON = 0x00;
C51 COMPILER V6.14  MAINLOOP                                                               07/11/2002 13:52:51 PAGE 2   

  56   1      	CKCON = 0x00;
  57   1      
  58   1      //	if(clksel == 1)
  59   1      //		CKCON = CKCON | 0x01;
  60   1      
  61   1      	D12_DATA = 0xff02;			//定义数据地址
  62   1      	D12_COMMAND = 0xff03;		//定义命令地址
  63   1      
  64   1      
  65   1      	MCU_D12CS = 0x0;
  66   1      	D12SUSPD = 0x0;
  67   1      
  68   1      	IT0 = 0;//初始化中断
  69   1      	EX0 = 1;
  70   1      	PX0 = 0;
  71   1      	EA = 1;
  72   1      
  73   1      	MCU_D12CS = 0x1;
  74   1      	MCU_D12CS = 0x0;
  75   1      	D12_SetDMA(0x0);
  76   1      	bEPPflags.value = 0;
  77   1      
  78   1      	reconnect_USB();//联接USB总线
  79   1      
  80   1      	/* Main program loop */
  81   1      	while( TRUE ){
  82   2      		if(bEPPflags.bits.configuration)
  83   2      			check_key_LED();//连接正常,调用按键和LED控制处理
  84   2      
  85   2      		usbserve();//USB服务数据处理
  86   2      
  87   2      	} // Main Loop
  88   1      }
  89          
  90          void check_key_LED(void)
  91          {
  92   1      	static unsigned char c, last_key = 0xf;
  93   1      
  94   1      	c = MCU_SWM0 & MCU_SWM1;
  95   1      	c &= 0x0f;
  96   1      	if (c != last_key) {
  97   2      		D12_WriteEndpoint(3, 1, &c);//按键状态改变,发送信息给主机
  98   2      	}
  99   1      	last_key = c;
 100   1      
 101   1      	if(bEPPflags.bits.ep1_rxdone) {
 102   2      		DISABLE;//接收到主机发来的LED控制信息
 103   2      		bEPPflags.bits.ep1_rxdone = 0;
 104   2      		ENABLE;
 105   2      		MCU_LED0 = !(GenEpBuf[3] & 0x1);//控制LED状态
 106   2      		MCU_LED1 = !(GenEpBuf[3] & 0x2);
 107   2      	}
 108   1      }
 109          
 110          
 111          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    212    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V6.14  MAINLOOP                                                               07/11/2002 13:52:51 PAGE 3   

   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 + -