📄 main.lst
字号:
C51 COMPILER V7.20 MAIN 07/31/2008 15:19:38 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include "../SMC162/SMC162.h"
3
4
5
6 typedef struct data1
7 {
8 unsigned char dath;
9 unsigned char datl;
10 }DATA2;
11 unsigned char data mscond,second,minute,hour;
12
13 bit flag;
14 //DATA2 char tmp;
15 DATA2 data tmp;
16 unsigned char *clocksr=" 00-00-00 ";
17 void Init();
18 void Hex(unsigned char hex);
19 unsigned char Hexa(unsigned char hex);
20 void time();
21 void main()
22 {
23 1
24 1
25 1 Init();
26 1 time();
27 1 LcdInit();
28 1 PutStr(0,0,"CLOCK test");
29 1 PutStr(0,1,clocksr);
30 1
31 1
32 1 //while(1);
33 1 //TR2=1;
34 1 //EA=1;
35 1 TR1=1;
36 1
37 1 while(1)
38 1 {
39 2 if(flag==1)
40 2 {
41 3 second+=1;
42 3 if(second!=60)
43 3 {
44 4 goto display_second;
45 4 }
46 3 else
47 3 {
48 4 second=0;
49 4 minute++;
50 4 if(minute!=60)
51 4 {
52 5 goto display_minute;
53 5 }
54 4 else
55 4 {
C51 COMPILER V7.20 MAIN 07/31/2008 15:19:38 PAGE 2
56 5 minute=0;
57 5 hour++;
58 5 if(hour==24)
59 5 hour=0;
60 5 }
61 4 }
62 3 Hex(hour);
63 3 clocksr[3]= Hexa(tmp.dath);
64 3 clocksr[4]= Hexa(tmp.datl);
65 3
66 3 display_minute:
67 3 Hex(minute);
68 3 clocksr[6]= Hexa(tmp.dath);
69 3 clocksr[7]= Hexa(tmp.dath);
70 3
71 3 display_second:
72 3 Hex(second);
73 3 clocksr[9]= Hexa(tmp.dath);
74 3 clocksr[10]= Hexa(tmp.dath);
75 3
76 3 PutStr(0,1,clocksr);
77 3 flag=0;
78 3 }
79 2 }
80 1 }
81
82 void Init()
83 {
84 1 mscond=0;
85 1 second=0;
86 1 minute=0;
87 1 hour=0;
88 1 flag=0;
89 1 }
90
91 void Hex(unsigned char hex)
92 {
93 1 tmp.dath=hex/10;
94 1 tmp.datl=hex%10;
95 1 }
96
97 unsigned char Hexa(unsigned char hex)
98 {
99 1 if(hex>9)
100 1 return' ';
101 1 else
102 1 return hex;
103 1 //return(hex+' ');
104 1 }
105
106 void time()
107 {
108 1 TMOD=0X90;
109 1
110 1 //TH2=0X3C;
111 1 //TL2=0XB0;
112 1 TH1=0Xef;
113 1 TL1=0Xff;
114 1 //RCAP2H=0x3c;
115 1 //RCAP2L=0XB0;
116 1 //ET2=1;
117 1 EA=1;
C51 COMPILER V7.20 MAIN 07/31/2008 15:19:38 PAGE 3
118 1 ET1=1;
119 1 }
120
121 void TIMER1ISP() interrupt 3 using 2
122 {
123 1 TH1=0Xef;
124 1 TL1=0Xff;
125 1 TF1=0;
126 1 //TF2=0;
127 1 //mscond++;
128 1 if(mscond==100)
129 1 {
130 2 mscond=0;
131 2 flag=1;
132 2 }
133 1 else
134 1 mscond++;
135 1 if(mscond<1)
136 1 P1=0X00;
137 1 else
138 1 P1=0X01;
139 1 }
140
141
142
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 292 ----
CONSTANT SIZE = 24 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -