📄 mainloop.lst
字号:
C51 COMPILER V6.14 MAINLOOP 04/08/2002 12:07:01 PAGE 1
C51 COMPILER V6.14, COMPILATION OF MODULE MAINLOOP
OBJECT MODULE PLACED IN Mainloop.OBJ
COMPILER INVOKED BY: C:\MANLEY\PMEDWIN\C51.EXE Mainloop.c DB OE SMALL ROM(LARGE)
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
19 /*
20 //*************************************************************************
21 // Public static data
22 //*************************************************************************
23 */
24
25 extern EPPFLAGS bEPPflags;
26 extern unsigned char idata GenEpBuf[];
27 extern unsigned char idata EpBuf[];
28
29
30 //D12中断服务
31 usb_isr() interrupt 0
32 {
33 1 DISABLE;
34 1 fn_usb_isr();//调用D12中断服务子程序
35 1 ENABLE;
36 1 }
37
38 void main(void)
39 {
40 1 P0 = 0xFF;//初始化I/O口
41 1 P1 = 0xFF;
42 1 P2 = 0xFF;
43 1 P3 = 0xFF;
44 1 MCU_D12CS = 0x0;
45 1 D12SUSPD = 0;
46 1
47 1 IT0 = 0;//初始化中断
48 1 EX0 = 1;
49 1 PX0 = 0;
50 1 EA = 1;
51 1
52 1 MCU_D12CS = 0x1;
53 1 MCU_D12CS = 0x0;
54 1 D12_SetDMA(0x0);
55 1 bEPPflags.value = 0;
C51 COMPILER V6.14 MAINLOOP 04/08/2002 12:07:01 PAGE 2
56 1
57 1 reconnect_USB();//联接USB总线
58 1
59 1 /* Main program loop */
60 1 while( TRUE ){
61 2 if(bEPPflags.bits.configuration)
62 2 check_key_LED();//连接正常,调用按键和LED控制处理
63 2
64 2 usbserve();//USB服务数据处理
65 2
66 2 } // Main Loop
67 1 }
68
69 void check_key_LED(void)
70 {
71 1 static unsigned char c, last_key = 0xf;
72 1
73 1 c = MCU_SWM0 & MCU_SWM1;
74 1 c &= 0x0f;
75 1 if (c != last_key) {
76 2 D12_WriteEndpoint(3, 1, &c);//按键状态改变,发送信息给主机
77 2 }
78 1 last_key = c;
79 1
80 1 if(bEPPflags.bits.ep1_rxdone) {
81 2 DISABLE;//接收到主机发来的LED控制信息
82 2 bEPPflags.bits.ep1_rxdone = 0;
83 2 ENABLE;
84 2 MCU_LED0 = !(GenEpBuf[3] & 0x1);//控制LED状态
85 2 MCU_LED1 = !(GenEpBuf[3] & 0x2);
86 2 }
87 1 }
88
89
90
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 + -