📄 dianzizhong.lst
字号:
C51 COMPILER V8.02 DIANZIZHONG 05/13/2009 11:57:08 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DIANZIZHONG
OBJECT MODULE PLACED IN dianzizhong.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE dianzizhong.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<ds1302.h>
3 #include<lcd1602.h>
4 #include<reg52.h>
5 #include<ds18b20.h>
6 #include<panduan.h>
7 #include<kaiguan.h>
8 #include<paobiao.h>
9 sbit s4=P1^3;
10 sbit s5=P1^4;
11 sbit buzzer=P2^5;
12 uchar tc,s5num,flag1,flag2;
13 uchar code table[]="20 - - ";
14 uchar code table1[]=" : : C";
15 void init()
16 {
17 1 uint i;
18 1 flag=0;
19 1 flag1=0;
20 1 flag2=1;
21 1 tc=0;
22 1 lcden=0;
23 1 s1num=0;
24 1 s5num=0;
25 1 buzzer=1;
26 1 TMOD=0x10;
27 1 TH1=(65536-10000)/256;
28 1 TL1=(65536-10000)%256;
29 1 EA=1;
30 1 ET1=1;
31 1 write_com(0x38);
32 1 write_com(0x0c);
33 1 write_com(0x06);
34 1 write_com(0x01);
35 1 write_com(0x80);
36 1 for(i=0;i<15;i++)
37 1 {
38 2 write_date(table[i]);
39 2 delay(5);
40 2 }
41 1 write_com(0x80+0x40);
42 1 for(i=0;i<16;i++)
43 1 {
44 2 write_date(table1[i]);
45 2 delay(5);
46 2 }
47 1
48 1 }
49 void didi()
50 {
51 1 buzzer=0;
52 1 delay(200);
53 1 buzzer=1;
54 1 delay(200);
55 1 }
C51 COMPILER V8.02 DIANZIZHONG 05/13/2009 11:57:08 PAGE 2
56
57 void shijian_dis()
58 {
59 1
60 1 read_serial(aa);
61 1 miao=aa[0]/16*10+aa[0]%16;
62 1 write_sfm(6,miao);
63 1 fen=aa[1]/16*10+aa[1]%16;
64 1 if(fen==0)
65 1 //buzzer=0;
66 1 didi();
67 1 else if(fen==1)
68 1 buzzer=1;
69 1 write_sfm(3,fen);
70 1 shi=aa[2]/16*10+aa[2]%16;
71 1 write_sfm(0,shi);
72 1 ri=aa[3]/16*10+aa[3]%16;
73 1 write_yr(8,ri);
74 1 yue=aa[4]/16*10+aa[4]%16;
75 1 write_yr(5,yue);
76 1 week=aa[5]/16*10+aa[5]%16;
77 1 write_week(11,week);
78 1 nian=aa[6]/16*10+aa[6]%16;
79 1 write_yr(2,nian);
80 1 }
81
82
83 void key_paobiao()
84 {
85 1 if(s5==0)
86 1 {
87 2 delay(10);
88 2 if(s5==0)
89 2 while(!s5);
90 2 s5num++;
91 2 if(s5num==2)
92 2 s5num=0;
93 2 }
94 1 }
95
96 void key4scan()
97 {
98 1 if(s4==0)
99 1 {
100 2 delay(5);
101 2 if(s4==0)
102 2 while(!s4)
103 2 write_a(0x80,0x50);
104 2 write_a(0x82,0x59);
105 2 write_a(0x84,0x15);
106 2 write_a(0x86,3);
107 2 write_a(0x88,5);
108 2 write_a(0x8a,1);
109 2 write_a(0x8c,9);
110 2 }
111 1 }
112
113 void main()
114 {
115 1 init();
116 1 while(1)
117 1 {
C51 COMPILER V8.02 DIANZIZHONG 05/13/2009 11:57:08 PAGE 3
118 2 run(nian);
119 2 panduan();
120 2 keyscan();
121 2 key_paobiao();
122 2 while((s5num==1)&&(s1num==0))
123 2 {
124 3 TR1=1;
125 3 flag1=1;
126 3 key_paobiao();
127 3 if(flag2==1)
128 3 {
129 4 write_com(0x01);
130 4 write_mbinit();
131 4 flag2=0;
132 4 }
133 3 key3scan();
134 3
135 3
136 3 }
137 2
138 2 if((s5num==0)&&flag1==1)
139 2 {
140 3 uchar i;
141 3 flag1=0;
142 3 flag2=1;
143 3 write_com(0x01);
144 3 write_com(0x80);
145 3 for(i=0;i<15;i++)
146 3 {
147 4 write_date(table[i]);
148 4 delay(5);
149 4 }
150 3 write_com(0x80+0x40);
151 3 for(i=0;i<16;i++)
152 3 {
153 4 write_date(table1[i]);
154 4 delay(5);
155 4 }
156 3 min=0;
157 3 sec=0;
158 3 haosec=0;
159 3
160 3
161 3 }
162 2 if((s1num==0)&&(s5num==0))
163 2 {
164 3 TR1=0;
165 3 key4scan();
166 3 shijian_dis();
167 3 wendu_dis();
168 3
169 3 }
170 2 }
171 1
172 1
173 1 }
174
175 void timer1() interrupt 3
176 {
177 1 TH1=(65536-1000)/256;
178 1 TL1=(65536-1000)%256;
179 1 tc++;
C51 COMPILER V8.02 DIANZIZHONG 05/13/2009 11:57:08 PAGE 4
180 1 if(tc==10)
181 1 {
182 2 flag=1;
183 2 tc=0;
184 2
185 2 }
186 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2301 ----
CONSTANT SIZE = 34 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 27 14
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 + -