📄 cc.lst
字号:
C51 COMPILER V7.20 CC 07/20/2005 21:02: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 adcs=P2^0;
5 sbit adrd=P3^7;
6 sbit adwr=P3^6;
7
8 sbit RS =P2^7;
9 sbit RW =P2^6;
10 sbit EN =P2^5;
11
12 #define INTV 20
13
14 unsigned char adata,count;
15 unsigned char valuev[ INTV ];
16 void Adstart( void );
17 void Adread( void );
18 void Delay_ms( unsigned char second );
19 void intil( void );
20
21 //`````````````````````````LCD`````````````````//
22 void DelayL( );
23 void DelayS( );
24 void WriteCommand( unsigned char c );
25 void WriteData( unsigned char c );
26 void ShowChar( unsigned char pos,unsigned char c );
27 void ShowString( unsigned char line,char *ptr );
28 void InitLcd( );
29 static char volt0[]="VOLT IS : ";
30 static char volt1[]=" . V ";
31 //```````````````````````LCD``````````````````//
32
33 void intil( void )
34 {
35 1 EA=0;
36 1 INT1=1;
37 1 IT1=1;
38 1 EX1=1;
39 1 EA=1;
40 1 }
41
42 void Adstart( void )
43 {
44 1 adcs=0;
45 1 adwr=0;
46 1 _nop_(); //
47 1 _nop_();
48 1 adwr=1; //产生上升沿
49 1 _nop_(); //
50 1 _nop_();
51 1 adwr=0;
52 1 adcs=1;
53 1 P1=0XFF;
54 1 }
55
C51 COMPILER V7.20 CC 07/20/2005 21:02:51 PAGE 2
56 void Adread( void )
57 {
58 1 adcs=0;
59 1 adrd=0;
60 1 _nop_();
61 1 adata=P1;
62 1 adrd=1;
63 1 adcs=1;
64 1 INT1=1;
65 1 }
66
67 void intint1( void ) interrupt 2
68 {
69 1 Adread( );
70 1 valuev[ count++ ]=adata;
71 1 if( count==INTV )
72 1 {
73 2 EX1=0;
74 2 }
75 1 else
76 1 {
77 2 Adstart( );
78 2 }
79 1 }
80
81 void main( void )
82 {
83 1 char code str1[]="WWW.CUIT.EDU.CN ";
84 1 char code str2[]=" 2005-07-18 ";
85 1
86 1 unsigned char i;
87 1 unsigned long V;
88 1 unsigned long Z;
89 1
90 1 DelayL( );
91 1 InitLcd( );
92 1 DelayL( );
93 1 ShowString( 0,str1 );
94 1 ShowString( 1,str2 );
95 1 for( i=0;i<10;i++ )
96 1 {
97 2 DelayL( );
98 2 }
99 1
100 1 intil( );
101 1
102 1 while( 1 )
103 1 {
104 2 Adstart( );
105 2 while( count!=INTV );
106 2 Z=0;
107 2 count=0;
108 2 for( i=0;i<INTV;i++ )
109 2 {
110 3 Z=Z+valuev[ count++ ];
111 3 }
112 2 V=Z/INTV;
113 2 V=V*20/51;
114 2
115 2 volt1[0]=V/10+0x30;
116 2 // V=V%1000;
117 2 // volt1[2]=V/100+0x30;
C51 COMPILER V7.20 CC 07/20/2005 21:02:51 PAGE 3
118 2 // V=V%100;
119 2 // volt1[3]=V/10+0X30;
120 2 volt1[2]=V%10+0x30;
121 2
122 2 ShowString( 0,volt0 );
123 2 ShowString( 1,volt1 );
124 2
125 2 for( i=0;i<5;i++ )
126 2 {
127 3 DelayL( );
128 3 }
129 2 count=0;
130 2 EX1=1;
131 2 }
132 1 }
133
134 //````````````LCD```````````````````
135 void DelayL( )
136 {
137 1 unsigned char i,j;
138 1 i=0xF0;
139 1 j=0xFF;
140 1 while( i-- )
141 1 while( j-- );
142 1 }
143
144 void DelayS( )
145 {
146 1 unsigned char i;
147 1 i=0x1F;
148 1 while( i-- );
149 1 }
150
151 void WriteCommand( unsigned char c )
152 {
153 1 DelayS( );
154 1 EN=0;
155 1 RS=0;
156 1 RW=0;
157 1 _nop_( );
158 1 EN=1;
159 1 P0=c;
160 1 EN=0;
161 1 }
162
163 void WriteData( unsigned char c )
164 {
165 1 DelayS( );
166 1 EN=0;
167 1 RS=1;
168 1 RW=0;
169 1 _nop_( );
170 1 EN=1;
171 1 P0=c;
172 1 EN=0;
173 1 RS=0;
174 1 }
175
176 void ShowChar( unsigned char pos,unsigned char c )
177 {
178 1 unsigned char p;
179 1 if( pos>=0x10 )
C51 COMPILER V7.20 CC 07/20/2005 21:02:51 PAGE 4
180 1 p=pos+0xB0;//
181 1 else
182 1 p=pos+0x80;//
183 1 WriteCommand( p );
184 1 WriteData( c );
185 1 }
186
187 void ShowString( unsigned char line,char *ptr )
188 {
189 1 unsigned char l,i;
190 1 l=line<<4;
191 1 for( i=0;i<16;i++ )
192 1 ShowChar( l++, *(ptr+i) );
193 1 }
194
195 void InitLcd( )
196 {
197 1 DelayL( );
198 1 WriteCommand( 0x38 );
199 1 DelayL( );
200 1 WriteCommand( 0x38 );
201 1 DelayL( );
202 1 WriteCommand( 0x06 );
203 1 WriteCommand( 0x0c );
204 1 WriteCommand( 0x01 );
205 1 WriteCommand( 0x80 );
206 1 }
207
208
209
210
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 524 ----
CONSTANT SIZE = 34 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 57 14
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 + -