| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- C51 COMPILER V9.53.0.0 LED 08/23/2018 15:10:00 PAGE 1
- C51 COMPILER V9.53.0.0, COMPILATION OF MODULE LED
- OBJECT MODULE PLACED IN .\Output\Led.obj
- COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE Code\User\Driver\Led.c LARGE OPTIMIZE(2,SPEED) BROWSE INCDIR(Code/Includ
- -e;Code/User;Code/User/Common;Code/User/Driver) DEFINE(FOSC_160000) DEBUG OBJECTEXTEND PRINT(.\Output\LST\Led.lst) TABS(2
- -) OBJECT(.\Output\Led.obj)
- line level source
- 1 #include "multi_led.h"
- 2 #include "led.h"
- 3 #include "N76E003.h"
- 4
- 5 struct Led lRun,lAla,lErr;
- 6
- 7 void ScanLed ( void ) //100ms
- 8 {
- 9 1 led_ticks();
- 10 1 }
- 11
- 12 void Set_RUN_GPIO(bool state)
- 13 {
- 14 1 P12 = state;
- 15 1 }
- 16
- 17
- 18 void Leds_Init(void)
- 19 {
- 20 1 led_init_Head();
- 21 1 led_init(&lRun, Set_RUN_GPIO);
- 22 1
- 23 1 led_set_state(&lRun, LED_WORK, 0, LED_STATE2_FLASH, 1000, 0, 0 );
- 24 1
- 25 1 led_start(&lRun);
- 26 1 //make the timer invoking the button_ticks() interval 5ms.
- 27 1 //This function is implemented by yourself.
- 28 1 //__timer_start(button_ticks, 0, 100);
- 29 1
- 30 1 }
- 31
- 32
- 33 /*
- 34 通用:WorkLed闪动
- 35 通信正常: TxLed 亮 (其他功能可共用), GZLed 灭; 传输TxLed 闪
- 36 通信故障: TxLed 灭, GZLed 亮:电源故障
- 37 通信故障,100s声光提示,声可消除;光保持到,无线模块复位,或故障消除
- 38 */
- 39 #if 0
-
- pFault FAULT_State = {.State = Bin ( 00 ) };
- pFault FAULT_StateOld = {.State = Bin ( 00 ) };
- bool FAULT_State_NoChange = true;
- u8 sysLed_Pretreat ( u8 State ) //预处理一下:故障和恢复
- {
- u8 Res = State;
-
- //3G/电源 故障与恢复
- switch ( State )
- {
- case LED_MODE_WORK_3G_OK:
- FAULT_State.Flag._3g = 0;
- break;
- C51 COMPILER V9.53.0.0 LED 08/23/2018 15:10:00 PAGE 2
-
- case LED_MODE_WORK_3G_FAIL:
- FAULT_State.Flag._3g = 1;
- break;
-
- case LED_MODE_WORK_DC_BAT_OK:
- FAULT_State.Flag._dc_bat = 0;
- break;
-
- case LED_MODE_WORK_DC_BAT_FAIL:
- FAULT_State.Flag._dc_bat = 1;
- break;
-
- default:
- return State;
- }
-
- if ( FAULT_State.Flag._3g ) Res = LED_MODE_WORK_3G_FAIL; //最优先3G
- else if ( FAULT_State.Flag._dc_bat ) Res = LED_MODE_WORK_DC_BAT_FAIL;
-
- FAULT_State_NoChange = false;
-
- return Res;
- }
-
-
-
-
- //灯的控制和蜂鸣器的控制
- void sysLed_Set ( u8 State )
- {
- State = sysLed_Pretreat ( State );
-
- switch ( SysRunType )
- {
- case SysRun_Norm:
- switch ( State )
- {
- case LED_MODE_WORK_RUN:
- LedDoing ( LED_WORK, 0, LED_STATE2_FLASH, 1000, 0, 0 ); //单位100ms: 500ms开,500ms关
-
- if ( FAULT_State_NoChange ) //初始化状态
- {
- LedDoing ( LED_TX, 0, LED_STATE0_OFF, 0, 0, 0 );
- LedDoing ( LED_GZ, 0, LED_STATE0_OFF, 0, 0, 0 );
- }
- else if ( FAULT_State.Flag._3g ) //1.3g故障, 2.3g+电源故障
- {
- LedDoing ( LED_TX, 0, LED_STATE0_OFF, 0, 0, 0 );
- LedDoing ( LED_GZ, 0, LED_STATE1_ON, 0, 0, 0 );
- }
- else if ( FAULT_State.Flag._dc_bat ) //3g正常, 电源故障
- {
- LedDoing ( LED_TX, 0, LED_STATE1_ON, 0, 0, 0 );
- LedDoing ( LED_GZ, 0, LED_STATE2_FLASH, 500, 0, 0 );
- }
- else //3g正常, 电源正常
- {
- LedDoing ( LED_TX, 0, LED_STATE1_ON, 0, 0, 0 );
- LedDoing ( LED_GZ, 0, LED_STATE0_OFF, 0, 0, 0 );
- }
-
- C51 COMPILER V9.53.0.0 LED 08/23/2018 15:10:00 PAGE 3
- break;
-
- case LED_MODE_WORK_3G_OK:
- LedDoing ( LED_TX, 0, LED_STATE1_ON, 0, 0, 0 );
- LedDoing ( LED_GZ, 0, LED_STATE0_OFF, 0, 0, 0 );
- break;
-
- case LED_MODE_WORK_3G_FAIL:
- LedDoing ( LED_TX, 0, LED_STATE0_OFF, 0, 0, 0 );
- LedDoing ( LED_GZ, 0, LED_STATE1_ON, 0, 0, 0 );
- break;
-
- case LED_MODE_WORK_DC_BAT_OK:
- LedDoing ( LED_GZ, 0, LED_STATE0_OFF, 0, 0, 0 );
- break;
-
- case LED_MODE_WORK_DC_BAT_FAIL:
- LedDoing ( LED_GZ, 0, LED_STATE2_FLASH, 500, 0, 0 );
- break;
-
- case LED_MODE_WORK_3G_TX:
- LedDoing ( LED_TX, 0, LED_STATE5_FLASH_DELAY, 100, 200, 1 ); //100ms开,开关1次
- break;
-
- case LED_MODE_WORK_3G_RX:
- LedDoing ( LED_TX, 0, LED_STATE5_FLASH_DELAY, 100, 400, 1 ); //100ms开,开关2次
- break;
-
- case LED_MODE_TEST_RUN:
- case LED_MODE_TEST_KGL_IN:
- break;
- }
-
- break;
-
- case SysRun_Test:
- switch ( State )
- {
- case LED_MODE_WORK_RUN:
- break;
-
- case LED_MODE_WORK_3G_OK:
- LedDoing ( LED_TX, 0, LED_STATE1_ON, 0, 0, 0 );
- break;
-
- case LED_MODE_WORK_3G_FAIL:
- LedDoing ( LED_TX, 0, LED_STATE0_OFF, 0, 0, 0 );
- break;
-
- case LED_MODE_WORK_DC_BAT_OK:
- case LED_MODE_WORK_DC_BAT_FAIL:
- case LED_MODE_WORK_3G_TX:
- case LED_MODE_WORK_3G_RX:
- break;
-
- case LED_MODE_TEST_RUN:
- LedDoing ( LED_WORK, 0, LED_STATE2_FLASH, 200, 0, 0 );
- LedDoing ( LED_GZ, 0, LED_STATE2_FLASH, 200, 0, 0 );
- LedDoing ( LED_TX, 0, LED_STATE2_FLASH, 200, 0, 0 );
- break;
-
- case LED_MODE_TEST_KGL_IN:
- C51 COMPILER V9.53.0.0 LED 08/23/2018 15:10:00 PAGE 4
- LedDoing ( LED_GZ, 0, LED_STATE4_NOT, 0, 0, 0 );
- break;
- }
-
- break;
- }
-
- if ( SysRunType == SysRun_Norm )
- {
- if ( FAULT_StateOld.State != FAULT_State.State )
- {
- FAULT_StateOld.State = FAULT_State.State;
- ( FAULT_State.State == 0 ) ? StopBeep() : StartBeep ( WARMING_BEEP ); //判断是否是正常状态�
- -�钦�T蛲#�婢�蛳�
- }
- }
-
- }
-
- #endif
- MODULE INFORMATION: STATIC OVERLAYABLE
- CODE SIZE = 116 ----
- CONSTANT SIZE = ---- ----
- XDATA SIZE = 48 1
- PDATA SIZE = ---- ----
- DATA SIZE = ---- ----
- IDATA SIZE = ---- ----
- BIT SIZE = ---- ----
- END OF MODULE INFORMATION.
- C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|