?? s6d0144.lst
字號(hào):
C51 COMPILER V7.50 S6D0144 05/29/2007 09:06:46 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE S6D0144
OBJECT MODULE PLACED IN s6d0144.OBJ
COMPILER INVOKED BY: g:\Keil\C51\BIN\C51.EXE s6d0144.c OPTIMIZE(4,SPEED) DEBUG OBJECTEXTEND
line level source
1 //#include "AT89x52.h"
2 //#include "image.c"
3 #include "head.c"
4
5 #define START_ADD 500 //2800 //2700
6 #define START_ADD_END 24065 //(START_ADD+78*2)
7 /*
8 sbit _CS =P3^3;
9 sbit RS= P3^5;
10 sbit _WR =P3^2;
11
12 */
13
14
15 sbit _CS= P3^2;
16 sbit RS= P3^3;
17 sbit _RD= P3^5;
18 sbit _WR= P3^4;
19 sbit RES= P3^7;
20
21
22
23
24 #define OUTPORT_H P1
25 #define OUTPORT_L P2
26
27
28 sbit LATCH =P0^0;
29 #define LATCH_PORT P1
30
31 #define uchar unsigned char
32 #define uint unsigned int
33 #define MAX_STEP 6
34
35 void HX8312_init();
36 void W_D(uchar h,uchar l);
37 void W_D2(uint ua);
38 void delay(uint ms);
39 void W_D8(uchar h);
40 void delay_check_key();
41 void CMD16(unsigned char a,unsigned int b);
42
43 void test_pixel2();
44
45 void set_whole_screen();
46 void display1();//模線(xiàn)
47 void display2();//豎線(xiàn)
48 void display3();//雪花
49 void display4();//文字
50 void display5();//全顯
51 void display6();//豎條
52 void display7();//豎條
53 unsigned char read_ROM(unsigned int a);
54 void display_picture(unsigned char a); //0~15 共16張圖片
55 void set_pixel(unsigned char x,unsigned int y);
C51 COMPILER V7.50 S6D0144 05/29/2007 09:06:46 PAGE 2
56 void display_text();
57 void press_up_key();
58 void press_down_key();
59 void press_auto_key();
60 void press_contrast_add();
61 void press_contrast_sub();
62 void display_cat_mouse();
63
64
65 uint RGB(uchar r,uchar g,uchar b);
66 uchar contrast,current_display,last_display;
67
68 unsigned char auto_loop;
69 unsigned char epp_data;
70 unsigned int epp_data_count;
71 unsigned int rom_addr;
72 unsigned char lcm_res;
73 unsigned int ia,ib;
74 unsigned int inta,intb;
75 unsigned int pageadd,addint;
76 unsigned char k,temp;
77
78 void extern0_ISR() interrupt 0{
79 1 EA=0;
80 1
81 1
82 1 EA=1;
83 1 } /* not used */
84 void timer0_ISR () interrupt 1{} /* not used */
85 void extern1_ISR() interrupt 2{} /* not used */
86 void timer1_ISR () interrupt 3{} /* not used */
87 void serial_ISR () interrupt 4
88 {
89 1 if(RI)
90 1 {
91 2 epp_data_count++;
92 2
93 2
94 2 //ROM_CLE=0; //2read the data?!
95 2 //ROM_ALE=0; //3
96 2 //ROM_RD=1; //7
97 2
98 2 //P3=0xf3;
99 2 /*
100 2 ROM_DATAPORT=SBUF;//epp_data;
101 2 ROM_WR=0;//---->
102 2 ROM_WR=1;
103 2 */
104 2
105 2 //ROM_CS=1;
106 2 //ROM_ALE=1;
107 2 if(epp_data_count%2!=0)
108 2 epp_data=SBUF;
109 2 else
110 2 {
111 3 RS=1;
112 3 _CS=0;
113 3 OUTPORT_H=epp_data;
114 3 OUTPORT_L=SBUF;
115 3 _WR=0;
116 3 _WR=1;
117 3 _CS=1;
C51 COMPILER V7.50 S6D0144 05/29/2007 09:06:46 PAGE 3
118 3
119 3 }
120 2 RI=0;
121 2 //W_D8(SBUF);
122 2 }
123 1
124 1 } /* not used */
125
126 void main()
127 {
128 1
129 1 epp_data=0;
130 1 epp_data_count=0;
131 1
132 1 rom_addr=START_ADD;
133 1
134 1 lcm_res=0xff;
135 1
136 1
137 1 AUXR |=0x40;//seial 12 time
138 1 EA=0;//int en
139 1 IT0=1;//fall edge triger
140 1 EX0=0;//extern int0 en
141 1 EX1=0;//extern int0 en
142 1
143 1 SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr
144 1 TMOD |= 0x20; //TMOD: timer 1, mode 2, 8-bit reload
145 1 PCON |= 0x80; //SMOD=1; X2-->
146 1 TH1 = 0xF4; //Baud:4800 fosc=11.0592MHz
147 1 IE |= 0x90; //Enable Serial Interrupt
148 1 TR1 = 1; // timer 1 run
149 1
150 1 /*
151 1 rom_send_com(0xff);
152 1 delay(300);
153 1 */
154 1 //ROM_ALE=1;
155 1
156 1 auto_loop=1;
157 1
158 1 HX8312_init();
159 1
160 1
161 1
162 1 //while(1);///------stop ,else touchpanel test!!
163 1 /*
164 1 set_whole_screen();
165 1 while(1);
166 1 */
167 1 display6();//
168 1 delay(300);
169 1 display1();//
170 1 delay(300);
171 1 display2();//
172 1 delay(300);
173 1 display3();//
174 1 delay(300);
175 1 display4();//
176 1 delay(300);
177 1 display5();//
178 1 EA=1;
179 1 EA=1;
C51 COMPILER V7.50 S6D0144 05/29/2007 09:06:46 PAGE 4
180 1 //while(1);///------stop ,else touchpanel test!!
181 1 set_whole_screen();
182 1 while(1);
183 1
184 1
185 1
186 1 /*
187 1 while(1)
188 1 {
189 1
190 1 ia=tp_read(2);
191 1 printc(ia);
192 1 delay(20);
193 1
194 1
195 1 }
196 1 */
197 1
198 1
199 1 while(1)
200 1 {
201 2 ia=tp_read(2);
202 2 delay(1);
203 2 //delay(1);
204 2 ib=tp_read(1);
205 2 //delay(1);
206 2 set_pixel(ia,ib);
207 2 //delay(1);
208 2
209 2 //printc(ia);
210 2 //printc(ib);
211 2 inta++;
212 2 if(inta>4200)
213 2 {
214 3 display5();
215 3 inta=0;
216 3 }
217 2
218 2 }
219 1
220 1
221 1
222 1
223 1 //while(1);
224 1 /*
225 1 display6();//
226 1 */
227 1
228 1 //while(1);
229 1
230 1 //while(1);
231 1
232 1 last_display=0;
233 1 current_display=0;
234 1 while(1)
235 1 {
236 2 delay_check_key();
237 2 if(last_display!=current_display)
238 2 {
239 3 last_display=current_display;
240 3 switch(current_display)
241 3 {
C51 COMPILER V7.50 S6D0144 05/29/2007 09:06:46 PAGE 5
242 4 case(1):
243 4 display1();//
244 4 break;
245 4 case(2):
246 4 display2();//red
247 4 break;
248 4 case(3):
249 4 display3();//green
250 4 break;
251 4 case(4):
252 4 display4();//blue
253 4 break;
254 4 case(5):
255 4 display5();//文字
256 4 break;
257 4 case(6):
258 4 display6();// clear
259 4 break;
260 4 }//end switch
261 3
262 3 }//end if
263 2
264 2 }
265 1 }//end sub main
266
267
268 uint RGB(uchar r,uchar g,uchar b)
269 {uint rgb,rgb2;
270 1 rgb2=r>>3;
271 1 rgb=rgb2<<11;
272 1 rgb2=g>>2;
273 1 rgb=rgb|rgb2<<5;
274 1 rgb2=b>>3;
275 1 rgb=rgb|rgb2;
276 1 return rgb;
277 1
278 1 }
279
280 void set_whole_screen()
281 {
282 1 W_C(0x20);
283 1 W_D(0x00,0);
284 1 W_C(0x21);
285 1 W_D(0x00,0x0);
286 1
287 1 W_C(0X22);
288 1
289 1 }
290
291
292
293 void display1()//red
294 {
295 1
296 1 uchar i;
297 1 unsigned int k;
298 1
299 1 set_whole_screen();
300 1
301 1 for(k=0;k<320;k++)
302 1 for(i=0;i<240;i++)
303 1 {
C51 COMPILER V7.50 S6D0144 05/29/2007 09:06:46 PAGE 6
304 2 W_D(0xf8,0);
305 2 }
306 1
307 1
308 1 }//end sub
309
310
311 void display2()//green
312 {
313 1 uchar i;
314 1 unsigned int k;
315 1
316 1 set_whole_screen();
317 1
318 1 for(k=0;k<320;k++)
319 1 for(i=0;i<240;i++)
320 1 {
321 2 W_D(0x07,0xe0);
322 2
323 2 }
324 1 }//end sub
325
326
327
328 void display3()//blue
329 {
330 1 uchar i;
331 1 unsigned int k;
332 1
333 1 set_whole_screen();
334 1
335 1 for(k=0;k<320;k++)
336 1 for(i=0;i<240;i++)
337 1 {
338 2 W_D(0x0,0x1f);
339 2
340 2 }
341 1 }//end sub
342
343
344 void display4()//white
345 {
346 1 uchar i;
347 1 unsigned int k;
348 1
349 1 set_whole_screen();
350 1
351 1 for(k=0;k<320;k++)
352 1 for(i=0;i<240;i++)
353 1 {
354 2 W_D(0xff,0xff);
355 2
356 2 }
357 1 }//end sub
358
359 void display5()//black+綠色的框,作為邊界確認(rèn)
360 {
361 1 unsigned int i,ii;
362 1 set_whole_screen();
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -