📄 cc.lst
字号:
C51 COMPILER V7.20 CC 07/20/2005 19:31:53 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 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 19:31:53 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 int 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
114 2 volt1[0]=V/1000+0x30;
115 2 V=V%1000;
116 2 volt1[1]=V/100+0x30;
117 2 V=V%100;
C51 COMPILER V7.20 CC 07/20/2005 19:31:53 PAGE 3
118 2 volt1[2]=V/10+0X30;
119 2 volt1[3]=V%10+0x30;
120 2
121 2 ShowString( 0,volt0 );
122 2 ShowString( 1,volt1 );
123 2
124 2 for( i=0;i<5;i++ )
125 2 {
126 3 DelayL( );
127 3 }
128 2 count=0;
129 2 EX1=1;
130 2 }
131 1 }
132
133 //````````````LCD```````````````````
134 void DelayL( )
135 {
136 1 unsigned char i,j;
137 1 i=0xF0;
138 1 j=0xFF;
139 1 while( i-- )
140 1 while( j-- );
141 1 }
142
143 void DelayS( )
144 {
145 1 unsigned char i;
146 1 i=0x1F;
147 1 while( i-- );
148 1 }
149
150 void WriteCommand( unsigned char c )
151 {
152 1 DelayS( );
153 1 EN=0;
154 1 RS=0;
155 1 RW=0;
156 1 _nop_( );
157 1 EN=1;
158 1 P0=c;
159 1 EN=0;
160 1 }
161
162 void WriteData( unsigned char c )
163 {
164 1 DelayS( );
165 1 EN=0;
166 1 RS=1;
167 1 RW=0;
168 1 _nop_( );
169 1 EN=1;
170 1 P0=c;
171 1 EN=0;
172 1 RS=0;
173 1 }
174
175 void ShowChar( unsigned char pos,unsigned char c )
176 {
177 1 unsigned char p;
178 1 if( pos>=0x10 )
179 1 p=pos+0xB0;//
C51 COMPILER V7.20 CC 07/20/2005 19:31:53 PAGE 4
180 1 else
181 1 p=pos+0x80;//
182 1 WriteCommand( p );
183 1 WriteData( c );
184 1 }
185
186 void ShowString( unsigned char line,char *ptr )
187 {
188 1 unsigned char l,i;
189 1 l=line<<4;
190 1 for( i=0;i<16;i++ )
191 1 ShowChar( l++, *(ptr+i) );
192 1 }
193
194 void InitLcd( )
195 {
196 1 DelayL( );
197 1 WriteCommand( 0x38 );
198 1 DelayL( );
199 1 WriteCommand( 0x38 );
200 1 DelayL( );
201 1 WriteCommand( 0x06 );
202 1 WriteCommand( 0x0c );
203 1 WriteCommand( 0x01 );
204 1 WriteCommand( 0x80 );
205 1 }
206
207
208
209
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 542 ----
CONSTANT SIZE = 34 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 57 10
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 + -