📄 time.lst
字号:
C51 COMPILER V8.09 TIME 05/11/2009 19:17:54 PAGE 1
C51 COMPILER V8.09, COMPILATION OF MODULE TIME
OBJECT MODULE PLACED IN time.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE time.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2
3 unsigned char code Led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
4 unsigned int count;
5 unsigned char second,minute,hour;
6 sbit P1_0=P1^0;
7 sbit P1_1=P1^1;
8 sbit P3_0=P3^0;
9 sbit P3_1=P3^1;
10 sbit P3_2=P3^2;
11 sbit P3_3=P3^3;
12 sbit P3_4=P3^4;
13 sbit P3_5=P3^5;
14 sbit P3_6=P3^6;
15 sbit P3_7=P3^7;
16
17 void init()
18 {
19 1 TMOD=0x01;
20 1 TH0=(65536-2000)/256;
21 1 TL0=(65536-2000)%256;
22 1 second=minute=hour=count=0;
23 1 EA=1;ET0=1;TR0=1;
24 1 }
25
26 void delay()
27 {
28 1 unsigned char i;
29 1 for(i=200;i>0;i--);
30 1 }
31
32 void key()
33 {
34 1 if(P1_0==0)
35 1 {
36 2 delay();
37 2 if(P1_0==0)
38 2 {
39 3 while(!P1_0);
40 3 minute++;
41 3 if(minute>59)
42 3 minute=0;
43 3 }
44 2 }
45 1 if(P1_1==0)
46 1 {
47 2 delay();
48 2 if(P1_1==0)
49 2 {
50 3 while(!P1_1);
51 3 hour++;
52 3 if(hour>23)
53 3 hour=0;
54 3 }
55 2 }
C51 COMPILER V8.09 TIME 05/11/2009 19:17:54 PAGE 2
56 1 }
57
58 void main()
59 {
60 1 init();
61 1 while(1);
62 1 }
63
64 void time0() interrupt 1
65 {
66 1 static char i=0;
67 1 TH0=(65536-2000)/256;
68 1 TL0=(65536-2000)%256;
69 1 count++;
70 1 P3&=0x00; //关全部数码管
71 1 if(i>8)
72 1 i=0;
73 1 key();
74 1 switch (i)
75 1 {
76 2 case 0:
77 2 P3_7=1;
78 2 P2=Led[second%10];
79 2 break;
80 2 case 1:
81 2 P3_6=1;
82 2 P2=Led[second/10];
83 2 break;
84 2 case 2:
85 2 P3_5=1;
86 2 P2=0xbf;
87 2 break;
88 2 case 3:
89 2 P3_4=1;
90 2 P2=Led[minute%10];
91 2 break;
92 2 case 4:
93 2 P3_3=1;
94 2 P2=Led[minute/10];
95 2 break;
96 2 case 5:
97 2 P3_2=1;
98 2 P2=0xbf;
99 2 break;
100 2 case 6:
101 2 P3_1=1;
102 2 P2=Led[hour%10];
103 2 break;
104 2 case 7:
105 2 P3_0=1;
106 2 P2=Led[hour/10];
107 2 break;
108 2 }
109 1 i++;
110 1 if(count==500)
111 1 {
112 2 count=0;
113 2 second++;
114 2 if(second==60)
115 2 {
116 3 second=0;
117 3 minute++;
C51 COMPILER V8.09 TIME 05/11/2009 19:17:54 PAGE 3
118 3 if(minute==60)
119 3 {
120 4 minute=0;
121 4 hour++;
122 4 if(hour==24)
123 4 hour=0;
124 4 }
125 3 }
126 2 }
127 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 297 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -