📄 main.lst
字号:
155 1 LCD_Write_Com(0x0f);//开显示,开光标,闪烁
156 1 while(1)
157 1 {
158 2 temp=i;
159 2 i=Key_Scan();
160 2 if(i==temp)
161 2 continue;
162 2 switch(i)
163 2 {
164 3 case '1':LCD_Write_Dat_Nmov('1');break;
165 3 case '2':LCD_Write_Dat_Nmov('2');break;
166 3 case '3':LCD_Write_Dat_Nmov('3');break;
167 3 case '4':LCD_Write_Dat_Nmov('4');break;
168 3 case '5':LCD_Write_Dat_Nmov('5');break;
169 3 case '6':LCD_Write_Dat_Nmov('6');break;
170 3 case '7':LCD_Write_Dat_Nmov('7');break;
171 3 case '8':LCD_Write_Dat_Nmov('8');break;
172 3 case '9':LCD_Write_Dat_Nmov('9');break;
173 3 case '0':LCD_Write_Dat_Nmov('0');break;
174 3 case 'L':Left();break;
175 3 case 'R':Right();break;
176 3 default:break;
177 3 }
178 2 if (i=='B')
179 2 {
C51 COMPILER V8.08 MAIN 04/20/2009 16:06:22 PAGE 4
180 3 date[0]=(LCD_Read_Dat(0x85)-'0')*10+(LCD_Read_Dat(0x86)-'0');
181 3 date[1]=(LCD_Read_Dat(0x88)-'0')*10+(LCD_Read_Dat(0x89)-'0');
182 3 date[2]=(LCD_Read_Dat(0x8b)-'0')*10+(LCD_Read_Dat(0x8c)-'0');
183 3 time[0]=(LCD_Read_Dat(0xc4)-'0')*10+(LCD_Read_Dat(0xc5)-'0');
184 3 time[1]=(LCD_Read_Dat(0xc7)-'0')*10+(LCD_Read_Dat(0xc8)-'0');
185 3 time[2]=(LCD_Read_Dat(0xca)-'0')*10+(LCD_Read_Dat(0xcb)-'0');
186 3 LCD_Write_Com(0x0c);//开显示,关光标,不闪烁
187 3 LCD_Write_Com(0x80);
188 3 LCD_Write_Dat(' '); //取消T——调整时间标志
189 3 TH0=0x4c;
190 3 TL0=0x00;
191 3 TR0=1; //定时器0开始计数
192 3 ET0=1; //打开定时器0中断
193 3 EA=1;
194 3 break;
195 3 }
196 2 }
197 1 }
198
199 /********************闹钟设置****************************/
200 void Clock_C(void)
201 {
202 1 unsigned char i,temp;
203 1 store_i=1;
204 1 i=0xff;//定义一个没用过的数
205 1 // TR1=0;
206 1 // ET1=0;
207 1 LCD_Write_Com(0x80);
208 1 LCD_Write_Dat('C');
209 1 LCD_Write_Com(0x83);
210 1 LCD_Write_Com(0x0f);//开显示,开光标,闪烁
211 1 while(1)
212 1 {
213 2 temp=i;
214 2 i=Key_Scan();
215 2 if(i==temp)
216 2 continue;
217 2 switch(i)
218 2 {
219 3 case '1':LCD_Write_Dat_Nmov('1');break;
220 3 case '2':LCD_Write_Dat_Nmov('2');break;
221 3 case '3':LCD_Write_Dat_Nmov('3');break;
222 3 case '4':LCD_Write_Dat_Nmov('4');break;
223 3 case '5':LCD_Write_Dat_Nmov('5');break;
224 3 case '6':LCD_Write_Dat_Nmov('6');break;
225 3 case '7':LCD_Write_Dat_Nmov('7');break;
226 3 case '8':LCD_Write_Dat_Nmov('8');break;
227 3 case '9':LCD_Write_Dat_Nmov('9');break;
228 3 case '0':LCD_Write_Dat_Nmov('0');break;
229 3 case 'L':Left();break;
230 3 case 'R':Right();break;
231 3 default:break;
232 3 }
233 2 if (i=='B')
234 2 {
235 3 store[0]=(LCD_Read_Dat(0x85)-'0')*10+(LCD_Read_Dat(0x86)-'0');
236 3 store[1]=(LCD_Read_Dat(0x88)-'0')*10+(LCD_Read_Dat(0x89)-'0');
237 3 store[2]=(LCD_Read_Dat(0x8b)-'0')*10+(LCD_Read_Dat(0x8c)-'0');
238 3 store[3]=(LCD_Read_Dat(0xc4)-'0')*10+(LCD_Read_Dat(0xc5)-'0');
239 3 store[4]=(LCD_Read_Dat(0xc7)-'0')*10+(LCD_Read_Dat(0xc8)-'0');
240 3 store[5]=(LCD_Read_Dat(0xca)-'0')*10+(LCD_Read_Dat(0xcb)-'0');
241 3 store_c=1; //闹钟标志
C51 COMPILER V8.08 MAIN 04/20/2009 16:06:22 PAGE 5
242 3 store_i=0;
243 3 LCD_Write_Com(0x80); //清除闹钟显示信息
244 3 LCD_Write_Dat(' ');
245 3 LCD_Write_Com(0x0c);//开显示,关光标,不闪烁
246 3 break;
247 3 }
248 2 }
249 1 }
250
251 /****************蜂鸣器*****************************/
252 void ring(void)
253 {
254 1 SPEAK=0;
255 1 Delay(30);
256 1 SPEAK=1;
257 1 }
258 void ring_c(void)
259 {
260 1 unsigned char i;
261 1 i=0xff;
262 1 while(1)
263 1 {
264 2 SPEAK=0;
265 2 Delay(80);
266 2 SPEAK=1;
267 2 Delay(80);
268 2 SPEAK=0;
269 2 Delay(80);
270 2 SPEAK=1;
271 2 Delay(80);
272 2 SPEAK=0;
273 2 Delay(80);
274 2 SPEAK=1;
275 2 Delay(80);
276 2 SPEAK=0;
277 2 Delay(80);
278 2 SPEAK=1;
279 2 Delay(250);
280 2 Delay(250);
281 2 Delay(250);
282 2 i=Key_Scan();
283 2 if(i=='B')
284 2 {
285 3 store_c=0;
286 3 break;
287 3 }
288 2 }
289 1 }
290
291 /*************延时i毫秒函数********************/
292 void Delay(unsigned char i)
293 {
294 1 unsigned char j;
295 1 while(--i !=0)
296 1 {
297 2 for(j=0;j<125;j++);
298 2 }
299 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1527 ----
C51 COMPILER V8.08 MAIN 04/20/2009 16:06:22 PAGE 6
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 9
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 + -