📄 shizhongketiao1-2.lst
字号:
C51 COMPILER V7.02b SHIZHONGKETIAO1_2 05/11/2008 14:27:32 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE SHIZHONGKETIAO1_2
OBJECT MODULE PLACED IN shizhongketiao1-2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE shizhongketiao1-2.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #define uint unsigned int
3 #define uchar unsigned char
4 unsigned char code table0[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//段码表共阳极
5 unsigned char code table2[]={0xFB,0xF7,0xEF,0xDF,0xBF,0x67F};//位码表
6 sbit k1=P3^3;
7 sbit k2=P3^4;
8 sbit k3=P3^5;
9 void chushihua();
10 void display(uchar aa,uchar bb,uchar cc,uchar dd,uchar shi,uchar ge);
11 void delay(uchar z);
12 uchar aa,bb,cc,dd,shi,ge,ss,num,shu,temp;
13 void main()
14 {
15 1 chushihua();
16 1 while(1)
17 1 {
18 2 display(aa,bb,cc,dd,shi,ge);
19 2 }
20 1 }
21 void delay(uchar z)
22 {
23 1 uchar x,y;
24 1 for(x=z;x>0;x--)
25 1 for(y=110;y>0;y--);
26 1 }
27 void chushihua()
28 {
29 1 num=23;
30 1 shu=58;
31 1 temp=0;
32 1 aa=num/10;
33 1 bb=num%10;
34 1 cc=shu/10;
35 1 dd=shu%10;
36 1 shi=temp/10;
37 1 ge=temp%10;
38 1 P2=0xff;
39 1 delay(10);
40 1 TMOD=0X01;//选择T0工作在模式1
41 1 TH0=(65536-46080)/256;
42 1 TL0=(65536-46080)%256;//赋初值50毫秒晶振11.0592MHZ
43 1 EA=1;//开总中断
44 1 ET0=1;//开定时器0中断
45 1 TR0=1;//启动定时器0
46 1 }
47 void display(uchar aa,uchar bb,uchar cc,uchar dd,uchar shi,uchar ge)
48 {
49 1 if(ss==20)
50 1 {
51 2 ss=0;
52 2 temp++;
53 2 }
54 1 if(k1==0)
55 1 {
C51 COMPILER V7.02b SHIZHONGKETIAO1_2 05/11/2008 14:27:32 PAGE 2
56 2 TR0=0;
57 2 delay(10);
58 2 if(k1==0);
59 2 while(!k1);
60 2 delay(10);
61 2 while(!k1);
62 2 temp++;
63 2 if(temp==60)temp=0;
64 2 TR0=1;
65 2 }
66 1 if(temp==60)
67 1 {
68 2 temp=0;
69 2 shu++;
70 2 }
71 1 if(k2==0)
72 1 {
73 2 TR0=0;
74 2 delay(10);
75 2 if(k2==0);
76 2 while(!k2);
77 2 delay(10);
78 2 while(!k2);
79 2 shu++;
80 2 if(shu==60)shu=0;
81 2 TR0=1;
82 2 }
83 1
84 1 shi=temp/10;
85 1 ge=temp%10;
86 1 P2=0xff;
87 1 delay(5);
88 1 P0=table0[shi];
89 1 delay(5);
90 1 P2=0xf7;
91 1 delay(5);
92 1
93 1 P2=0xff;
94 1 delay(5);
95 1 P0=table0[ge];
96 1 delay(5);
97 1 P2=0xfb;
98 1 delay(5);
99 1 if(shu==60)
100 1 {
101 2 shu=0;
102 2 num++;
103 2 }
104 1 if(k3==0)
105 1 {
106 2 TR0=0;
107 2 delay(10);
108 2 if(k3==0);
109 2 while(!k3);
110 2 delay(10);
111 2 while(!k3);
112 2 num++;
113 2 if(num==24)num=0;
114 2 TR0=1;
115 2 }
116 1 cc=shu/10;
117 1 dd=shu%10;
C51 COMPILER V7.02b SHIZHONGKETIAO1_2 05/11/2008 14:27:32 PAGE 3
118 1 P2=0xff;
119 1 delay(5);
120 1 P0=table0[cc];
121 1 delay(5);
122 1 P2=0xdf;
123 1 delay(5);
124 1
125 1 P2=0xff;
126 1 delay(5);
127 1 P0=table0[dd];
128 1 delay(5);
129 1 P2=0xef;
130 1 delay(5);
131 1 if(num==24)num=0;
132 1 aa=num/10;
133 1 bb=num%10;
134 1 P2=0xff;
135 1 delay(5);
136 1 P0=table0[aa];
137 1 delay(5);
138 1 P2=0x7f;
139 1 delay(5);
140 1
141 1 P2=0xff;
142 1 delay(5);
143 1 P0=table0[bb];
144 1 delay(5);
145 1 P2=0xbf;
146 1 delay(5);
147 1 }
148 void timer0()interrupt 1
149 {
150 1 TH0=(65536-46080)/256;
151 1 TL0=(65536-46080)%256;//重赋初值
152 1 ss++;
153 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 443 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 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 + -