📄 text1.lst
字号:
C51 COMPILER V8.02 TEXT1 10/17/2008 13:22:46 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x51.h>
2 #include <DS1302.h>
3
4 #define change P3_0
5 #define shi P3_1
6 #define fen P3_2
7 #define din P2_0
8 #define load P2_1
9 #define clk P2_2
10 #define uchar unsigned char
11 #define uint unsigned int
12
13 uchar buf[]={0,0,0,0,0,0,0,0};
14 SYSTEMTIME time1;
15
16 uint ledc=0,ledn=0;
17 char code led[]= {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x55,0xaa,0xf0,0x0f};
18 char code num[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
19 char ctrl=0;
20 uchar hour=0,minu=0,dat;
21 int i,j,h;
22
23 void delay()
24 {
25 1 for(i=0;i<15;i++)
26 1 {
27 2 for(j=0;j<10;j++)
28 2 {;}
29 2 }
30 1 }
31
32 void delayms()
33 {
34 1 for(i=0;i<100;i++)
35 1 for(j=0;j<125;j++)
36 1 {;}
37 1
38 1 }
39 void key()
40 {
41 1 if(shi==0)
42 1 {
43 2 delayms();
44 2 if(shi==0)
45 2 { hour=time1.Hour;
46 3 hour++;
47 3 if(hour>23)hour=0;
48 3 dat=((hour/10)<<4&0x30)|(hour%10);
49 3 Write1302(0x84,dat);
50 3 }
51 2 }
52 1 if(fen==0)
53 1 {delayms();
54 2 if(fen==0)
55 2 {minu=time1.Minute;
C51 COMPILER V8.02 TEXT1 10/17/2008 13:22:46 PAGE 2
56 3 minu++;
57 3 if(minu>59)minu=0;
58 3 dat=((minu/10)<<4&0x70)|(minu%10);
59 3 Write1302(0x82,dat);
60 3 }
61 2 }
62 1
63 1 }
64
65
66 void main()
67
68 {
69 1 Initial_DS1302();
70 1
71 1 while(1)
72 1 {
73 2 DS1302_GetTime(&time1);
74 2
75 2 if(change==0)
76 2 {
77 3 buf[7]=(time1.Day)%10;
78 3 buf[6]=(time1.Day)/10;
79 3 buf[4]=(time1.Month)%10;
80 3 buf[3]=(time1.Month)/10;
81 3 buf[1]=(time1.Year)%10;
82 3 buf[0]=(time1.Year)/10;
83 3 }
84 2 else
85 2 {
86 3 buf[7]=(time1.Second)%10;
87 3 buf[6]=(time1.Second)/10;
88 3 buf[4]=(time1.Minute)%10;
89 3 buf[3]=(time1.Minute)/10;
90 3 buf[1]=(time1.Hour)%10;
91 3 buf[0]=(time1.Hour)/10;
92 3 }
93 2 buf[2]=10;
94 2 buf[5]=10;
95 2 for(h=0;h<8;h++)
96 2 {
97 3 ctrl=h;
98 3 P1=ctrl;
99 3 P0=dat;
100 3 P2=num[buf[h]];
101 3 delay();
102 3 }
103 2 P3=0xff;
104 2 key();
105 2 }
106 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 941 ----
CONSTANT SIZE = 23 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 47 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILER V8.02 TEXT1 10/17/2008 13:22:46 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -