12864nine.lst
来自「就是想下载一些东西啊」· LST 代码 · 共 789 行 · 第 1/3 页
LST
789 行
C51 COMPILER V7.06 12864NINE 04/21/2009 00:22:18 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 12864NINE
OBJECT MODULE PLACED IN 12864nine.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 12864nine.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #include<IIC.h>
3 #include<yinli.h>
4 #include<ds1302.h>
5 #include<keyscan.h>
*** WARNING C318 IN LINE 5 OF 12864nine.c: can't open file 'keyscan.h'
6 #include<12864init.h>
7 #define uchar unsigned char
8 #define uint unsigned int
9 sbit key1=P3^3;
10 sbit key2=P3^4;
11 sbit key3=P3^5;
12 sbit key4=P1^3;
13 sbit feng=P3^6;
14 sbit kaiguan=P1^4;
15 int nian;
16 char shi,fen,miao,day,ri,yue,qian,bai,nqb,nsg,nshi,nfen,nmiao;
17 uchar num,shu,i,shsh,gege,flag,fs,fg,ss,sg,ys,ye,rqs,rqg,ns,ng,flag1,k;
18 uchar year_c,month_c,day_c;
19 uchar code table[]={"-"};
20 uchar code table1[]={"2009-04-13"};
21 uchar code table3[]={"MONTUEWEDTHUFRISATSUN"};
22 uchar code table4[]={"闹钟 "};
23 uchar code dis1[]={"甲乙丙丁戊己庚辛壬癸"};
24 uchar code dis2[]={"子丑寅卯辰巳午未申酉戌亥"};
25 uchar code dis3[13][7]={" ","一月","二月","三月","四月","五月",
26 "六月","七月","八月","九月","十月","十一月","十二月"};
27 uchar code dis4[32][7]={" ","初一","初二","初三","初四","初五","初六",
28 "初七","初八","初九","初十","十一","十二","十三","十四",
29 "十五","十六","十七","十八","十九","二十","二十一",
30 "廿二","廿三","廿四","廿五","廿六"
31 ,"廿七","廿八","廿九","三十","三十一"};
32 /*uchar code table5[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x1
-6,0x17,0x18,0x19,
33 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
34 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,
35 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
36 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89.0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99};*/
37 //sbit PSB=P2^4;
38
39 void wadnian(uchar x,uchar y,int date)
40 {
41 1 uchar qian,bai,sh,ge;
42 1 qian=date/1000;
43 1 bai=date%1000/100;
44 1 sh=date%100/10;
45 1 ge=date%10;
46 1 pos(x,y);
47 1 wdata(table2[qian]);
48 1 wdata(table2[bai]);
49 1 wdata(table2[sh]);
50 1 wdata(table2[ge]);
51 1 }
52 void wsfm(uchar x,uchar y,uchar shi,uchar fen,uchar miao)
53 {
C51 COMPILER V7.06 12864NINE 04/21/2009 00:22:18 PAGE 2
54 1 uchar ss,sg,fs,fg,ms,mg;
55 1 pos(x,y);
56 1 ss=shi/10;
57 1 sg=shi%10;
58 1 fs=fen/10;
59 1 fg=fen%10;
60 1 ms=miao/10;
-
-
-
-
61 1 mg=miao%10;
62 1 wdata(table2[ss]);
63 1 wdata(table2[sg]);
64 1 wdata(':');
65 1 wdata(table2[fs]);
66 1 wdata(table2[fg]);
67 1 wdata(':');
68 1 wdata(table2[ms]);
69 1 wdata(table2[mg]);
70 1 }
71 void wfen(uchar x,uchar y,uchar date)
72 {
73 1 uchar sh,ge;
74 1 sh=date/10;
75 1 ge=date%10;
76 1 pos(x,y);
77 1 wdata(':');
78 1 wdata(table2[sh]);
79 1 wdata(table2[ge]);
80 1 pos(x,y+1);
81 1 }
82 void wnyr(int nian,uchar yue,uchar ri)
83 {
84 1 uchar num;
85 1 wadnian(1,0,nian);
86 1 pos(1,2);
87 1 while(table[num]!='\0')
88 1 {
89 2 wdata(table[num]);
90 2 num++;
91 2 }
92 1 wadda(1,3,yue);
93 1 num=0;
94 1 pos(1,4);
95 1 while(table[num]!='\0')
96 1 {
97 2 wdata(table[num]);
98 2 num++;
99 2 }
100 1 wadda(1,5,ri);
101 1 pos(1,6);
102 1 wdata(0x20);
103 1 for(i=0;i<3;i++)
104 1 {
105 2 wdata(table3[i+3*day]);
106 2 }
107 1
108 1 }
109
110 void settime(uchar add,uchar date)
111 {
C51 COMPILER V7.06 12864NINE 04/21/2009 00:22:18 PAGE 3
112 1 write1302(0x8e,0x00);
113 1 write1302(add,(date/10)<<4|(date%10));
114 1 write1302(0x8e,0x80);
115 1
116 1 }
117 void gettime()
118 {
119 1 uchar time;
120 1 time=read1302(0x80);//秒
121 1 gege=time&0x0f;
122 1 shsh=(time&0x70)>>4;
123 1 miao=shsh*10+gege;
124 1 time=read1302(0x82);//分
125 1 fs=(time&0x70)>>4;
126 1 fg=time&0x0f;
127 1 fen=fs*10+fg;
128 1 time=read1302(0x84);//时
129 1 ss=(time&0x70)>>4;
130 1 sg=time&0x0f;
131 1 shi=ss*10+sg;
132 1 time=read1302(0x8a);//星期
133 1 day=(time&0x07);
134 1 time=read1302(0x86);//日期
135 1 day_c=time;
136 1 rqs=(time&0x30)>>4;
137 1 rqg=(time&0x0f);
138 1 ri=rqs*10+rqg;
139 1 time=read1302(0x88);//月
140 1 month_c=time;
141 1 ys=(time&0x10)>>4;
142 1 ye=(time&0x0f);
143 1 yue=ys*10+ye;
144 1 time=read1302(0x8c);//年
145 1 year_c=time;
146 1 ns=(time&0xf0)>>4;
147 1 ng=(time&0x0f);
148 1 nsg=ns*10+ng;
149 1 nian=nsg+nqb*100;
150 1 }
151 void initds()
152 {
153 1 uchar second=read1302(0x80);
154 1 if(second&0x80)
155 1 settime(0x80,0);//设定几秒
156 1 settime(0x82,4);//设定几分
157 1 settime(0x84,8);//设定几时
158 1 settime(0x86,19);//设定几号
159 1 settime(0x88,4);//设定几月
160 1 nian=0;
161 1 settime(0x8c,88);//设定几年
162 1 settime(0x8a,6);//设定星期几
163 1 }
164 void didi()
165 {
166 1 feng=0;
167 1 delay(50);
168 1 feng=1;
169 1 delay(50);
170 1 feng=0;
171 1 delay(50);
172 1 feng=1;
173 1 delay(50);
C51 COMPILER V7.06 12864NINE 04/21/2009 00:22:18 PAGE 4
174 1
175 1 }
176 void keyscan()
177 {
178 1 if(flag==0)
179 1 {
180 2 if(key2==0)
181 2 {
182 3 delay(10);
183 3 if(key2==0)
184 3 while(!key2);
185 3 flag1=0;
186 3 pos(4,0);
187 3 wsfm(4,2,nshi,nfen,nmiao);
188 3 }
189 2 if(key3==0)
190 2 {
191 3 delay(10);
192 3 if(key3==0)
193 3 while(!key3);
194 3 flag1=0;
195 3 pos(4,0);
196 3 for(num=0;num<16;num++)
197 3 {
198 4 wdata(table4[num]);
199 4 }
200 3 }
201 2 }
202 1 if(key4==0)
203 1 {
204 2 delay(10);
205 2 {
206 3 if(key4==0)
207 3 {
208 4 wsfm(4,2,nshi,nfen,nmiao);
209 4 flag=1;
210 4 flag1=0;
211 4 k++;
212 4 pos(4,5);
213 4 wcom(0x0f);
214 4 }
215 3 switch(k)
216 3 {
217 4 case 2:pos(4,4);//fen
218 4 break;
219 4 case 3:pos(4,2);//shi
220 4 break;
221 4 case 4:
222 4 {
223 5 k=0;
224 5 flag=0;
225 5 wcom(0x0c);
226 5 pos(4,0);
227 5 pos(4,0);
228 5 for(num=0;num<16;num++)
229 5 {
230 6 wdata(table4[num]);
231 6 }
232 5 }
233 4 break;
234 4 }
235 3
C51 COMPILER V7.06 12864NINE 04/21/2009 00:22:18 PAGE 5
236 3 }
237 2 while(!key4);
238 2
239 2 }
240 1 if(k==1)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?