📄 main.lst
字号:
C51 COMPILER V8.05a MAIN 12/24/2008 15:18:11 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c ROM(COMPACT) DEBUG OBJECTEXTEND
line level source
1
2 #include "STC12C5410AD.h"
3 #include "app.h"
4 #include <string.h>
5 #include <stdio.h>
6 #include <INTRINS.H>
7 #include <MATH.H>
8
9
10 extern void SystemInit(void);
11
12 extern void delay_n_ms( unsigned int n_milisecond) ;
13
14
15 extern unsigned char UartBuffer[20];
16 extern unsigned char uartflag; // 接收完成一帧标志以及接收了多少字节;
17
18
19 extern void UartPrintOut(unsigned char *pData,unsigned char size);
20 extern void UartPrintOutByte(unsigned char byte);
21
22 extern bit FLAG;
23
24
25 extern unsigned int MainCount;
26 extern unsigned char getkey();
27 extern unsigned int SaveFos ;
28
29 // 注意在应用程序中不要使用printf函数,因为它运行时间长,并且会关闭中断;
30 // 记得吧9012换成MMBT4403 开关三极管
31 unsigned char KEY=0;
32 main()
33
34 {
35 1 delay_n_ms(1000);
36 1
37 1
38 1 SystemInit(); //系统初始化
39 1
40 1 EA = 1 ;
41 1
42 1 RED_LED = 0;
43 1 GREEN_LED = 1;
44 1
45 1 WDT_CONTR = 0x3c; //使能看门狗 ,1.25S
46 1
47 1 while(!FLAG);
48 1 FLAG =0;
49 1
50 1 SaveFos = MainCount ;
51 1 MainCount =0;
52 1
53 1 RED_LED = 1;
54 1
55 1 TR0 = 1;
C51 COMPILER V8.05a MAIN 12/24/2008 15:18:11 PAGE 2
56 1 EX0 = 1; //启动外部中断
57 1
58 1 while(1)
59 1 {
60 2 WDT_CONTR = 0x3c; //使能看门狗 ,1.25S
61 2 //
62 2
63 2 if(FLAG)
64 2 {
65 3 FLAG =0;
66 3
67 3
68 3 UartPrintOutByte(0XAA);
69 3 // 开定时器0
70 3
71 3 UartPrintOutByte(SaveFos>>8);
72 3 UartPrintOutByte(SaveFos&0x00ff);
73 3
74 3 UartPrintOutByte(MainCount>>8);
75 3 UartPrintOutByte(MainCount&0x00ff);
76 3
77 3 KEY = getkey();
78 3 // UartPrintOutByte(KEY);
79 3
80 3 // 说明没有连接上地感线圈
81 3 if( (MainCount>100)&&(MainCount<400) )
82 3 {
83 4 RED_LED = ~ RED_LED;
84 4 delay_n_ms(1500);
85 4 }
86 3 switch(KEY)
87 3 {
88 4 case 0x09:
89 4 if(abs(MainCount-SaveFos)>5)
90 4 {
91 5 RED_LED = 0;
92 5 GREEN_LED = 1;
93 5 OPEN = 0;
94 5
95 5 }
96 4 else
97 4 {
98 5 RED_LED = 1;
99 5 GREEN_LED = 0;
100 5 OPEN = 1;
101 5 }
102 4 delay_n_ms(100);
103 4 break;
104 4 case 0x08:
105 4 if(abs(MainCount-SaveFos)>10)
106 4 {
107 5 RED_LED = 0;
108 5 GREEN_LED = 1;
109 5 OPEN = 0;
110 5
111 5 }
112 4 else
113 4 {
114 5 RED_LED = 1;
115 5 GREEN_LED = 0;
116 5 OPEN = 1;
117 5 }
C51 COMPILER V8.05a MAIN 12/24/2008 15:18:11 PAGE 3
118 4 delay_n_ms(100);
119 4 break;
120 4 case 0x07:
121 4 if(abs(MainCount-SaveFos)>20)
122 4 {
123 5 RED_LED = 0;
124 5 GREEN_LED = 1;
125 5 OPEN = 0;
126 5
127 5 }
128 4 else
129 4 {
130 5 RED_LED = 1;
131 5 GREEN_LED = 0;
132 5 OPEN = 1;
133 5 }
134 4 delay_n_ms(100);
135 4 break;
136 4 case 0x06:
137 4 if(abs(MainCount-SaveFos)>40)
138 4 {
139 5 RED_LED = 0;
140 5 GREEN_LED = 1;
141 5 OPEN = 0;
142 5
143 5 }
144 4 else
145 4 {
146 5 RED_LED = 1;
147 5 GREEN_LED = 0;
148 5 OPEN = 1;
149 5 }
150 4 delay_n_ms(100);
151 4 break;
152 4 case 0x05:
153 4 if(abs(MainCount-SaveFos)>80)
154 4 {
155 5 RED_LED = 0;
156 5 GREEN_LED = 1;
157 5 OPEN = 0;
158 5
159 5 }
160 4 else
161 4 {
162 5 RED_LED = 1;
163 5 GREEN_LED = 0;
164 5 OPEN = 1;
165 5 }
166 4 delay_n_ms(100);
167 4 break;
168 4 case 0x04:
169 4 if(abs(MainCount-SaveFos)>120)
170 4 {
171 5 RED_LED = 0;
172 5 GREEN_LED = 1;
173 5 OPEN = 0;
174 5
175 5 }
176 4 else
177 4 {
178 5 RED_LED = 1;
179 5 GREEN_LED = 0;
C51 COMPILER V8.05a MAIN 12/24/2008 15:18:11 PAGE 4
180 5 OPEN = 1;
181 5 }
182 4 delay_n_ms(100);
183 4 break;
184 4 case 0x03:
185 4 if(abs(MainCount-SaveFos)>180)
186 4 {
187 5 RED_LED = 0;
188 5 GREEN_LED = 1;
189 5 OPEN = 0;
190 5
191 5 }
192 4 else
193 4 {
194 5 RED_LED = 1;
195 5 GREEN_LED = 0;
196 5 OPEN = 1;
197 5 }
198 4 delay_n_ms(100);
199 4 break;
200 4 case 0x02:
201 4 if(abs(MainCount-SaveFos)>250)
202 4 {
203 5 RED_LED = 0;
204 5 GREEN_LED = 1;
205 5 OPEN = 0;
206 5
207 5 }
208 4 else
209 4 {
210 5 RED_LED = 1;
211 5 GREEN_LED = 0;
212 5 OPEN = 1;
213 5 }
214 4 delay_n_ms(100);
215 4 break;
216 4 case 0x01:
217 4 if(abs(MainCount-SaveFos)>320)
218 4 {
219 5 RED_LED = 0;
220 5 GREEN_LED = 1;
221 5 OPEN = 0;
222 5
223 5 }
224 4 else
225 4 {
226 5 RED_LED = 1;
227 5 GREEN_LED = 0;
228 5 OPEN = 1;
229 5 }
230 4 delay_n_ms(100);
231 4 break;
232 4 case 0x00:
233 4 if(abs(MainCount-SaveFos)>450)
234 4 {
235 5 RED_LED = 0;
236 5 GREEN_LED = 1;
237 5 OPEN = 0;
238 5
239 5 }
240 4 else
241 4 {
C51 COMPILER V8.05a MAIN 12/24/2008 15:18:11 PAGE 5
242 5 RED_LED = 1;
243 5 GREEN_LED = 0;
244 5 OPEN = 1;
245 5 }
246 4 delay_n_ms(100);
247 4 break;
248 4 default:break;
249 4 }
250 3 TH0 = 0xdb;
251 3 TL0 = 0xe0;
252 3 TR0 = 1;
253 3 EX0 = 1; //启动外部中断
254 3 ET0 = 1;
255 3
256 3 }
257 2
258 2 };
259 1
260 1 }
261
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 579 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -