?? demo.lst
字號(hào):
C51 COMPILER V7.50 DEMO 10/19/2005 09:32:47 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DEMO
OBJECT MODULE PLACED IN Demo.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Demo.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 *
3 * Filename: Demo.c
4 *
5 * Author: Duke Chang
6 * Company: RAiO Technology Inc.
7 * Case: 320x240
8 * Device: MXIC MX10E8050IQC at 18.432MHz
9 * Date: 2005/10/1
10 * Modifier: Duke Chang
11 * Modify Date: 2005/10/13
12 * Visions: 1.0
13 * Compiled Using Keil C v7.50
14 *
15 ********************************************************************************
16 *
17 * Function
18 *
19 ********************************************************************************
20 *
21 * Pin assignemt:
22 * P0.0 : D0
23 * P0.1 : D1
24 * P0.2 : D2
25 * P0.3 : D3
26 * P0.4 : D4
27 * P0.5 : D5
28 * P0.6 : D6
29 * P0.7 : D7
30 *
31 * P2.0 : RSTZ
32 *
33 * P3.0 : X
34 * P3.1 : X
35 * P3.2 : X
36 * P3.3 : RS
37 * P3.4 : CSZ
38 * P3.5 : X
39 * P3.6 : WRZ
40 * P3.7 : RDZ
41 *
42 *******************************************************************************/
43
44 #include "Demo.h"
45
46 /******************************************************************************/
47 /*Main program area */
48 /******************************************************************************/
49 void main(void)
50 {
51 1 uchar state;
52 1
53 1 P0 = 0xff;
54 1 P1 = 0xff;
55 1 P2 = 0xff;
C51 COMPILER V7.50 DEMO 10/19/2005 09:32:47 PAGE 2
56 1 P3 = 0xff;
57 1
58 1 AUXR = B0000_0011; //Enable MOVX for external interface
59 1
60 1 LCD_Reset();
61 1 LCD_Initial();
62 1 state = 0;
63 1
64 1 while(1)
65 1 {
66 2 switch(state)
67 2 {
68 3 case 0:
69 3 Test_Font();
70 3 break;
71 3 case 1:
72 3 // Test_Pattern();
73 3 break;
74 3 case 2:
75 3 Test_Touch();
76 3 break;
77 3
78 3 }
79 2 state++;
80 2 if(state==3) state=0;
81 2 }
82 1 }
83
84 /******************************************************************************/
85 /*Sub program area */
86 /******************************************************************************/
87
88
89 //==============================================================================
90 //Subroutine: Test_Pattern
91 //Function:
92 //==============================================================================
93 void Test_Pattern(void)
94 {
95 1 uchar x, y;
96 1 uchar pat, temp, count;
97 1
98 1 LCD_ON();
99 1 // LCD_Clear();
100 1 LCD_Graphic();
101 1
102 1 pat = 0;
103 1 count = 0;
104 1 while(1)
105 1 {
106 2 switch(pat)
107 2 {
108 3 case 0:
109 3 temp = 0xff;
110 3 break;
111 3 case 1:
112 3 temp = 0x00;
113 3 break;
114 3 case 2:
115 3 temp = 0x55;
116 3 break;
117 3 case 3:
C51 COMPILER V7.50 DEMO 10/19/2005 09:32:47 PAGE 3
118 3 temp = 0xaa;
119 3 break;
120 3 case 4:
121 3 case 8:
122 3 temp = 0xcc;
123 3 break;
124 3 case 5:
125 3 temp = 0x33;
126 3 break;
127 3 case 6:
128 3 case 9:
129 3 temp = 0xF0;
130 3 break;
131 3 case 7:
132 3 temp = 0x0F;
133 3 break;
134 3 }
135 2
136 2 LCD_GotoXY(0, 0);
137 2 for(y=0 ; y<cYSize ; y++)
138 2 {
139 3 for(x=0 ; x<cXSize ; x++)
140 3 { // Delay100us(1);
141 4 LCD_DataWrite(temp);
142 4 }
143 3 // Delay100us(1);
144 3 count++;
145 3 if((pat==8)&&(count==2))
146 3 {
147 4 temp = ~temp;
148 4 count=0;
149 4 }
150 3
151 3 else if((pat==9)&&(count==4))
152 3 {
153 4 temp = ~temp;
154 4 count=0;
155 4 }
156 3 }
157 2
158 2 Delay100ms(20);
159 2
160 2 pat++;
161 2 if(pat == 10) break;
162 2 }
163 1 }
164
165 //==============================================================================
166 //Subroutine: Test Display/Inverse/Blink/Cursor
167 //Function:
168 //==============================================================================
169 void Test_Touch(void)
170 {
171 1 uchar temp, X1, X2, Y1, Y2;
172 1
173 1 ADC_On();
174 1 LCD_GotoXY(0, 210);
175 1 for(temp=0 ; temp<22 ; temp++)
176 1 { LCD_DataWrite(sRAiO5[temp]);
177 2 }
178 1 while(1)
179 1 {
C51 COMPILER V7.50 DEMO 10/19/2005 09:32:47 PAGE 4
180 2 temp = ADC_Touch();
181 2 if(temp==0x01)
182 2 {
183 3 X1 = ADC_X();
184 3 Y1 = ADC_Y();
185 3 Delay1ms(2);
186 3 temp = ADC_Touch();
187 3 if(temp==0x01)
188 3 {
189 4 X2 = ADC_X();
190 4 Y2 = ADC_Y();
191 4 Delay1ms(2);
192 4
193 4 LCD_GotoXY(0, 210);
194 4 if((X1==X2) && (Y1==Y2))
195 4 {
196 5 LCD_Bold();
197 5 for(temp=0 ; temp<11 ; temp++)
198 5 { LCD_DataWrite(sRAiO7[temp]);
199 6 }
200 5 Delay10ms(1);
201 5 LCD_GotoXY(13, 210);
202 5 Print_Hex(X1);
203 5 LCD_GotoXY(21, 210);
204 5 Print_Hex(Y1);
205 5 LCD_NoBold();
206 5 }
207 4 }
208 3 }
209 2 else
210 2 {
211 3 LCD_GotoXY(0, 210);
212 3 for(temp=0 ; temp<11 ; temp++)
213 3 { LCD_DataWrite(sRAiO6[temp]);
214 4 }
215 3 }
216 2 }
217 1 }
218 //==============================================================================
219 //Subroutine: Test_Font, 8x18, 8x16m 16x16, Bold
220 //Function:
221 //==============================================================================
222 void Test_Font(void)
223 {
224 1 uchar temp;
225 1 uchar pat;
226 1
227 1 LCD_ON();
228 1
229 1 pat = 0;
230 1 LCD_Clear();
231 1 LCD_Text();
232 1 LCD_AlignOff();
233 1
234 1 LCD_GotoXY(0, 0);
235 1 for(temp=0 ; temp<cXSize ; temp++)
236 1 { LCD_DataWrite(sRAiO1[temp]);
237 2 }
238 1 Delay10ms(2);
239 1
240 1 // LCD_GotoXY(0, 0);
241 1 for(temp=0 ; temp<cXSize ; temp++)
C51 COMPILER V7.50 DEMO 10/19/2005 09:32:47 PAGE 5
242 1 { LCD_DataWrite(sRAiO2[temp]);
243 2 }
244 1 Delay10ms(2);
245 1
246 1 LCD_Inv();
247 1 for(temp=0 ; temp<cXSize ; temp++)
248 1 {
249 2 LCD_DataWrite(sRAiO3[temp]);
250 2 }
251 1 Delay10ms(2);
252 1
253 1 LCD_NoInv();
254 1 LCD_GotoXY(10, 75);
255 1 LCD_FontSize(0x05);
256 1 for(temp=0 ; temp<11 ; temp++)
257 1 { LCD_DataWrite(sRAiO4[temp]);
258 2 }
259 1 Delay10ms(2);
260 1
261 1 LCD_FontSize(0x00);
262 1 LCD_GotoXY(0, 120);
263 1 for(temp=0x30 ; temp<=0x7F ; temp++)
264 1 {
265 2 LCD_DataWrite(temp);
266 2 }
267 1 Delay10ms(2);
268 1
269 1 LCD_GotoXY(0, 160);
270 1 LCD_Bold();
271 1 for(temp=0x30 ; temp<=0x7F ; temp++)
272 1 {
273 2 LCD_DataWrite(temp);
274 2 }
275 1
276 1 LCD_NoBold();
277 1 Delay100ms(10);
278 1
279 1 }
280
281
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 638 ----
CONSTANT SIZE = 220 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 13
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -