📄 glitter.lst
字号:
C51 COMPILER V7.09 GLITTER 09/16/2008 09:24:38 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE GLITTER
OBJECT MODULE PLACED IN .\output\glitter.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE menu\glitter.c LARGE BROWSE INCDIR(audio\;eeprom\;extendUART\;flash\;gps\;i
-nter\;key\;mcu\;menu\;usb\;gprs\;main\;1wire\) DEBUG OBJECTEXTEND PRINT(.\output\glitter.lst) OBJECT(.\output\glitter.ob
-j)
line level source
1 #include "glitter.h"
2
3 xdata GLITTER_CONTROL glitterCon;
4 xdata SMSDISPLAY_CONTROL smsdisplayCon;
5 xdata SMSDISPLAY_CONTROL phoneRingCon;//电话超时
6
7 /***************************************
8 *初始化程序
9 ***************************************/
10 void glitter_init()
11 {
12 1 glitterCon.status = GLITTER_NOUSE;
13 1 glitterCon.timeout = 0;
14 1 smsdisplayCon.status = GLITTER_NOUSE;
15 1 smsdisplayCon.timeout = 0;
16 1 phoneRingCon.status = GLITTER_NOUSE;
17 1 phoneRingCon.timeout = 0;
18 1 }
19
20
21 /***************************************
22 *开始闪烁,在需要闪烁的时候调用
23 ***************************************/
24 void start_glitter()
25 {
26 1 glitterCon.status = GLITTER_WAITING;
27 1 glitterCon.timeout = GLITTER_TIMEOUT;
28 1 }
29
30
31 /***************************************
32 *停止闪烁,在不需要闪烁的时候调用
33 ***************************************/
34 void stop_glitter()
35 {
36 1 glitterCon.status = GLITTER_NOUSE;
37 1 glitterCon.timeout = 0;
38 1 }
39
40 /***************************************
41 *获取当前闪烁状态
42 *返回值:GLITTER_WAITING(正在等待,表示1s的间隔没有到)
43 GLITTER_ACTION(1s间隔时间到,需要闪烁)
44 ***************************************/
45 Byte get_glitter_status()
46 {
47 1 return glitterCon.status;
48 1 /* if (GLITTER_ACTION == glitterCon.status)
49 1 {
50 1 glitterCon.status = GLITTER_WAITING;
51 1 return GLITTER_ACTION;
52 1 }
53 1 else
C51 COMPILER V7.09 GLITTER 09/16/2008 09:24:38 PAGE 2
54 1 {
55 1 return glitterCon.status;
56 1 }*/
57 1 }
58
59 /***************************************
60 *闪烁的计数处理
61 ***************************************/
62 void glitter_timeout()
63 {
64 1 // if (GLITTER_NOUSE != glitterCon.status)
65 1 if (GLITTER_WAITING == glitterCon.status)
66 1 {
67 2 if (0 == glitterCon.timeout)
68 2 {
69 3 glitterCon.status = GLITTER_ACTION;
70 3 // glitterCon.timeout = GLITTER_TIMEOUT;
71 3 }
72 2 else
73 2 {
74 3 //>0
75 3 glitterCon.timeout--;
76 3 }
77 2 }
78 1 if (GLITTER_WAITING == smsdisplayCon.status)
79 1 {
80 2 if (0 == smsdisplayCon.timeout)
81 2 {
82 3 smsdisplayCon.status = GLITTER_ACTION;
83 3 }
84 2 else
85 2 {
86 3 smsdisplayCon.timeout--;
87 3 }
88 2 }
89 1 if (GLITTER_WAITING == phoneRingCon.status)
90 1 {
91 2 if (0 == phoneRingCon.timeout)
92 2 {
93 3 phoneRingCon.status = GLITTER_ACTION;
94 3 }
95 2 else
96 2 {
97 3 phoneRingCon.timeout--;
98 3 }
99 2 }
100 1 }
101
102
103 /***************************************
104 *在显示了短消息图标以后开始调用,每收到一个短消息以后都需要调用
105 ***************************************/
106 void start_displaysms()
107 {
108 1 smsdisplayCon.status = GLITTER_WAITING;
109 1 smsdisplayCon.timeout = SMSDISPLAY_TIMEOUT;
110 1 }
111
112
113 /***************************************
114 *目前定为内部函数,停止短消息计数器工作
115 ***************************************/
C51 COMPILER V7.09 GLITTER 09/16/2008 09:24:38 PAGE 3
116 void stop_displaysms()
117 {
118 1 smsdisplayCon.status = GLITTER_NOUSE;
119 1 smsdisplayCon.timeout = 0;
120 1 }
121
122
123 /***************************************
124 *获取当前是否需要显示短消息图标
125 *返回值:GLITTER_WAITING(正在等待,表示1s的间隔没有到)
126 GLITTER_ACTION(1s间隔时间到,停止显示短消息图标)
127 ***************************************/
128 Byte get_smsdisplay_status()
129 {
130 1 if (GLITTER_ACTION == smsdisplayCon.status)
131 1 {
132 2 stop_displaysms();
133 2 return GLITTER_ACTION;
134 2 }
135 1 else
136 1 {
137 2 return smsdisplayCon.status;
138 2 }
139 1 }
140
141 /******************************************
142 *每收到一个震铃消息需要调用此函数
143 ******************************************/
144 void start_phonering()
145 {
146 1 phoneRingCon.status = GLITTER_WAITING;
147 1 phoneRingCon.timeout = PHONE_RING_TIMEOUT;
148 1 }
149
150 /*****************************************
151 *不需要震铃时调用此函数
152 ******************************************/
153 void stop_phonering()
154 {
155 1 phoneRingCon.status = GLITTER_NOUSE;
156 1 phoneRingCon.timeout = 0;
157 1 }
158
159 /***************************************
160 *获取当前是否需要显示短消息图标
161 *返回值:GLITTER_WAITING(正在等待,表示1s的间隔没有到)
162 GLITTER_ACTION(1s间隔时间到,停止显示短消息图标)
163 ***************************************/
164 Byte get_phonering_status()
165 {
166 1 if (GLITTER_ACTION == phoneRingCon.status)
167 1 {
168 2 stop_phonering();
169 2 return GLITTER_ACTION;
170 2 }
171 1 else
172 1 {
173 2 return phoneRingCon.status;
174 2 }
175 1 }
C51 COMPILER V7.09 GLITTER 09/16/2008 09:24:38 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 208 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 6 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -