📄 main.lst
字号:
180 {
181 1 uint8 i;
182 1 //"系统初始化"
183 1 init();
184 1
185 1
186 1 Write728x(0x12,SCN|INV|BMS);
187 1 Write728x(0x11,0x80);
188 1 Write728x(0x10,0xFF);
189 1 Write728x(0x19,0xFF);
190 1
191 1 _Flag_DispChanged=1;
192 1
193 1 PS2_CLK=1;
194 1 PS2_DATA=1;
195 1
196 1 _Flag_AutoMode=TRUE; //自动模式 :TRUE 手动模式 :FALSE
197 1 LED_NUM_ON();
198 1
199 1 _Flag_KeyLock=FALSE; //键盘锁
200 1 _Flag_Set=TRUE; //设置目标产量 :TRUE 设置当前产量 :FALSE
201 1
202 1 _Flag_State_Producing=FALSE; //工作状态
203 1
204 1 _Flag_State_Error=FALSE;
205 1
206 1 _Flag_State_Finish=FALSE;
207 1
208 1 _Flag_State_TaskAccepted=FALSE;
209 1
210 1 _IdleTimer=180;
211 1
212 1
213 1 SERIAL_DIRECTION_CTRL=0;
214 1
215 1 _Beep=0;
216 1
217 1 for(i=0;i<12;i++)
218 1 {
219 2 Write728x(i,0xFF);
220 2 }
221 1
222 1 _CurrentValue=0;
223 1 _TargetValue=0;
224 1 DispNum(1,_CurrentValue);
225 1 DispNum(0,_TargetValue);
226 1
227 1
228 1 _Flag_DispSpeed=1;
229 1 DispNum(2,_ProduceSpeed);
230 1 _LedProduceSpeed=1;
231 1 _LedProducedPersent=0;
232 1
233 1 }
234
235
236 /*********************************************************************************************************
237 ** 函数名称: main
238 ** 功能描述: 主函数,用户程序从这里执行
C51 COMPILER V7.50 MAIN 12/29/2004 20:23:49 PAGE 5
239 ** 输 入: 无
240 ** 输 出: 无
241 ** 全局变量: 无
242 ** 调用模块: init(),OSStart(),LCMIni(),LCMClr();
243 **
244 ** 作 者: 龚树强
245 ** 日 期: 2004年10月15日
246 **-------------------------------------------------------------------------------------------------------
247 ** 修改人:
248 ** 日 期:
249 **------------------------------------------------------------------------------------------------------
250 ********************************************************************************************************/
251
252
253 void main(void)
254 {
255 1
256 1 SystemInit();
257 1
258 1
259 1
260 1 //DispNum(2,500);
261 1
262 1 // 串口测试
263 1 /* SERIAL_DIRECTION_CTRL=1;
264 1 ES=0;
265 1 for(;;)
266 1 {
267 1
268 1 SBUF=0X01;
269 1 while(!TI);
270 1 TI=0;
271 1 }*/
272 1
273 1 // LED_NUM_ON();
274 1
275 1 // LED_NUM_OFF();
276 1
277 1 OSStart();
278 1 }
279
280
281
282 /*********************************************************************************************************
283 ** 函数名称: ISR_Serial
284 ** 功能描述: 一个任务,Serial的中断处理函数
285 **
286 ** 输 入: 无
287 ** 输 出: 无
288 ** 全局变量: 无
289 ** 调用模块: OSSemCreate(),DispStr(),OSWait(),DispClr(),OSSemPost(),
290 **
291 ** 作 者: 龚树强
292 ** 日 期: 2004年10月15日
293 **-------------------------------------------------------------------------------------------------------
294 ** 修改人:
295 ** 日 期:
296 **------------------------------------------------------------------------------------------------------
297 ********************************************************************************************************/
298 void ISR_Serial(void) interrupt SERIAL_ISR
299 {
300 1 uint8 data temp;
C51 COMPILER V7.50 MAIN 12/29/2004 20:23:49 PAGE 6
301 1 if (RI == 1)
302 1 {
303 2 #if EN_OS_INT_ENTER >0
304 2 OS_INT_ENTER();
305 2 #endif
306 2 RI = 0;
307 2 RB8 = 0;
308 2
309 2 OSQIntPost(SerialInData,SBUF);
310 2 OSIntExit();
311 2 return;
312 2 }
313 1 if (TI == 1)
314 1 {
315 2 TI = 0;
316 2 if ((OSQNMsgs(SerialOutData)%7)!=0)
317 2 {
318 3 SERIAL_DIRECTION_CTRL=1;
319 3
320 3 OSQAccept(&temp,SerialOutData);
321 3
322 3 _ResendBuffer[_BufferIndex]=temp;
323 3
324 3 _BufferIndex++;
325 3
326 3 TB8=0;
327 3
328 3 SBUF = temp;
329 3 }
330 2 else
331 2 {
332 3
333 3 //OSSemIntPost(SEM_SendBuffer);
334 3
335 3 // if( OSQNMsgs(SerialOutData) > 0 )
336 3 // {
337 3 // OSQAccept(&temp,SerialOutData);
338 3
339 3 // _BufferIndex=0;
340 3
341 3 // _ResendBuffer[_BufferIndex]=temp;
342 3
343 3 // TB8=1;
344 3
345 3 // SBUF = temp;
346 3
347 3 // }
348 3 // else
349 3 // {
350 3 SERIAL_DIRECTION_CTRL=0;
351 3 // }
352 3 if(!_Flag_RequestAccept)
353 3 {
354 4 _Flag_RequestAccept=1;
355 4 OSIntSendSignal(1);
356 4 }
357 3 }
358 2 }
359 1
360 1 }
361
362
C51 COMPILER V7.50 MAIN 12/29/2004 20:23:49 PAGE 7
363 /*********************************************************************************************************
364 ** 函数名称: ISR_Counter_Int
365 ** 功能描述: 一个任务,计数器的中断处理函数
366 **
367 ** 输 入: 无
368 ** 输 出: 无
369 ** 全局变量: 无
370 ** 调用模块: OSSemCreate(),DispStr(),OSWait(),DispClr(),OSSemPost(),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -