?? ra8803.lst
字號:
C51 COMPILER V7.50 RA8803 10/22/2005 14:00:49 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE RA8803
OBJECT MODULE PLACED IN RA8803.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE RA8803.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 *
3 * Filename: RA8803.c
4 *
5 * Author: Duke Chang
6 * Company: RAiO Technology Inc.
7 * Case:
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 : RS
32 * P2.5 : RSTZ
33 *
34 * P3.0 : X
35 * P3.1 : X
36 * P3.2 : X
37 * P3.3 : INTR
38 * P3.4 : CSZ
39 * P3.5 : X
40 * P3.6 : WRZ
41 * P3.7 : RDZ
42 *
43 *******************************************************************************/
44
45 #include "RA8803.h"
46
47 /******************************************************************************/
48 /*Sub program area */
49 /******************************************************************************/
50
51 //==============================================================================
52 //Subroutine: LCD_Reset
53 //Function:
54 //==============================================================================
55 void LCD_Reset(void)
C51 COMPILER V7.50 RA8803 10/22/2005 14:00:49 PAGE 2
56 {
57 1 bRST = 0;
58 1 Delay100ms(5);
59 1 bRST = 1;
60 1 Delay100ms(5);
61 1 }
62
63 //==============================================================================
64 //Subroutine: LCD_Initial
65 //Function:
66 //==============================================================================
67 void LCD_Initial(void)
68 {
69 1 LCD_CmdWrite(WLCR, B1100_0101); //Normal Power
70 1 LCD_CmdWrite(MISC, B0000_0011); //8Mhz
71 1
72 1 LCD_CmdWrite(WCCR, B0110_1011); //
73 1
74 1 LCD_CmdWrite(AWRR, cAWRR);
75 1 LCD_CmdWrite(AWBR, cAWBR);
76 1 LCD_CmdWrite(AWLR, B0000_0000);
77 1 LCD_CmdWrite(AWTR, B0000_0000);
78 1 LCD_CmdWrite(DWRR, cDWRR);
79 1 LCD_CmdWrite(DWBR, cDWBR);
80 1 LCD_CmdWrite(DWLR, B0000_0000);
81 1 LCD_CmdWrite(DWTR, B0000_0000);
82 1
83 1 LCD_CmdWrite(SCCR, B0000_1100); //Frame Rate
84 1 LCD_CmdWrite(INTR, B0000_0000);
85 1 LCD_CmdWrite(TPCR, B1100_0000);
86 1 LCD_CmdWrite(TPSR, B0011_0101);
87 1
88 1 LCD_CmdWrite(PNTR, B0000_0000); //Fill Data=00
89 1
90 1 LCD_CmdWrite(FNCR, B1001_0000); //GB Code
91 1
92 1 LCD_CmdWrite(LCCR, B0000_0000); //DAC Off
93 1 }
94
95 //==============================================================================
96 //Subroutine: LCD_CmdWrite
97 //Function:
98 //==============================================================================
99 void LCD_CmdWrite(uchar Addr, uchar Data)
100 {
101 1
102 1 #ifdef Parallel_8080
103 1 bCSZ = 0;
104 1 bRS = 0;
105 1
106 1 DATA_BUS = Addr; //Reg Addr
107 1 bWRZ = 0;
108 1 bWRZ = 1;
109 1
110 1 DATA_BUS = Data; //Reg Data
111 1 bWRZ = 0;
112 1 bWRZ = 1;
113 1
114 1 bCSZ = 1;
115 1 DATA_BUS = 0xff;
116 1 #endif
117 1
C51 COMPILER V7.50 RA8803 10/22/2005 14:00:49 PAGE 3
118 1 #ifdef Parallel_6800
bCSZ = 0;
bRS = 0;
bWRZ = 0;
DATA_BUS = Addr; //Reg Addr
bRDZ = 1;
bRDZ = 0;
DATA_BUS = Data; //Reg Data
bRDZ = 1;
bRDZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
136 1 }
137
138 //==============================================================================
139 //Subroutine: CmdRead
140 //Function:
141 //==============================================================================
142 uchar LCD_CmdRead(uchar Addr)
143 {
144 1 uchar Data;
145 1
146 1 #ifdef Parallel_8080
147 1 bCSZ = 0;
148 1 bRS = 0;
149 1
150 1 DATA_BUS = Addr; //Reg Addr
151 1 bWRZ = 0;
152 1 bWRZ = 1;
153 1
154 1 DATA_BUS = 0xff;
155 1 bRDZ = 0;
156 1 Data = DATA_BUS;
157 1 bRDZ = 1;
158 1
159 1 bCSZ = 1;
160 1 #endif
161 1
162 1 #ifdef Parallel_6800
bCSZ = 0;
bRS = 0;
bWRZ = 0;
DATA_BUS = Addr; //Reg Addr
bRDZ = 1;
bRDZ = 0;
DATA_BUS = 0xff;
bWRZ = 1;
bRDZ = 1;
Data = DATA_BUS;
bRDZ = 0;
bCSZ = 1;
#endif
179 1
C51 COMPILER V7.50 RA8803 10/22/2005 14:00:49 PAGE 4
180 1 return Data;
181 1 }
182
183 //==============================================================================
184 //Subroutine: LCD_DataWrite
185 //Function:
186 //==============================================================================
187 void LCD_DataWrite(uchar Data)
188 {
189 1 LCD_ChkBusy();
190 1 LCD_ChkBusy();
191 1
192 1 #ifdef Parallel_8080
193 1 bCSZ = 0;
194 1 bRS = 1;
195 1
196 1 DATA_BUS = Data;
197 1 bWRZ = 0;
198 1 bWRZ = 1;
199 1
200 1 bCSZ = 1;
201 1
202 1 DATA_BUS = 0xff;
203 1 #endif
204 1
205 1 #ifdef Parallel_6800
bCSZ = 0;
bRS = 1;
DATA_BUS = Data;
bRDZ = 1;
bRDZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
217 1 }
218
219 //==============================================================================
220 //Subroutine: LCD_DataRead
221 //Function:
222 //==============================================================================
223 uchar LCD_DataRead(void)
224 {
225 1 uchar Data;
226 1
227 1 LCD_ChkBusy();
228 1
229 1 #ifdef Parallel_8080
230 1 bCSZ = 0;
231 1 bRS = 1;
232 1
233 1 bRDZ = 0;
234 1 Data = DATA_BUS;
235 1 bRDZ = 1;
236 1
237 1 bCSZ = 1;
238 1 #endif
239 1
240 1 #ifdef Parallel_6800
bCSZ = 0;
C51 COMPILER V7.50 RA8803 10/22/2005 14:00:49 PAGE 5
bRS = 1;
bRDZ = 1;
Data = DATA_BUS;
bRDZ = 0;
bCSZ = 1;
#endif
250 1 return Data;
251 1 }
252
253 //==============================================================================
254 //Subroutine: LCD_ChkBusy
255 //Function:
256 //==============================================================================
257 void LCD_ChkBusy(void)
258 {
259 1 // uchar temp;
260 1
261 1 // do
262 1 // {
263 1 // temp = LCD_CmdRead(ISR);
264 1 // }while(temp & cTestb7);
265 1 }
266
267 //==============================================================================
268 //Subroutine: LCD_On
269 //Function:
270 //==============================================================================
271 void LCD_ON(void)
272 {
273 1 uchar temp;
274 1
275 1 temp = LCD_CmdRead(WLCR);
276 1 temp |= cSetb2;
277 1 LCD_CmdWrite(WLCR, temp);
278 1 }
279
280 void LCD_OFF(void)
281 {
282 1 uchar temp;
283 1
284 1 temp = LCD_CmdRead(WLCR);
285 1 temp &= cClrb2;
286 1 LCD_CmdWrite(WLCR, temp);
287 1 }
288
289 //==============================================================================
290 //Subroutine: LCD_GotoXY
291 //Function: LCD Cursor X-Y
292 //==============================================================================
293 void LCD_GotoXY(uchar x, uchar y)
294 {
295 1 LCD_CmdWrite(CPXR, (x & B0011_1111));
296 1 LCD_CmdWrite(CPYR, (y & B1111_1111));
297 1 }
298
299 //==============================================================================
300 //Subroutine: LCD_Graphic
301 //Function:
302 //==============================================================================
303 void LCD_Graphic(void)
C51 COMPILER V7.50 RA8803 10/22/2005 14:00:49 PAGE 6
304 {
305 1 uchar temp;
306 1
307 1 temp = LCD_CmdRead(WLCR);
308 1 temp &= cClrb3;
309 1 LCD_CmdWrite(WLCR, temp);
310 1 }
311
312 void LCD_Text(void)
313 {
314 1 uchar temp;
315 1
316 1 temp = LCD_CmdRead(WLCR);
317 1 temp |= cSetb3;
318 1 LCD_CmdWrite(WLCR, temp);
319 1 }
320
321 //==============================================================================
322 //Subroutine: LCD_PrintStr
323 //Function:
324 //==============================================================================
325 void LCD_PrintStrD100ms(uchar *ptr, uchar x, uchar y, uchar time)
326 {
327 1 LCD_GotoXY(x, y);
328 1
329 1 while(*ptr != 0)
330 1 {
331 2 LCD_DataWrite(*ptr);
332 2 ptr++;
333 2 Delay100ms(time);
334 2 }
335 1 }
336
337 //==============================================================================
338 //Subroutine: Bold
339 //Function:
340 //==============================================================================
341 void LCD_Bold(void)
342 {
343 1 uchar temp;
344 1
345 1 temp = LCD_CmdRead(WCCR);
346 1 temp |= cSetb4;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -