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