?? demo.lst
字號:
C51 COMPILER V8.08 DEMO 02/27/2008 09:09:24 PAGE 1
C51 COMPILER V8.08, 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 #include "Demo.h"
18
19 /******************************************************************************/
20 /*Main program area */
21 /******************************************************************************/
22 void main(void)
23 {
24 1 uchar state;
25 1
26 1 P0 = 0xff;
27 1 P1 = 0xff;
28 1 P2 = 0xff;
29 1 #ifdef Parallel_8080
30 1 P3 = 0xff;
31 1 #endif
32 1
33 1 #ifdef Parallel_6800
P3 = 0x77;
#endif
36 1
37 1 AUXR = B0000_0011; //Enable MOVX for external interface
38 1
39 1 LCD_Reset();
40 1 LCD_Initial();
41 1 state = 0;
42 1
43 1 while(1)
44 1 {
45 2 switch(state)
46 2 {
47 3 case 0:
48 3 Test_Font();
49 3 break;
50 3 case 1:
51 3 Test_Pattern();
52 3 break;
53 3 case 2:
54 3 Test_Font();
55 3 Test_Touch();
C51 COMPILER V8.08 DEMO 02/27/2008 09:09:24 PAGE 2
56 3 break;
57 3
58 3 }
59 2 state++;
60 2 if(state==3) state=0;
61 2 }
62 1 }
63
64 /******************************************************************************/
65 /*Sub program area */
66 /******************************************************************************/
67
68 //==============================================================================
69 //Subroutine: Test_Pattern
70 //Function:
71 //==============================================================================
72 void Test_Pattern(void)
73 {
74 1 uchar x, y;
75 1 uchar pat, temp, count;
76 1
77 1 LCD_ON();
78 1 LCD_Graphic();
79 1
80 1 for(pat=0; pat<10; pat++)
81 1 {
82 2 switch(pat)
83 2 {
84 3 case 0: temp = 0xff;
85 3 break;
86 3 case 1: temp = 0x00;
87 3 break;
88 3 case 2: temp = 0x55;
89 3 break;
90 3 case 3: temp = 0xaa;
91 3 break;
92 3 case 4: temp = 0xcc;
93 3 break;
94 3 case 5: temp = 0x33;
95 3 break;
96 3 case 6: temp = 0xF0;
97 3 break;
98 3 case 7: temp = 0x0F;
99 3 break;
100 3 case 8: temp = 0x0F;
101 3 break;
102 3 case 9: temp = 0xFF;
103 3 break;
104 3 }
105 2 count = 0;
106 2 LCD_GotoXY(0, 0);
107 2 Delay100us(1);
108 2 for(y=0 ; y<cYSize ; y++)
109 2 {
110 3 for(x=0 ; x<cXSize/2 ; x++)
111 3 {
112 4 LCD_DataWrite(temp);
113 4 if(pat==9) LCD_DataWrite(~temp);
114 4 else LCD_DataWrite(temp);
115 4 }
116 3 count++;
117 3 if((pat==8)&&(count==4))
C51 COMPILER V8.08 DEMO 02/27/2008 09:09:24 PAGE 3
118 3 { temp = ~temp;
119 4 count=0;
120 4 }
121 3
122 3 else if((pat==9)&&(count==8))
123 3 { temp = ~temp;
124 4 count=0;
125 4 }
126 3 }
127 2 LCD_CmdWrite(MAMR, B1001_0001);
128 2 Delay100ms(10);
129 2 }
130 1 }
131
132 //==============================================================================
133 //Subroutine: Test Display/Inverse/Blink/Cursor
134 //Function:
135 //==============================================================================
136 void Test_Touch(void)
137 {
138 1 uchar temp, X1, X2, Y1, Y2;
139 1 uint Timeout;
140 1
141 1 ADC_On();
142 1 LCD_GotoXY(0, 210);
143 1 for(temp=0 ; temp<22 ; temp++)
144 1 { LCD_DataWrite(sRAiO5[temp]);
145 2 }
146 1
147 1 Timeout=0;
148 1 while(1)
149 1 {
150 2 temp = ADC_Touch();
151 2 if(temp==0x01)
152 2 {
153 3 Timeout=0;
154 3 X1 = ADC_X();
155 3 Y1 = ADC_Y();
156 3 Delay1ms(2);
157 3 temp = ADC_Touch();
158 3 if(temp==0x01)
159 3 {
160 4 X2 = ADC_X();
161 4 Y2 = ADC_Y();
162 4 // Delay1ms(2);
163 4
164 4 LCD_GotoXY(0, 210);
165 4 if((X1==X2) && (Y1==Y2))
166 4 {
167 5 LCD_Bold();
168 5 for(temp=0 ; temp<11 ; temp++)
169 5 { LCD_DataWrite(sRAiO7[temp]);
170 6 }
171 5 // Delay10ms(1);
172 5 LCD_GotoXY(13, 210);
173 5 Print_Hex(Y1);
174 5 LCD_GotoXY(21, 210);
175 5 Print_Hex(X1);
176 5 LCD_NoBold();
177 5 }
178 4 }
179 3 }
C51 COMPILER V8.08 DEMO 02/27/2008 09:09:24 PAGE 4
180 2 else
181 2 {
182 3 LCD_GotoXY(0, 210);
183 3 for(temp=0 ; temp<11 ; temp++)
184 3 { LCD_DataWrite(sRAiO6[temp]);
185 4 }
186 3 Timeout++;
187 3 if(Timeout==0x08FF) break;
188 3 }
189 2 }
190 1 }
191 //==============================================================================
192 //Subroutine: Test_Font, 8x18, 8x16m 16x16, Bold
193 //Function:
194 //==============================================================================
195 void Test_Font(void)
196 {
197 1 uchar temp;
198 1
199 1 LCD_ON();
200 1 LCD_Clear();
201 1 LCD_Text();
202 1 LCD_AlignOff();
203 1
204 1 LCD_GotoXY(0, 0);
205 1 LCD_PrintStr(sRAiO1, cXSize);
206 1 Delay10ms(2);
207 1
208 1 LCD_PrintStr(sRAiO2, cXSize);
209 1 Delay10ms(2);
210 1
211 1 LCD_Inv();
212 1 LCD_PrintStr(sRAiO3, cXSize);
213 1 Delay10ms(2);
214 1
215 1 LCD_NoInv();
216 1 LCD_GotoXY(10, 75);
217 1 LCD_FontSize(0x05);
218 1 for(temp=0 ; temp<11 ; temp++)
219 1 { LCD_DataWrite(sRAiO4[temp]);
220 2 Delay100us(2);
221 2 }
222 1 Delay10ms(2);
223 1
224 1 LCD_FontSize(0x00);
225 1 LCD_GotoXY(0, 120);
226 1 for(temp=0x30 ; temp<=0x7F ; temp++)
227 1 { LCD_DataWrite(temp);
228 2 }
229 1 Delay10ms(2);
230 1
231 1 LCD_GotoXY(0, 160);
232 1 LCD_Bold();
233 1 for(temp=0x30 ; temp<=0x7F ; temp++)
234 1 { LCD_DataWrite(temp);
235 2 }
236 1
237 1 LCD_NoBold();
238 1 Delay100ms(20);
239 1 }
C51 COMPILER V8.08 DEMO 02/27/2008 09:09:24 PAGE 5
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 665 ----
CONSTANT SIZE = 220 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 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 + -