📄 main.lst
字号:
194 {
195 1 delay(100);
196 1 write_comand(0x30); //8并,基本指令
197 1 delay(10);
198 1 write_comand(0x30); //8并,
199 1 delay(5);
200 1
201 1 // write_comand(0x0c); //整体显示开,游标关不反白
202 1 // write_comand(0x0d); //整体显示开,游标关反白
203 1 write_comand(0x0f); //整体显示开,游标开反白
204 1 delay(10);
205 1
206 1 write_comand(0x01); //清屏
207 1 delay(5);
208 1
209 1 write_comand(0x06); //游标移动方向及地址AC的增减方式
210 1
211 1 }
212 /***********************************************************************
213 函数原型:stringdisp(unsigned char code *str,unsigned char adress)
214 入口参数:
215 str:要写入lcd显示的字符串数组
216 adress :要设定字符串在液晶显示中地址
217 出口参数:无
218 返回值: 无
219 功能说明:LCD液晶的字符串显示子程序
220 ************************************************************************/
221 ///////////////////////////字符串显示////////////////////////////////////
222
223 void stringdisp(unsigned char code *str,unsigned char adress) //字符串显示
224 {
225 1 write_comand(0x30);
226 1 write_comand(adress);
227 1 while(*str>0)
228 1 {
229 2 write_data(*str) ;
230 2 str++;
231 2 delay(1);
232 2 }
233 1 }
234
235 ////////////////////////
236
237 /*
C51 COMPILER V8.02 MAIN 03/31/2009 11:48:53 PAGE 5
238 void data_disp(unsigned int disp_data,unsigned char adress) //数字显示
239 //此处disp_data类型改变***************************
240 {
241 unsigned char data_code[10]={'0','1','2','3','4','5','6','7','8','9'};
242 unsigned char data_every[3]={0,0,0};
243 unsigned char disp_data_code[5]={'H',0,'.',0,0,};
244 unsigned char i;
245 unsigned int every_data;
246 for(i=0;i<3;i++)
247 {
248 every_data=disp_data%10;
249 disp_data=disp_data/10;
250 if(i==0)
251 {
252 data_every[i]=every_data;
253 disp_data_code[i+1]=data_code[every_data];
254 }
255 else
256 {
257 data_every[i]=every_data;
258 disp_data_code[i+2]=data_code[every_data];
259 }
260 }
261
262
263
264 i=2;
265 while(data_every[i]==0)
266 {
267 i--;
268 }
269 i+=3;
270
271 write_comand(0x30);
272 write_comand(adress);
273
274
275 while(i>=1)
276 {
277 i--;
278 write_data(disp_data_code[i]) ;
279
280 delay(1);
281 }
282 } */
283 /////////////clear_string////////////////////////// 此处未用到,可适当增减
284 /* void string_clear(unsigned char space_data,adress)
285 {
286 unsigned char space=' ' ;
287 write_comand(0x30);
288 write_comand(adress);
289 while(space_data>0)
290 {
291
292 write_data(space) ;
293 space_data--;
294 delay(1);
295 }
296 } */
297
298 /***********************************************************************
299 函数原型:void disp_graph()
C51 COMPILER V8.02 MAIN 03/31/2009 11:48:53 PAGE 6
300 入口参数:
301 无
302 出口参数:无
303 返回值: 无
304 功能说明:教室节能灯控登陆界面显示子程序
305 ************************************************************************/
306 ///////////////////////////系统登陆界面///////////////////////////////////
307 void disp_graph()
308 {
309 1 lcd_init();
310 1 stringdisp(&str,0x80); //////总界面:教室灯控系统////////
311 1 delay(100);
312 1 stringdisp(&str1,0x88); //////总界面:登陆界面////////////
313 1 delay(100);
314 1 // stringdisp(&str2,0x88); //////总界面:设置界面////////////
315 1 // delay(100);
316 1 write_comand(0x8f);
317 1
318 1
319 1 // write_comand(0x34); ////设置为全反白显示
320 1 // write_comand(0x05);
321 1 }
322 /***********************************************************************
323 函数原型:void disp_graph_password()
324 入口参数:
325 无
326 出口参数:无
327 返回值: 无
328 功能说明:教室节能灯控密码输入显示子程序
329 ************************************************************************/
330 ///////////////////////////密码输入界面///////////////////////////////////
331 void disp_graph_password()
332 {
333 1 lcd_init();
334 1 stringdisp(&str_password1,0x80); //////密码输入:请输设置密码////////
335 1 delay(100);
336 1 stringdisp(&str_password2,0x90); //////总界面:登陆系统////////////
337 1 delay(100);
338 1 stringdisp(&str_password3,0x88);
339 1 delay(100);
340 1 stringdisp(&str_password4,0x98);
341 1
342 1 write_comand(0x98);
343 1
344 1 // write_data('A');
345 1 // write_comand(0x9f);
346 1
347 1
348 1 //write_comand(0x34); ////设置为全反白显示
349 1 //write_comand(0x05);
350 1 }
351
352 /// ****************************************////
353 /***********************************************************************
354 函数原型:void disp_graph_set()
355 入口参数:
356 无
357 出口参数:无
358 返回值: 无
359 功能说明:教室节能灯控设置总界面显示子程序
360 ************************************************************************/
361 ///////////////////////////设置总界面///////////////////////////////////
C51 COMPILER V8.02 MAIN 03/31/2009 11:48:53 PAGE 7
362 void disp_graph_set()
363 {
364 1 lcd_init();
365 1 stringdisp(&str_set1,0x80); ///////设置总界面////////
366 1 delay(100);
367 1 stringdisp(&str_set2,0x90); //////设置总界面:密码设置////////////
368 1 delay(100);
369 1 stringdisp(&str_set3,0x88); //////设置总界面:时钟时间设置///////////
370 1 delay(100);
371 1 stringdisp(&str_set4,0x98); //////设置总界面:定时时间设置///////////
372 1
373 1 write_comand(0x9f);
374 1
375 1 // write_data('A');
376 1 // write_comand(0x9f);
377 1
378 1
379 1 //write_comand(0x34); ////设置为全反白显示
380 1 //write_comand(0x05);
381 1 }
382
383 /// ****************************************////
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 385 ----
CONSTANT SIZE = 178 ----
XDATA SIZE = ---- 4
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 3 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -