📄 1.lst
字号:
C51 COMPILER V7.06 1 09/14/2005 22:34:03 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 1
OBJECT MODULE PLACED IN 1.OBJ
COMPILER INVOKED BY: D:\Program Files\KEIL C51\C51\BIN\C51.EXE 1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #include<stdio.h>
3 #include<intrins.h>
4 #include<string.h>
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 /* 0 1 2 3 4 5 6 7 8 9 H L n */
9 uchar code table[]={0x14,0x77,0x4c,0x45,0x27,0x85,0x84,0x57,0x04,0x05,0x26,0xf4,0xe6,0xff,0xff};
10 uchar idata buf[]={0,1,2,3,4,5,6,7,8,9,10,11,12};
11 uchar idata buf1[]={0,1,2,3,4,5,6,7,8,9,10,11,12};
12 void dis(uchar idata *t);
13 sbit keysub=P3^6;
14 sbit keyadd=P3^5;
15 sbit out=P2^4;
16 sbit setting=P3^7;
17 bit flag=1;
18 uint hh=25;uint ll=50;uint h=50;uint l=25; uchar nn=20;
19 key(){char i;uchar dy=250;
20 1 TR0=1;ET0=1;
21 1
22 1 do{ buf1[2]=nn/10;
23 2 buf1[0]=nn%10;
24 2 buf1[1]=0x0c;
25 2 buf1[3]=0x0a;
26 2 dis(buf1+3);}while(!setting);
27 1 _nop_();
28 1 do{ _nop_();
29 2 buf1[2]=nn/10;
30 2 buf1[0]=nn%10;
31 2 buf1[1]=0x0c;
32 2 buf1[3]=0x0a;
33 2 dis(buf1+3);
34 2 _nop_();
35 2 if(!keyadd)do{if(++nn>30){nn=30;}
36 3 buf1[2]=nn/10;
37 3 buf1[0]=nn%10;
38 3 buf1[1]=0x0c;
39 3 buf1[3]=0x0a;
40 3 for(i=0;i<50;i++){
41 4 while(--dy);
42 4 while(--dy);
43 4 dis(buf1+3);
44 4 while(--dy);}
45 3 }while(!keyadd);
46 2 if(!keysub)do{if(1<nn){--nn;}
47 3 else{nn=1;}
48 3 buf1[2]=nn/10;
49 3 buf1[0]=nn%10;
50 3 buf1[1]=0x0c;
51 3 buf1[3]=0x0a;
52 3 for(i=0;i<50;i++){
53 4 while(--dy);
54 4 while(--dy);
55 4 dis(buf1+3);
C51 COMPILER V7.06 1 09/14/2005 22:34:03 PAGE 2
56 4 while(--dy);}
57 3 }while(!keysub);
58 2 }while(setting);
59 1
60 1 do{ _nop_();
61 2 buf1[2]=nn/10;
62 2 buf1[0]=nn%10;
63 2 buf1[1]=0x0c;
64 2 buf1[3]=0x0a;
65 2 dis(buf1+3);
66 2 }while(!setting);
67 1 _nop_();
68 1 _nop_();
69 1 TR0=0;ET0=0;
70 1 hh=ll=h=l=(500/nn);
71 1 TR0=1;ET0=1;
72 1
73 1
74 1 }
75
76
77
78 void main(){
79 1
80 1 TMOD=0x11;
81 1 TH0=0xfc;
82 1 TL0=0x4a;
83 1
84 1 EA=1;
85 1 ET0=1;
86 1 TR0=1;
87 1 TH1=0xd8;
88 1 TL1=0xf0;
89 1 ET1=0;
90 1 TR1=0;
91 1 while(1){
92 2
93 2
94 2
95 2 if(!setting){
96 3 _nop_();
97 3 _nop_();
98 3 _nop_();
99 3 TR0=0;ET0=0;
100 3 key();
101 3 }
102 2 else{ buf1[2]=nn/10;
103 3 buf1[0]=nn%10;
104 3 buf1[1]=0x0d;
105 3 buf1[3]=0x0d;
106 3 dis(buf1+3);
107 3 _nop_();
108 3 _nop_();}
109 2 }
110 1 }
111 void dis (uchar idata *t){
112 1 uchar i;uchar m=100;uchar rl=0x01;
113 1 for(i=0;i<=3;i++){
114 2 P1=table[*t];
115 2 P3=~rl;
116 2
117 2 rl=(rl<<1);
C51 COMPILER V7.06 1 09/14/2005 22:34:03 PAGE 3
118 2 t--;
119 2 while(--m);
120 2
121 2 }
122 1
123 1 }
124 time0() interrupt 1 using 1{
125 1
126 1 TH0=0xfc;
127 1 TL0=0x4a;
128 1 P1=0xff;P3=0xff;
129 1 if(flag){if(h!=0){--h;}
130 2 else {out=!out;h=hh;}
131 2 }
132 1 else {if(l!=0){--l;}
133 2 else{out=!out;l=ll;}
134 2 }
135 1
136 1
137 1 }
138
139
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 421 ----
CONSTANT SIZE = 15 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 2
IDATA SIZE = 26 ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -