?? mainloop.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 + -