📄 sc52x+
字号:
168 1
169 1 //ST7735R Power Sequence
170 1 write_command(0xC0);//功率控制1
171 1 write_data(0xA2); write_data(0x02); write_data(0x84);
172 1 write_command(0xC1); write_data(0xC5); //功率控制2
173 1 write_command(0xC2); //功率控制3 (正常模式/全彩)
174 1 write_data(0x06); write_data(0x00);
175 1 write_command(0xC3);//控制功率4在空闲模式
176 1 write_data(0x8A); write_data(0x2A);
177 1 write_command(0xC4);//功率控制5在部分模式/全彩
178 1 write_data(0x8A); write_data(0xEE);
C51 COMPILER V6.12 ST7735 08/09/2012 16:09:15 PAGE 4
179 1
180 1 write_command(0xC5); //VCOM 控制11
181 1 write_data(0x0E);
182 1
183 1 write_command(0x36); //MX, MY, RGB mode
184 1 write_data(0xC8);
185 1
186 1 //ST7735R Gamma Sequence +伽码校正特性设置
187 1 write_command(0xe0);
188 1 write_data(0x0f); write_data(0x1a);
189 1 write_data(0x0f); write_data(0x18);
190 1 write_data(0x2f); write_data(0x28);
191 1 write_data(0x20); write_data(0x22);
192 1 write_data(0x1f); write_data(0x1b);
193 1 write_data(0x23); write_data(0x37); write_data(0x00);
194 1
195 1 write_data(0x07);
196 1 write_data(0x02); write_data(0x10);
197 1 write_command(0xe1);//-伽码校正特性设置
198 1 write_data(0x0f); write_data(0x1b);
199 1 write_data(0x0f); write_data(0x17);
200 1 write_data(0x33); write_data(0x2c);
201 1 write_data(0x29); write_data(0x2e);
202 1 write_data(0x30); write_data(0x30);
203 1 write_data(0x39); write_data(0x3f);
204 1 write_data(0x00); write_data(0x07);
205 1 write_data(0x03); write_data(0x10);
206 1
207 1 write_command(0x2a);//列地址设置
208 1 write_data(0x00);write_data(0x00);
209 1 write_data(0x00);write_data(0x7f);
210 1 write_command(0x2b);//行地址设置
211 1 write_data(0x00);write_data(0x00);
212 1 write_data(0x00);write_data(0x9f);
213 1
214 1 write_command(0xF0); //Enable test command 使能测试命令
215 1 write_data(0x01);
216 1 write_command(0xF6); //Disable ram power save mode
217 1 write_data(0x00);
218 1
219 1 write_command(0x3A); //65k mode 接口像素格式
220 1 write_data(0x05); //18-bit/pixel
221 1
222 1
223 1 write_command(0x29);//Display on
224 1
225 1
226 1 }
227
228 //存储器地址设置
229 /***********************************************************************************
230 ***********************************************************************************
231 **********************************************************************************/
232
233 void RamAdressSet()
234 {
235 1 write_command(0x2A);
236 1 write_data(0x00);
237 1 write_data(0x00);
238 1 write_data(0x00);
239 1 write_data(0x7f);
240 1
C51 COMPILER V6.12 ST7735 08/09/2012 16:09:15 PAGE 5
241 1 write_command(0x2B);
242 1 write_data(0x00);
243 1 write_data(0x00);
244 1 write_data(0x00);
245 1 write_data(0x9f);
246 1 }
247
248
249 //刷屏函数
250 /***********************************************************************************
251 ***********************************************************************************
252 **********************************************************************************/
253 void dsp_single_colour(DH,DL)
254 {
255 1 uchar i,j;
256 1 //RamAdressSet();
257 1 for (i=0;i<160;i++)
258 1 for (j=0;j<128;j++)
259 1 LCD_DataWrite(DH,DL);
260 1
261 1 }
262
263
264 //图片驱动函数
265 /***********************************************************************************
266 ***********************************************************************************
267 **********************************************************************************/
268
269 void test_picture(uchar *map)
270 {
271 1 int i,j;
272 1 RamAdressSet();
273 1 for(i=0;i<76;i++)
274 1 for(j=0;j<96;j++)
275 1
276 1 LCD_DataWrite(map[192*i+j*2],map[192*i+j*2+1]);
277 1 }
278
279
280 //图片显示函数
281 /*****************************************************************
282 *****************************************************************
283 *****************************************************************/
284
285 void show_pic()
286 {
287 1 int i,j,k;
288 1 unsigned char picH,picL;
289 1
290 1 //areaset();
291 1
292 1 //for(n=0;n<4;n++)
293 1 { k=0;
294 2 for(i=0;i<128;i++)
295 2 for(j=0;j<160;j++)
296 2 {
297 3 picH=picture1[k];
298 3 k++;
299 3 picL=picture1[k];
300 3 k++;
301 3 LCD_DataWrite(picH,picL);
302 3 }
C51 COMPILER V6.12 ST7735 08/09/2012 16:09:15 PAGE 6
303 2
304 2 }
305 1 }
306
307
308 //主函数
309 /*****************************************************************
310 *****************************************************************
311 *****************************************************************/
312 main()
313 {
314 1 P0=0XFF;
315 1 WM=DM2=LSD=DZ=0;
316 1
317 1 lcd_initial();
318 1
319 1 while(1)
320 1 {
321 2 write_command(0x2C);
322 2
323 2
324 2 show_pic();
325 2
326 2
327 2 }
328 1 }
329
330 //图片取模
331 /***********************************************************************************
332 ***********************************************************************************
333 **********************************************************************************/
334
335 unsigned char code picture1 []=
336 {
337 0xCE,0xD9,0xD6,0xF9,0xD6,0xFA,0xDF,0x1A,0xDF,0x1A,0xD7,0x1A,0xD7,0x1A,0xD7,0x1A,0xD6,0xFA,0xD7,0x1B,0xDF,0
-x3B,0xDF,0x3B,0xDF,0x3B,0xDF,0x3B,0xDF,0x5B,0xDF,0x5B,
338 0xE7,0x7C,0xE7,0x7C,0xE7,0x9C,0xEF,0x9D,0xEF,0xBD,0xF7,0xBE,0xF7,0xDE,0xF7,0xDE,0xEF,0x7D,0xBE,0x18,0xBE,0
-x38,0xB6,0x17,0xD6,0xFB,0xEF,0xBD,0xEF,0x9C,0xEF,0xBD,
339 0xEF,0xBC,0xEF,0xBC,0xEF,0x9C,0xE7,0x9C,0xEF,0x9C,0xEF,0xBD,0xEF,0xBD,0xEF,0x9C,0xEF,0x9C,0xEF,0xBC,0xEF,0
-xDD,0xEF,0xBC,0xE7,0x7C,0xEF,0x9D,0xF7,0xBD,0xF7,0x7C,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -