📄 dzz.lst
字号:
C51 COMPILER V7.06 DZZ 04/12/2006 09:21:21 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DZZ
OBJECT MODULE PLACED IN DZZ.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DZZ.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "reg51.h"
2 #include "stdio.h"
3 #define uint unsigned int
4 #define uchar unsigned char
5 uchar data second=0,minute=0,hour=0;
6 uchar data disbuf[6]={0};
7 //uchar data second_0,second_1,minute_0,minute_1,hour_0,hour_1;
8 uchar bdata FLAG=0;
9 sbit H_M=FLAG^1;
10 sbit P1_0=P1^0;
11 sbit P3_2=P3^2;
12 uchar code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
13
14 uchar data count=0;
15 //定时器0的中断服务程序
16 void timer0(void) interrupt 1 using 1
17 {TH0=-50000/256;
18 1 TL0=-50000%256;
19 1 count++;
20 1 if(count==20)
21 1 {count=0;
22 2 second++;
23 2 if(second==60)
24 2 {second=0;
25 3 minute++;
26 3 if(minute==60)
27 3 {minute=0;
28 4 hour++;
29 4 if(hour==24)
30 4 {hour=0;}
31 4 }
32 3 }
33 2 }
34 1 return;
35 1 }
36
37 void dlms(void)
38 {uchar i;
39 1 for(i=2000;i>0;i--){}
40 1 }
41
42 //外部中断0的中断服务程序
43 void int0(void) interrupt 0 using 2
44 {while(!P3_2)
45 1 { dlms();
46 2 }
47 1 dlms();
48 1 if(P3_2)
49 1 H_M=!H_M;
50 1 }
51
52 //显示程序
53 void disp(void)
54 {uchar i,j;
55 1 uchar bdata sel;
C51 COMPILER V7.06 DZZ 04/12/2006 09:21:21 PAGE 2
56 1 disbuf[0]=second%10;
57 1 disbuf[1]=second/10;
58 1 disbuf[2]=minute%10;
59 1 disbuf[3]=minute/10;
60 1 disbuf[4]=hour%10;
61 1 disbuf[5]=hour/10;
62 1 P2=0XFF;
63 1 sel=0x01;
64 1 for(i=0;i<6;i++)
65 1 {j=disbuf[i];
66 2 P2=(sel^0xff);
67 2 P0=table[j];
68 2 dlms();
69 2 P2=0XFF;
70 2 sel=sel<<1;
71 2 }
72 1 }
73 void increa(void)
74 {if(H_M)
75 1 {hour++;
76 2 if(hour==24)
77 2 {hour=0;
78 3 disbuf[4]=0;
79 3 disbuf[5]=0;
80 3 }
81 2 }
82 1 else
83 1 {minute++;
84 2 if(minute==60)
85 2 {minute=0;
86 3 disbuf[2]=0;
87 3 disbuf[3]=0;
88 3 }
89 2 }
90 1 }
91 main( )
92 {TCON=0x01;
93 1 TMOD=0x01;
94 1 TH0=-50000/256;
95 1 TL0=-50000%256;
96 1 EA=1;
97 1 ET0=1;
98 1 EX0=1;
99 1 TR0=1;
100 1
101 1 while(1)
102 1 {disp();
103 2 if(!P1_0)
104 2 {while(!P1_0)
105 3 dlms();
106 3 if(P1_0)
107 3 increa();
108 3 }
109 2 }
110 1
111 1 }
112
113
114
115
C51 COMPILER V7.06 DZZ 04/12/2006 09:21:21 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 253 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 ----
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 + -