📄 cc.lst
字号:
C51 COMPILER V7.20 CC 07/22/2005 12:57:51 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[]=" . Hz ";
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
50 3 // m=m>>8;
51 3 // m=720000/m;
52 3 m=1843200/m;
53 3 line1[0]=m/10000+0x30;
54 3 m=m%10000;
55 3 line1[1]=m/1000+0x30;
C51 COMPILER V7.20 CC 07/22/2005 12:57:51 PAGE 2
56 3 m=m%1000;
57 3 line1[2]=m/100+0x30;
58 3 m=m%100;
59 3 line1[3]=m/10+0x30;
60 3 // m=m%1000;
61 3 line1[4]=m%10+0x30;
62 3 // m=m%10;
63 3 // line1[6]=m/10+0x30;
64 3 // line1[7]=m%10+0x30;
65 3
66 3 ShowString( 0,line0 );
67 3 ShowString( 1,line1 );
68 3 for( i=0;i<=15;i++ )
69 3 {
70 4 void DelayL( );
71 4 }
72 3
73 3 m=0;
74 3 count=0;
75 3 cnt=0;
76 3 EX0=1;
77 3 ET0=1;
78 3 EA=1;
79 3 }
80 2 }
81 1 }
82
83
84
85
86 void inil( void )
87 {
88 1 EA=0;
89 1 PX0=1;
90 1 INT0=1;
91 1 IT0=1;
92 1 TMOD=( TMOD&0XF0 )|0X01;
93 1 TR0=0;
94 1 TH0=TL0=0;
95 1 EX0=1;
96 1 ET0=1;
97 1 EA=1;
98 1 }
99
100 void intlint0( void ) interrupt 0
101 {
102 1 unsigned char th,tl,a;
103 1 unsigned long N;
104 1 if( TH0==TL0&&TL0==0 ) TR0=1;
105 1 else
106 1 {
107 2 TR0=0;
108 2 EX0=0;//````````````````
109 2 th=TH0;
110 2 tl=TL0;
111 2 a=cnt;
112 2 TH0=TL0=0;
113 2 cnt=0;
114 2 // TR0=1;
115 2 if( a==0 )
116 2 {
117 3 N=th*256+tl;
C51 COMPILER V7.20 CC 07/22/2005 12:57:51 PAGE 3
118 3 }
119 2 else
120 2 {
121 3 N=65536*a+th*256+tl;
122 3 }
123 2 value[ count++ ]=N;
124 2
125 2 if( count==INT )
126 2 {
127 3 EX0=0;
128 3 ET0=0;
129 3 TH0=TL0=0;
130 3 EA=0;
131 3 }
132 2 else
133 2 {
134 3 EX0=1; //````````````````````
135 3 }
136 2 }
137 1 }
138
139
140 void intlt0( void ) interrupt 1
141 {
142 1 cnt++;
143 1 TH0=TL0=0;
144 1 }
145
146
147 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LCD
148
149 void DelayL( )
150 {
151 1 unsigned char i,j;
152 1 i=0xF0;
153 1 j=0xFF;
154 1 while( i-- )
155 1 while( j-- );
156 1 }
157
158 void DelayS( )
159 {
160 1 unsigned char i;
161 1 i=0x1F;
162 1 while( i-- );
163 1 }
164
165 void WriteCommand( unsigned char c )
166 {
167 1 DelayS( );
168 1 EN=0;
169 1 RS=0;
170 1 RW=0;
171 1 _nop_( );
172 1 EN=1;
173 1 P0=c;
174 1 EN=0;
175 1 }
176
177 void WriteData( unsigned char c )
178 {
179 1 DelayS( );
C51 COMPILER V7.20 CC 07/22/2005 12:57:51 PAGE 4
180 1 EN=0;
181 1 RS=1;
182 1 RW=0;
183 1 _nop_( );
184 1 EN=1;
185 1 P0=c;
186 1 EN=0;
187 1 RS=0;
188 1 }
189
190 void ShowChar( unsigned char pos,unsigned char c )
191 {
192 1 unsigned char p;
193 1 if( pos>=0x10 )
194 1 p=pos+0xB0;//
195 1 else
196 1 p=pos+0x80;//
197 1 WriteCommand( p );
198 1 WriteData( c );
199 1 }
200
201 void ShowString( unsigned char line,char *ptr )
202 {
203 1 unsigned char l,i;
204 1 l=line<<4;
205 1 for( i=0;i<16;i++ )
206 1 ShowChar( l++, *(ptr+i) );
207 1 }
208
209 void InitLcd( )
210 {
211 1 DelayL( );
212 1 WriteCommand( 0x38 );
213 1 DelayL( );
214 1 WriteCommand( 0x38 );
215 1 DelayL( );
216 1 WriteCommand( 0x06 );
217 1 WriteCommand( 0x0c );
218 1 WriteCommand( 0x01 );
219 1 WriteCommand( 0x80 );
220 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 840 ----
CONSTANT SIZE = 68 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 22 49
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 + -