📄 lcm_disp.lst
字号:
C51 COMPILER V7.50 LCM_DISP 08/21/2007 11:05:02 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCM_DISP
OBJECT MODULE PLACED IN LCM_DISP.OBJ
COMPILER INVOKED BY: C:\Program Files\kei51\C51\BIN\C51.EXE LCM_DISP.c OPTIMIZE(2,SPEED) BROWSE INTVECTOR(0X8000) DEFINE
-(MONITOR51) DEBUG OBJECTEXTEND
line level source
1 //8*8显示一个字符(第0,6,7列不亮;只设置1-5列的亮暗就可以
2 #include "CONFIG.H"
3 uint8 a[8]={20,7,8,31,23,59,50,0}; //2007 08 31 23 59:50 0
4 uint8 d1m[8]={0,100,13,31,24,60,60,100}; //进位
5 uint8 code d2m[12]={31,29,31,30,31,30,31,31,30,31,30,31};//月份
6 uint8 bdata flag;
7 sbit opp=flag^0;
8
9 void fresh()
10 { uint8 i=7,j;
11 1 uint8 x,y;
12 1 a[i]++;
13 1 while(a[i]==d1m[i]&&i>0)
14 1 { i--; a[i]++; }
15 1
16 1 x=i/4*2+3;y=i%4*3+3;
17 1 LCM_DispChar(x, y, a[i]/10+'0');
18 1 LCM_DispChar(x, y+1, a[i]%10+'0');
19 1
20 1 for(j=i+1;j<8;j++)
21 1 { x=j/4*2+3;y=j%4*3+3;
22 2
23 2 if(j==2||j==3) //年
24 2 { a[j]=1; LCM_DispStr(x, y, "01"); }
25 2 else{ a[j]=0; LCM_DispStr(x, y, "00"); }
26 2 }
27 1 }
28
29 //5ms中断
30 void timer(void) interrupt 1
31 {
32 1 TH0=0xee;
33 1 TL0=0x00;
34 1 opp=!opp;
35 1 // if(opp==1)fresh();
36 1 }
37
38 void main(void)
39 {
40 1 opp=0;
41 1 TMOD=0x1;
42 1 TL0=0x00;
43 1 TH0=0xee;
44 1 EA=1;
45 1 ET0=1;
46 1 TR0=1;
47 1 LCM_DispIni(); // 初始化图形液晶模块
48 1 LCM_DispClr();
49 1 LCM_DispStr(1, 3, "Beijing Time");
50 1
51 1 LCM_DispStr(3, 4, "2007 08 31 ");
52 1 LCM_DispStr(5, 3, "23:59 50 0 ");
53 1
54 1 LCM_DispWord(2,8,0);
C51 COMPILER V7.50 LCM_DISP 08/21/2007 11:05:02 PAGE 2
55 1 LCM_DispWord(3,8,1);
56 1 LCM_DispWord(2,11,16);
57 1 LCM_DispWord(3,11,17);
58 1 LCM_DispWord(2,14,32);
59 1 LCM_DispWord(3,14,33);
60 1
61 1 while(1)
62 1 {
63 2 // if(opp==1)fresh();
64 2 if(opp==1)
65 2 {
66 3 while(opp==1) //去抖动
67 3 {d1m[3]=d2m[a[2]-1]+1;
68 4 if(a[2]==2&&a[1]%4==0&&(a[0]*100+a[1])%400!=0)
69 4 d1m[3]=29; //闰年2月时只有28天
70 4 }
71 3 if(a[7]==0) LCM_DispChar(5,5,':');
72 3 if(a[7]==50)LCM_DispChar(5,5,' ');
73 3 fresh();
74 3
75 3 }
76 2 }
77 1 }
78
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 465 ----
CONSTANT SIZE = 55 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 4
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 + -