📄 ra8806.lst
字号:
C51 COMPILER V7.50 RA8806 01/08/2009 15:49:24 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE RA8806
OBJECT MODULE PLACED IN RA8806.OBJ
COMPILER INVOKED BY: C:\Program Files\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 * Date : 2007/08/21
7 * Company : RAiO Technology Inc.
8 * Case : 320 x 240 Evaluation board
9 * Device : RA8806 + MXIC MX10E8050IQC at 18.432MHZ
10 *
11 *******************************************************************************/
12
13 #include "RA8806.h"
14
15 //------------------------------------------------------------------------------
16 //Subroutine Declare
17 //------------------------------------------------------------------------------
18 extern void LCD_CmdWrite(uchar);
19 extern uchar LCD_StatusRead(void);
20 extern void LCD_DataWrite(uchar);
21 extern uchar LCD_DataRead(void);
22
23 //Delay Function
24 extern void Delay2us(uchar);
25 extern void Delay100us(uchar);
26 extern void Delay1ms(uchar);
27 extern void Delay10ms(uchar);
28 extern void Delay100ms(uchar);
29 /******************************************************************************/
30 /*Sub Program Area */
31 /******************************************************************************/
32 //==============================================================================
33 //Subroutine : LCD_Reset
34 //Function:
35 //==============================================================================
36 void LCD_Reset(void)
37 {
38 1 bRST = 0;
39 1 Delay100ms(1);
40 1 bRST = 1;
41 1 Delay100ms(1);
42 1 }
43
44 //==============================================================================
45 //Subroutine: LCD_CmdWrite
46 //Function:
47 //==============================================================================
48 void LCD_CmdWrite(uchar cmd)
49 {
50 1 // LCD_ChkBusy();
51 1 #ifdef Parallel_8080
52 1 bCSZ = 0;
53 1 bA0 = 1;
54 1 bWRZ = 0;
55 1 DATA_BUS = cmd;
C51 COMPILER V7.50 RA8806 01/08/2009 15:49:24 PAGE 2
56 1
57 1 bWRZ = 1;
58 1 bCSZ = 1;
59 1 DATA_BUS = 0xff;
60 1 #endif
61 1
62 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
78 1
79 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
90 1
91 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;
DATA_BUS = 0xff;
#endif
112 1
113 1 bA0 = 0;
114 1 }
115
116 //==============================================================================
117 //Subroutine: LCD_DataWrite
C51 COMPILER V7.50 RA8806 01/08/2009 15:49:24 PAGE 3
118 //Function:
119 //==============================================================================
120 void LCD_DataWrite(uchar Data)
121 {
122 1 // LCD_ChkBusy();
123 1 #ifdef Parallel_8080
124 1 bCSZ = 0;
125 1 bA0 = 0;
126 1 bWRZ = 0;
127 1 DATA_BUS = Data;
128 1 bWRZ = 1;
129 1 bCSZ = 1;
130 1 DATA_BUS = 0xff;
131 1 #endif
132 1
133 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
149 1
150 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
161 1
162 1 #ifdef Parallel_6800_4bit
bCSZ = 0;
bA0 = 0;
DATA_BUS = Data >> 4;
bWRZ = 0;
bRDZ = 1;
bRDZ = 0;
bWRZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
bA0 = 0;
DATA_BUS = Data & 0x0f;
bWRZ = 0;
bRDZ = 1;
bRDZ = 0;
bWRZ = 1;
C51 COMPILER V7.50 RA8806 01/08/2009 15:49:24 PAGE 4
bCSZ = 1;
DATA_BUS = 0xff;
#endif
183 1
184 1 bA0 = 1;
185 1 }
186
187 //==============================================================================
188 //Subroutine: CmdRead
189 //Function:
190 //==============================================================================
191
192 uchar LCD_StatusRead(void)
193 {
194 1 uchar Data;
195 1
196 1 #ifdef Parallel_8080
197 1 bCSZ = 0;
198 1 bA0 = 1;
199 1 bWRZ = 1;
200 1 bRDZ = 0;
201 1 Data = DATA_BUS;
202 1 bRDZ = 1;
203 1 bCSZ = 1;
204 1 DATA_BUS = 0xff;
205 1 #endif
206 1
207 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
223 1
224 1 #ifdef Parallel_6800
bCSZ = 0;
bA0 = 1;
bRDZ = 1;
Data = DATA_BUS;
bRDZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
233 1
234 1 #ifdef Parallel_6800_4bit
bCSZ = 0;
bA0 = 1;
bRDZ = 1;
Data = (DATA_BUS << 4) | 0x0f;
bRDZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
C51 COMPILER V7.50 RA8806 01/08/2009 15:49:24 PAGE 5
bCSZ = 0;
bA0 = 1;
bRDZ = 1;
Data = DATA_BUS & Data;
bRDZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
#endif
251 1 bA0 = 0;
252 1
253 1 return Data;
254 1 }
255
256 //==============================================================================
257 //Subroutine: LCD_DataRead
258 //Function:
259 //==============================================================================
260 uchar LCD_DataRead(void)
261 {
262 1 uchar Data;
263 1
264 1 #ifdef Parallel_8080
265 1 bWRZ = 1;
266 1 bCSZ = 0;
267 1 bA0 = 0;
268 1 bRDZ = 0;
269 1 Data = DATA_BUS;
270 1 bRDZ = 1;
271 1 bCSZ = 1;
272 1 #endif
273 1
274 1 #ifdef Parallel_8080_4bit
bRDZ = 1;
bWRZ = 1;
bCSZ = 0;
bA0 = 0;
bRDZ = 0;
Data = (DATA_BUS << 4) | 0x0f;
bRDZ = 1;
bCSZ = 1;
DATA_BUS = 0xff;
bCSZ = 0;
bRDZ = 0;
Data = DATA_BUS & Data;
bRDZ = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -