📄 hjmcu.lst
字号:
C51 COMPILER V7.00 HJMCU 10/10/2009 01:14:45 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE HJMCU
OBJECT MODULE PLACED IN HJMCU.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE HJMCU.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #include<define.h>
3 void delay(uint z)
4 {
5 1 uint x,y;
6 1 for(x=z;x>0;x--)
7 1 for(y=110;y>0;y--);
8 1 }
9
10 void didi()
11 {
12 1 beep=0;
13 1 delay(50);
14 1 beep=1;
15 1 delay(100);
16 1 beep=0;
17 1 delay(50);
18 1 beep=1;
19 1 }
20 void write_com(uchar com)
21 {
22 1 rs=0;
23 1 lcden=0;
24 1 P0=com;
25 1 delay(5);
26 1 lcden=1;
27 1 delay(5);
28 1 lcden=0;
29 1 }
30
31 void write_date(uchar date)
32 {
33 1 rs=1;
34 1 lcden=0;
35 1 P0=date;
36 1 delay(5);
37 1 lcden=1;
38 1 delay(5);
39 1 lcden=0;
40 1 }
41
42 void init()
43 {//wr=0;
44 1
45 1 uchar num;
46 1 EA=1;
47 1 EX0=1;
48 1 IT0=1;
49 1
50 1 dula=0;
51 1 wela=0;
52 1 lcden=0;
53 1 // set_time();
54 1 set_alarm(14,13,10);
55 1 write_ds(0x0B,0x26);
C51 COMPILER V7.00 HJMCU 10/10/2009 01:14:45 PAGE 2
56 1 read_ds(0x0c);
57 1 // fen=59;
58 1 // miao=53;
59 1 // shi=23;
60 1 write_com(0x38);
61 1 write_com(0x0c);
62 1 write_com(0x06);
63 1 write_com(0x01);
64 1 write_com(0x80);
65 1 for(num=0;num<15;num++)
66 1 {
67 2 write_date(table[num]);
68 2 delay(5);
69 2 }
70 1 write_com(0x80+0x40);
71 1 for(num=0;num<12;num++)
72 1 {
73 2 write_date(table1[num]);
74 2 delay(5);
75 2 }
76 1
77 1 }
78
79 void write_sfm(uchar add,uchar date)
80 {
81 1 uchar shi,ge;
82 1 shi=date/10;
83 1 ge=date%10;
84 1 write_com(0x80+0x40+add);
85 1 write_date(0x30+shi);
86 1 write_date(0x30+ge);
87 1 }
88
89 void keyscan()
90 {
91 1 rd=0;
92 1 if(flag1==1)
93 1 {
94 2 if(s2==0)
95 2 {
96 3 delay(5);
97 3 if(s2==0)
98 3 {
99 4 while(!s2);
100 4 flag1=0;
101 4 }
102 3
103 3 }
104 2 if(s3==0)
105 2 {
106 3 delay(5);
107 3 if(s3==0)
108 3 {
109 4 while(!s3);
110 4 flag1=0;
111 4 }
112 3
113 3 }
114 2 }
115 1
116 1 if(s1==0)
117 1 {
C51 COMPILER V7.00 HJMCU 10/10/2009 01:14:45 PAGE 3
118 2 delay(5);
119 2 if(s1==0)
120 2 { s1num++;
121 3 flag=1;
122 3 flag1=0;
123 3 while(!s1);
124 3 if(s1num==1)
125 3 {
126 4 TR0=0;
127 4 write_com(0x80+0x40+10);
128 4 write_com(0x0f);
129 4 }
130 3 }
131 2 if(s1num==2)
132 2 {
133 3 write_com(0x80+0x40+7);
134 3 }
135 2 if(s1num==3)
136 2 {
137 3 write_com(0x80+0x40+4);
138 3 }
139 2 if(s1num==4)
140 2 {
141 3 s1num=0;
142 3 write_com(0x0c);
143 3 flag=0;
144 3 write_ds(0,miao);
145 3 write_ds(2,fen);
146 3 write_ds(4,shi);
147 3 }
148 2
149 2
150 2 }
151 1 if(s1num!=0)
152 1 {
153 2 if(s2==0)
154 2 {
155 3 delay(1);
156 3 if(s2==0)
157 3 {
158 4 while(!s2);
159 4 if(s1num==1)
160 4 {
161 5 miao++;
162 5 if(miao==60)
163 5 miao=0;
164 5 write_sfm(10,miao);
165 5 write_com(0x80+0x40+10);
166 5
167 5
168 5 }
169 4 if(s1num==2)
170 4 {
171 5 fen++;
172 5 if(fen==60)
173 5 fen=0;
174 5 write_sfm(7,fen);
175 5 write_com(0x80+0x40+7);
176 5 }
177 4 if(s1num==3)
178 4 {
179 5 shi++;
C51 COMPILER V7.00 HJMCU 10/10/2009 01:14:45 PAGE 4
180 5 if(shi==24)
181 5 shi=0;
182 5 write_sfm(4,shi);
183 5 write_com(0x80+0x40+4);
184 5 }
185 4 }
186 3 }
187 2 if(s3==0)
188 2 {
189 3 delay(1);
190 3 if(s3==0)
191 3 {
192 4 while(!s3);
193 4 if(s1num==1)
194 4 {
195 5 /* if(miao==0)
196 5 {
197 5 miao=59;
198 5 write_sfm(10,miao);
199 5 write_com(0x80+0x40+10);
200 5 }*/
201 5 miao--;
202 5 if(miao==-1)
203 5 miao=59;
204 5 write_sfm(10,miao);
205 5 write_com(0x80+0x40+10);
206 5 }
207 4 if(s1num==2)
208 4 {
209 5 fen--;
210 5 if(fen==-1)
211 5 fen=59;
212 5 write_sfm(7,fen);
213 5 write_com(0x80+0x40+7);
214 5 }
215 4 if(s1num==3)
216 4 {
217 5 shi--;
218 5 if(shi==-1)
219 5 shi=23;
220 5 write_sfm(4,shi);
221 5 write_com(0x80+0x40+4);
222 5 }
223 4 }
224 3 }
225 2 }
226 1 }
227
228 void write_ds(uchar add,uchar date)
229 {
230 1 dscs=0;
231 1 dsas=1;
232 1 dsds=1;
233 1 dsrw=1;
234 1 P0=add;
235 1 dsas=0;
236 1 dsrw=0;
237 1 P0=date;
238 1 dsrw=1;
239 1 dsas=1;
240 1 dscs=1;
241 1 }
C51 COMPILER V7.00 HJMCU 10/10/2009 01:14:45 PAGE 5
242
243 uchar read_ds(uchar add)
244 {
245 1 uchar ds_date;
246 1 dsas=1;
247 1 dsds=1;
248 1 dsrw=1;
249 1 dscs=0;
250 1 P0=add;
251 1 dsas=0;
252 1 dsds=0;
253 1 P0=0xff;
254 1 ds_date=P0;
255 1 dsds=1;
256 1 dsas=1;
257 1 dscs=1;
258 1 return ds_date;
259 1 }
260
261 void set_time()
262 {
263 1 write_ds(4,10);
264 1 write_ds(2,32);
265 1
266 1 }
267
268 void set_alarm(uchar ashi,uchar afen,uchar amiao)
269 {
270 1 write_ds(1,amiao);
271 1 write_ds(3,afen);
272 1 write_ds(5,ashi);
273 1 }
274 void main()
275 {wr=0;
276 1
277 1 init();
278 1 while(1)
279 1 {
280 2 keyscan();
281 2 if(flag1==1)
282 2 didi();
283 2 if(flag==0)
284 2 {
285 3 miao=read_ds(0);
286 3 fen=read_ds(2);
287 3 shi=read_ds(4);
288 3 write_sfm(10,miao);
289 3 write_sfm(7,fen);
290 3 write_sfm(4,shi);
291 3 }
292 2 }
293 1 }
294
295 void exter() interrupt 0
296 { uchar c;
297 1 flag1=1;
298 1 c=read_ds(0x0c);
299 1 }
300
301
302
303
C51 COMPILER V7.00 HJMCU 10/10/2009 01:14:45 PAGE 6
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 721 ----
CONSTANT SIZE = 29 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 1
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 + -