?? s6d0118.lst
字號:
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE S6D0118
OBJECT MODULE PLACED IN S6D0118.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE S6D0118.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /****************************************************************************
2 Controller IC:S6D0118,Hannstar 2.0 TFT
3 Paraller type:8 bit-8080 interface
4
5 Resolutions: 176*220 pixels
6 P0 : DB0---DB7===>D10-D17
7 P1 : P1.4 P1.3 P1.2 P1.1 P1.0
8 RES CS1 RS /WR RD
9
10 Modified date: 2006.09.24
11 ****************************************************************************/
12 #include <reg52.h>
13 #include<intrins.h>
14
15 #define DisplayCol 220 //160
16 #define DisplaySeg 176 //128
17
18 #define DataPort P1
19 #define ContPort P3
20
21 sbit _RST = P3^0;
22 sbit _CS1 = P3^5;
23 sbit RS = P3^4;
24 sbit _WR = P3^3;
25 sbit _RD = P3^1;
26
27 //define control key
28 sbit STOP = P3^2;
29 sbit CONU = P3^6;
30 sbit COND = P3^7;
31
32 sbit PA0=P2^0;
33 sbit PA1=P2^1;
34 sbit PA2=P2^2;
35 sbit FlashChip1Select=P2^3; //flash memory chip 1
36 sbit LBLPowerOn=P2^4; //backlight DC/DC on
37
38 unsigned int xdata *ptr;
39
40
41 //unsigned char contrast=114;
42 int Rate=1,contrast=1, frequency=6300;
43 unsigned char KeyValue;
44 long time ;
45 int cycle;
46 int stand=1000;
47
48 void delay(unsigned int param)
49 {
50 1 int i;
51 1 for(;param>0;param--)
52 1 for(i=0;i<960;i++);
53 1 }
54
55
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 2
56 void LCD_Index(unsigned char index)
57 {
58 1 _nop_();
59 1 RS=0;_RD=1;
60 1 P1=index;
61 1 _WR=0;
62 1 delay(0);
63 1 _WR=1;
64 1 }
65
66 void LCD_DataWrite(unsigned int set_db)
67 {
68 1 _nop_();
69 1 RS=1;_RD=1;
70 1 P1=set_db>>8;
71 1 _WR=0;
72 1 delay(0);
73 1 _WR=1;
74 1
75 1 _nop_();
76 1 RS=1;_RD=1;
77 1 P1=set_db;
78 1 _WR=0;
79 1 delay(0);
80 1 _WR=1;
81 1 }
82
83
84 void LCD_CmdWrite(unsigned char index,unsigned int set_db)
85 {
86 1
87 1 //INDEX Register set
88 1 _nop_();
89 1 RS=0;_RD=1;
90 1 P1=index;
91 1 _WR=0;
92 1 delay(0);
93 1 _WR=1;
94 1
95 1 _nop_();
96 1 RS=1;_RD=1;
97 1 P1=set_db>>8;
98 1 _WR=0;
99 1 delay(0);
100 1 _WR=1;
101 1
102 1 _nop_();
103 1 RS=1;_RD=1;
104 1 P1=set_db;
105 1 _WR=0;
106 1 delay(0);
107 1 _WR=1;
108 1 }
109
110 void LCD_Reset(void)
111 {
112 1 _CS1=0;
113 1 _RST=1;
114 1 delay(10);
115 1 _RST=0;
116 1 delay(60);
117 1 _RST=1;
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 3
118 1 delay(10);
119 1 }
120
121 void Power_set(void) //Power setting
122 {
123 1 LCD_CmdWrite(0x00,0x0001); //osc start ---by YY 2006-9-28
124 1 delay(40);
125 1 //LCD_CmdWrite(0x12,0x00b3); //
126 1 LCD_CmdWrite(0x11,0x3000); //power control:PON=0,,PON1=0,AON=0
127 1 LCD_CmdWrite(0x14,0x1c12); //power control
128 1 //LCD_CmdWrite(0x0b,0x0000); //Frame cycle control
129 1
130 1 LCD_CmdWrite(0x10,0x2900); //power control
131 1 delay(50);
132 1
133 1 LCD_CmdWrite(0x13,0x0040); //power control :PON=1,PON1=0,AON=0
134 1 delay(10);
135 1 LCD_CmdWrite(0x13,0x0060); //power control :PON=1,PON1=1,AON=0
136 1 delay(10);
137 1 LCD_CmdWrite(0x13,0x0070); //power control :PON=1,PON1=1,AON=1
138 1 delay(100);
139 1 LCD_CmdWrite(0x11,0x3004); //power control:PON=0,,PON1=0,AON=0
140 1 LCD_CmdWrite(0x10,0x2d00); //power control
141 1 delay(20);
142 1 }
143
144
145 void LCD_Initial1(void) //initial code 1
146 {
147 1 LCD_CmdWrite(0x01,0x071d);//Driver Output Control 071b
148 1 //0000 0xxx 000x xxxx---0000 0001 0001 1101
149 1 //SM=1,GS=0,SS=1,NL[4:0]=1 0101---176*220 pixels
150 1
151 1 LCD_CmdWrite(0x02,0x0700);//LCD-Driving Waveform Control
152 1 //0000 xxxx 00xx xxxx---0000 0100 0000 0000
153 1 //FLD[1:0]=01,B/C=0,EOR=0,NW[5:0]=000000
154 1
155 1 LCD_CmdWrite(0x03,0x1030);//Entry Mode
156 1 LCD_CmdWrite(0x07,0x0004); //GON=0,DTE=0,D[1:0]=01
157 1 LCD_CmdWrite(0x08,0x0808);//display control---blink control
158 1 LCD_CmdWrite(0x09,0x0000);
159 1 LCD_CmdWrite(0x0b,0x0000);
160 1 LCD_CmdWrite(0x0c,0x0000);//display interface selection:16-bit RGB
161 1 }
162
163 void Gamma_Control(void) //Gamma control
164 {
165 1 //MP[5:0]([2:0]):gamma adjustment register for positive polarity output
166 1
167 1 LCD_CmdWrite(0x30,0x0102); //Gamma Control
168 1 LCD_CmdWrite(0x31,0x0707); //Gamma Control
169 1 LCD_CmdWrite(0x32,0x0101); //Gamma Control
170 1 LCD_CmdWrite(0x33,0x0200); //Gamma Control
171 1
172 1 LCD_CmdWrite(0x34,0x0506); //Gamma Control
173 1 LCD_CmdWrite(0x35,0x0707); //Gamma Control
174 1 LCD_CmdWrite(0x36,0x0304); //Gamma Control
175 1 LCD_CmdWrite(0x37,0x0200); //Gamma Control
176 1
177 1 LCD_CmdWrite(0x38,0x1802); //Gamma Control
178 1 LCD_CmdWrite(0x39,0x0800); //Gamma Control
179 1 }
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 4
180
181
182 void LCD_Initial2(void) //initial code 2
183 {
184 1 LCD_CmdWrite(0x40,0x0000);//Gate Scan Position
185 1 LCD_CmdWrite(0x41,0x0000);//
186 1 LCD_CmdWrite(0x42,0xe50a);//Screen Driving Position
187 1 LCD_CmdWrite(0x43,0x0000);//Screen Driving Position
188 1 LCD_CmdWrite(0x44,0xaf00);//Horzontal RAM Address Position:176
189 1 LCD_CmdWrite(0x45,0xe50a);//Vertical Address Position:220
190 1 delay(10);
191 1
192 1 //LCD_CmdWrite(0x61,0x0018);//Oscillator control
193 1 //LCD_CmdWrite(0x69,0x0000);//DC-DC control
194 1 //LCD_CmdWrite(0x70,0x0000);//source period setting
195 1 //LCD_CmdWrite(0x71,0x0000);//gate period setting
196 1 }
197
198
199 void Display_ON(void) //display on
200 {
201 1 LCD_CmdWrite(0x07,0x0014); //GON=0,DTE=0,D[1:0]=01
202 1 delay(2);
203 1 LCD_CmdWrite(0x07,0x0016); //GON=1,DTE=0,D[1:0]=01
204 1 delay(40);
205 1 LCD_CmdWrite(0x07,0x0017); //GON=1,DTE=0,D[1:0]=11
206 1 delay(40);
207 1
208 1 //display on status
209 1 LCD_CmdWrite(0x21,0x0a00); //0000 0000 0000 0000
210 1 LCD_Index(0x22);
211 1 }
212
213 void Display_Off(void) //display off
214 {
215 1 LCD_CmdWrite(0x07,0x0016);
216 1 delay(40);
217 1 LCD_CmdWrite(0x07,0x0000);
218 1 }
219
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -