📄 ra8806.lst
字号:
C51 COMPILER V7.50 RA8806 03/31/2008 16:56:28 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE RA8806
OBJECT MODULE PLACED IN RA8806.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RA8806.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 *
3 * Filename : RA8806.c
4 *
5 * Author : Tony Kan
6 * Author Date : 2007/08/21
7 * Company : RAiO Technology Inc.
8 * Case : 320 x 240
9 * Device : MXIC MX10E8050IQC at 18.432MHZ
10 * Modifier :
11 * Modify Date :
12 * Visions : X
13 * Compiled Using Keil C v7.50
14 *
15 *******************************************************************************/
16
17 #include "RA8806.h"
18
19 //------------------------------------------------------------------------------
20 //Subroutine Declare
21 //------------------------------------------------------------------------------
22 extern void LCD_CmdWrite(uchar);
23 extern uchar LCD_CmdRead(void);
24 extern void LCD_DataWrite(uchar);
25 extern uchar LCD_DataRead(void);
26
27 //Delay Function
28 extern void Delay2us(uchar);
29 extern void Delay100us(uchar);
30 extern void Delay1ms(uchar);
31 extern void Delay10ms(uchar);
32 extern void Delay100ms(uchar);
33 /******************************************************************************/
34 /*Sub Program Area */
35 /******************************************************************************/
36 //==============================================================================
37 //Subroutine : LCD_Reset
38 //Function:
39 //==============================================================================
40 void LCD_Reset(void)
41 {
42 1 bRST = 0;
43 1 Delay100ms(5);
44 1 bRST = 1;
45 1 Delay100ms(2);
46 1 }
47
48 //==============================================================================
49 //Subroutine: LCD_CmdWrite
50 //Function:
51 //==============================================================================
52 void LCD_CmdWrite(uchar cmd)
53 {
54 1 // LCD_ChkBusy();
55 1 #ifdef Parallel_8080
C51 COMPILER V7.50 RA8806 03/31/2008 16:56:28 PAGE 2
56 1 // DATA_BUS = cmd;
57 1 bCSZ = 0;
58 1 bA0 = 1;
59 1 // DATA_BUS = cmd;
60 1 bWRZ = 0;
61 1 DATA_BUS = cmd;
62 1
63 1 // Delay2us(3);
64 1 bWRZ = 1;
65 1 // bCSZ = 0;
66 1 bCSZ = 1;
67 1 DATA_BUS = 0xff;
68 1 #endif
69 1
70 1 #ifdef Parallel_8080_4bit
bCSZ = 0;
bA0 = 1;
DATA_BUS = cmd >> 4;
bWRZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
DATA_BUS = cmd & 0x0f;
bWRZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
86 1
87 1 #ifdef Parallel_6800
bCSZ = 0;
bA0 = 1;
bWRZ = 0; //R/W
DATA_BUS = cmd;
bRDZ = 1; //EN
bRDZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
98 1
99 1 #ifdef Parallel_6800_4bit
bCSZ = 0;
bA0 = 1;
bWRZ = 0; //R/W
DATA_BUS = cmd >> 4;
bRDZ = 1; //EN
bRDZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
bA0 = 1;
bWRZ = 0; //R/W
DATA_BUS = cmd & 0x0f;
bRDZ = 1; //EN
bRDZ = 0;
bWRZ = 1;
bCSZ = 1;
C51 COMPILER V7.50 RA8806 03/31/2008 16:56:28 PAGE 3
DATA_BUS = 0xff;
#endif
120 1
121 1 bA0 = 0;
122 1 }
123
124 //==============================================================================
125 //Subroutine: LCD_DataWrite
126 //Function:
127 //==============================================================================
128 void LCD_DataWrite(uchar Data)
129 {
130 1 // LCD_ChkBusy();
131 1 #ifdef Parallel_8080
132 1 // DATA_BUS = Data;
133 1 bCSZ = 0;
134 1 bA0 = 0;
135 1 // DATA_BUS = Data;
136 1 bWRZ = 0;
137 1 DATA_BUS = Data;
138 1 bWRZ = 1;
139 1 // bCSZ = 0;
140 1 bCSZ = 1;
141 1 DATA_BUS = 0xff;
142 1 #endif
143 1
144 1 #ifdef Parallel_8080_4bit
bCSZ = 0;
bA0 = 0;
DATA_BUS = Data >> 4;
bWRZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
DATA_BUS = Data & 0x0f;
bWRZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
160 1
161 1 #ifdef Parallel_6800
bCSZ = 0;
bA0 = 0;
DATA_BUS = Data;
bWRZ = 0;
bRDZ = 1;
bRDZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
172 1
173 1 #ifdef Parallel_6800_4bit
bCSZ = 0;
bA0 = 0;
DATA_BUS = Data >> 4;
bWRZ = 0;
bRDZ = 1;
bRDZ = 0;
C51 COMPILER V7.50 RA8806 03/31/2008 16:56:28 PAGE 4
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
bA0 = 0;
DATA_BUS = Data & 0x0f;
bWRZ = 0;
bRDZ = 1;
bRDZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
194 1
195 1 bA0 = 1;
196 1 }
197
198 //==============================================================================
199 //Subroutine: CmdRead
200 //Function:
201 //==============================================================================
202
203 uchar LCD_CmdRead(void)
204 {
205 1 uchar Data;
206 1
207 1 #ifdef Parallel_8080
208 1 bCSZ = 0;
209 1 bA0 = 1;
210 1 bWRZ = 1;
211 1 // Data = DATA_BUS;
212 1 bRDZ = 0;
213 1 Data = DATA_BUS;
214 1 bRDZ = 1;
215 1 // bCSZ = 0;
216 1 bCSZ = 1;
217 1 DATA_BUS = 0xff;
218 1 #endif
219 1
220 1 #ifdef Parallel_8080_4bit
bWRZ = 1;
bCSZ = 0;
bA0 = 1;
bRDZ = 0;
Data = (DATA_BUS << 4) | 0x0f;
bRDZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
bRDZ = 0;
Data = DATA_BUS & Data;
bRDZ = 1;
bCSZ = 1;
#endif
236 1
237 1 #ifdef Parallel_6800
bCSZ = 0;
bA0 = 1;
bRDZ = 1;
Data = DATA_BUS;
C51 COMPILER V7.50 RA8806 03/31/2008 16:56:28 PAGE 5
bRDZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
246 1
247 1 #ifdef Parallel_6800_4bit
bCSZ = 0;
bA0 = 1;
bRDZ = 1;
Data = (DATA_BUS << 4) | 0x0f;
bRDZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
bA0 = 1;
bRDZ = 1;
Data = DATA_BUS & Data;
bRDZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
264 1 bA0 = 0;
265 1
266 1 return Data;
267 1 }
268
269 //==============================================================================
270 //Subroutine: LCD_DataRead
271 //Function:
272 //==============================================================================
273 uchar LCD_DataRead(void)
274 {
275 1 uchar Data;
276 1
277 1 #ifdef Parallel_8080
278 1 bWRZ = 1;
279 1 bCSZ = 0;
280 1 bA0 = 0;
281 1 // Data = DATA_BUS;
282 1 bRDZ = 0;
283 1 Data = DATA_BUS;
284 1 bRDZ = 1;
285 1 // bCSZ = 0;
286 1 bCSZ = 1;
287 1 #endif
288 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -