📄 cc.lst
字号:
C51 COMPILER V7.20 CC 07/22/2005 12:11:50 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE CC
OBJECT MODULE PLACED IN cc.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE cc.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<intrins.h>
3
4 sbit RS =P2^7;
5 sbit RW =P2^6;
6 sbit EN =P2^5;
7
8
9 #define INT 5
10 unsigned char count=0,cnt=0;
11 //unsigned long N;
12 unsigned long value[ INT ];
13 void inil( void );
14
15 void DelayL( );
16 void DelayS( );
17 void WriteCommand( unsigned char c );
18 void WriteData( unsigned char c );
19 void ShowChar( unsigned char pos,unsigned char c );
20 void ShowString( unsigned char line,char *ptr );
21 void InitLcd( );
22
23 void main( void )
24 {
25 1 unsigned char i;
26 1 unsigned long m;
27 1 unsigned char code str1[]=" cuit team 36 ";
28 1 unsigned char code str2[]=" 2005-7-18 ";
29 1 unsigned char line0[]="Frequnecy is: ";
30 1 unsigned char line1[]=" ";
31 1
32 1 DelayL( );
33 1 InitLcd( );
34 1 DelayL( );
35 1 ShowString( 0,str1 );
36 1 ShowString( 1,str2 );
37 1
38 1 inil( );
39 1
40 1 while( 1 )
41 1 {
42 2 if( count==INT )
43 2 {
44 3 for( i=0;i<INT;i++ )
45 3 {
46 4 m=m+value[i];
47 4 }
48 3 m=m/INT;
49 3 m=1843200/m;
50 3 if( m<1000 )
51 3 {
52 4 line1[0]=m/100+0x30;
53 4 m=m%100;
54 4 line1[1]=m/10+0x30;
55 4 line1[2]=m%10+0x30;
C51 COMPILER V7.20 CC 07/22/2005 12:11:50 PAGE 2
56 4 line1[3]='H';
57 4 line1[4]='z';
58 4
59 4 ShowString( 0,line0 );
60 4 ShowString( 1,line1 );
61 4 }
62 3 else
63 3 {
64 4 m=m/100;
65 4 line1[0]=m/100+0x30;
66 4 m=m%100;
67 4 line1[1]=m/10+0x30;
68 4 line1[2]='.';
69 4 line1[3]=m%10+0x30;
70 4 line1[4]='K';
71 4 line1[6]='H';
72 4 line1[7]='z';
73 4 ShowString( 0,line0 );
74 4 ShowString( 1,line1 );
75 4 for( i=0;i<=45;i++ )
76 4 {
77 5 void DelayL( );
78 5 }
79 4 }
80 3 for( i=0;i<=35;i++ )
81 3 {
82 4 void DelayL( );
83 4 }
84 3
85 3 m=0;
86 3 count=0;
87 3 cnt=0;
88 3 EX0=1;
89 3 ET0=1;
90 3 EA=1;
91 3 }
92 2 }
93 1 }
94
95
96
97
98 void inil( void )
99 {
100 1 EA=0;
101 1 INT0=1;
102 1 IT0=1;
103 1 TMOD=( TMOD&0XF0 )|0X01;
104 1 TR0=0;
105 1 TH0=TL0=0;
106 1 EX0=1;
107 1 ET0=1;
108 1 EA=1;
109 1 }
110
111 void intlint0( void ) interrupt 0
112 {
113 1 unsigned char th,tl,a;
114 1 unsigned long N;
115 1 if( TH0==TL0&&TL0==0 ) TR0=1;
116 1 else
117 1 {
C51 COMPILER V7.20 CC 07/22/2005 12:11:50 PAGE 3
118 2 TR0=0;
119 2 th=TH0;
120 2 tl=TL0;
121 2 a=cnt;
122 2 EX0=0;//````````````````
123 2 TH0=TL0=0;
124 2 cnt=0;
125 2 // TR0=1;
126 2 if( a==0 )
127 2 {
128 3 N=th*256+tl;
129 3 }
130 2 else
131 2 {
132 3 N=65536*a+th*256+tl;
133 3 }
134 2 value[ count++ ]=N;
135 2
136 2 if( count==INT )
137 2 {
138 3 EX0=0;
139 3 ET0=0;
140 3 TH0=TL0=0;
141 3 EA=0;
142 3 }
143 2 else
144 2 {
145 3 EX0=1; //````````````````````
146 3 }
147 2 }
148 1 }
149
150
151 void intlt0( void ) interrupt 1
152 {
153 1 cnt++;
154 1 TH0=TL0=0;
155 1 }
156
157
158 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LCD
159
160 void DelayL( )
161 {
162 1 unsigned char i,j;
163 1 i=0xF0;
164 1 j=0xFF;
165 1 while( i-- )
166 1 while( j-- );
167 1 }
168
169 void DelayS( )
170 {
171 1 unsigned char i;
172 1 i=0x1F;
173 1 while( i-- );
174 1 }
175
176 void WriteCommand( unsigned char c )
177 {
178 1 DelayS( );
179 1 EN=0;
C51 COMPILER V7.20 CC 07/22/2005 12:11:50 PAGE 4
180 1 RS=0;
181 1 RW=0;
182 1 _nop_( );
183 1 EN=1;
184 1 P0=c;
185 1 EN=0;
186 1 }
187
188 void WriteData( unsigned char c )
189 {
190 1 DelayS( );
191 1 EN=0;
192 1 RS=1;
193 1 RW=0;
194 1 _nop_( );
195 1 EN=1;
196 1 P0=c;
197 1 EN=0;
198 1 RS=0;
199 1 }
200
201 void ShowChar( unsigned char pos,unsigned char c )
202 {
203 1 unsigned char p;
204 1 if( pos>=0x10 )
205 1 p=pos+0xB0;//
206 1 else
207 1 p=pos+0x80;//
208 1 WriteCommand( p );
209 1 WriteData( c );
210 1 }
211
212 void ShowString( unsigned char line,char *ptr )
213 {
214 1 unsigned char l,i;
215 1 l=line<<4;
216 1 for( i=0;i<16;i++ )
217 1 ShowChar( l++, *(ptr+i) );
218 1 }
219
220 void InitLcd( )
221 {
222 1 DelayL( );
223 1 WriteCommand( 0x38 );
224 1 DelayL( );
225 1 WriteCommand( 0x38 );
226 1 DelayL( );
227 1 WriteCommand( 0x06 );
228 1 WriteCommand( 0x0c );
229 1 WriteCommand( 0x01 );
230 1 WriteCommand( 0x80 );
231 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 931 ----
CONSTANT SIZE = 68 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 22 50
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
C51 COMPILER V7.20 CC 07/22/2005 12:11:50 PAGE 5
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -