📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 08/10/2005 23:25:27 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: D:\Keil51\C51\BIN\C51.EXE Main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "common.H"
2 #include "SL811.H"
3 #include "TPBULK.H"
4 #include "HAL.H"
5 #include "HPI.H"
6 #include "FAT.H"
7 #include "FAT32.H"
8 #include "HPI32.H"
9
10 FLAGS bdata bFlags;
11 extern unsigned char xdata DBUF[BUFFER_LENGTH];
12 /////////////////////////////////////////////////
13 extern unsigned long xdata DirStartCluster,DirStartCluster32;
14 extern unsigned char xdata UARTBUF[UARTBUF_LENGTH];
15 extern Command_Def xdata Command;
16 extern SYS_INFO_BLOCK xdata DeviceInfo;
17 //////////////////////////////////////////
18
19 void Init_SpecialInterrupts(void)
20 {
21 1 IT0 = 0;
22 1 EX0 = 1;
23 1 }
24
25 void Init_Port()
26 {
27 1 P0 = 0xFF;
28 1 P1 = 0xFF;
29 1 P2 = 0xFF;
30 1 P3 = 0xFF;
31 1 SL811_CS=0;
32 1 }
33
34 /*Serial Port */
35 /*Mode = 1 /8-bit UART
36 Serial Port Interrupt = Disabled */
37 /*Receive = Enabled */
38 /*Auto Addressing = Disabled */
39 void Init_COMM(void)
40 {
41 1 SCON = 0x53;
42 1 PCON = 0x80 | PCON;
43 1 T2CON=0x30;
44 1 RCAP2H=0xFF; // 57600 @ 24MHz: 24000000/(32*(65536-(RCAP2H,RCAP2L)))
45 1 RCAP2L=0xF3;
46 1 TI=0;
47 1 RI=0;
48 1 TR2=1;
49 1 ES = 1;
50 1 }
51
52 void main(void)
53 {
54 1 unsigned char temp;
55 1 unsigned long xdata time_count;
C51 COMPILER V7.06 MAIN 08/10/2005 23:25:27 PAGE 2
56 1
57 1 SL811_RST=0;
58 1 DelayMs(250);
59 1 SL811_RST=1;
60 1
61 1 Init_SpecialInterrupts();
62 1 Init_Port();
63 1 Init_COMM();
64 1 SL811_Init();
65 1
66 1 bFlags.bits.bUartInDone=0;
67 1 DirStartCluster=0;
68 1 DirStartCluster32=0;
69 1
70 1 for(temp=0;temp<64;temp++)
71 1 DBUF[temp]=0;
72 1
73 1 ENABLE_INTERRUPTS;
74 1
75 1 while(TRUE)
76 1 {
77 2 time_count++;
78 2 if (time_count>1000)
79 2 {
80 3 DISABLE_INTERRUPTS;
81 3 time_count = 0;
82 3 ENABLE_INTERRUPTS;
83 3 check_key_LED();
84 3 }
85 2 if(bFlags.bits.SLAVE_FOUND){
86 3 DISABLE_INTERRUPTS;
87 3 bFlags.bits.SLAVE_FOUND=FALSE;
88 3 DelayMs(250);
89 3 if(EnumUsbDev(1)) // enumerate USB device, assign USB address = #1
90 3 {
91 4 bFlags.bits.SLAVE_ENUMERATED = TRUE; // Set slave USB device enumerated flag
92 4 MCU_LED1=0;
93 4 }
94 3 ENABLE_INTERRUPTS;
95 3 }
96 2 if(bFlags.bits.SLAVE_REMOVED){
97 3 DISABLE_INTERRUPTS;
98 3 bFlags.bits.SLAVE_REMOVED=FALSE;
99 3 bFlags.bits.SLAVE_ENUMERATED = FALSE;
100 3 bFlags.bits.SLAVE_IS_ATTACHED = FALSE;
101 3 MCU_LED1=1;MCU_LED2=1;
102 3 ENABLE_INTERRUPTS;
103 3 }
104 2 if(bFlags.bits.bUartInDone){
105 3 DISABLE_INTERRUPTS;
106 3 bFlags.bits.bUartInDone=0;
107 3
108 3 if(DeviceInfo.FAT) //FAT32
109 3 UartHandler32();
110 3 else
111 3 UartHandler(); //FAT16
112 3
113 3 ENABLE_INTERRUPTS;
114 3 }
115 2 if(bFlags.bits.bMassDevice){
116 3 DISABLE_INTERRUPTS;
117 3 bFlags.bits.bMassDevice=FALSE;
C51 COMPILER V7.06 MAIN 08/10/2005 23:25:27 PAGE 3
118 3 if(EnumMassDev())
119 3 {
120 4 bFlags.bits.SLAVE_IS_ATTACHED = TRUE;
121 4 MCU_LED2=0;
122 4 //////////////////Test///////////////////
123 4 /*
124 4 for(temp=0;temp<DeviceInfo.DriveNum;temp++)
125 4 {
126 4 Command.CLass=0x0e;
127 4 Command.Parameter[0]=temp;
128 4 UartHandler32();
129 4 }
130 4
131 4 Command.CLass=0x0e;
132 4 Command.Parameter[0]=0;
133 4 UartHandler32();
134 4
135 4 Command.CLass=0x00;
136 4 if(DeviceInfo.FAT) //FAT32
137 4 UartHandler32();
138 4 else
139 4 UartHandler(); //FAT16
140 4
141 4 Command.CLass=0x0e;
142 4 Command.Parameter[0]=1;
143 4 UartHandler32();
144 4 Command.CLass=0x00;
145 4 if(DeviceInfo.FAT) //FAT32
146 4 UartHandler32();
147 4 else
148 4 UartHandler(); //FAT16
149 4 */
150 4 /////////////////////////////////////////
151 4 }
152 3 else
153 3 {
154 4 bFlags.bits.SLAVE_IS_ATTACHED = FALSE;
155 4 temp=SL811Read(IntStatus);
156 4 if(!(temp & 0x40)) bFlags.bits.SLAVE_FOUND=TRUE;
157 4 }
158 3 ENABLE_INTERRUPTS;
159 3 }
160 2
161 2 }
162 1
163 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 309 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 4
PDATA SIZE = ---- ----
DATA SIZE = 10 1
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 + -