📄 st7920
字号:
208 3 wr_lcd(comm,0x30);
209 3 wr_lcd(dat,data1);
210 3 wr_lcd(dat,data2);
211 3 }
212 2 }
213 1 wr_lcd(comm,0x36);
214 1 }
215
216 /******************************************************************************************
217 * 函数名称 :cur_disp
218 * 功能描述 :
219 * 参数 : 参数名称: 输入/输出? 类型 描述
220 * //当data1=0xff,data2=0x00时,在x0,y0处显示前半光标.
221 * //当data1=0x00,data2=0xff时,在x0,y0处显示后半光标.
222 * //当data1=0x00,data2=0x00时,在x0,y0处不显示光标.
223 * //y0=0x8f or y0=0x9f.
224 * 返回值 :
225 * 作者 :
226 * 创建日期 :2006-12-19
227 * 全局变量 :
228 * 全局静态变量:
229 * 局部静态变量:
230 *----------------------------------------修改历史------------------------------------------
231 * 当前版本 : 修改人: 修改日期:
232 * 修改说明 :
233 ******************************************************************************************/
234 void cur_disp(uchar data1,uchar data2,uchar x0,uchar y0)
235 {
236 1 wr_lcd(comm,0x34);
237 1 wr_lcd(comm,y0);
238 1 wr_lcd(comm,x0);
239 1 wr_lcd(comm,0x30);
240 1 wr_lcd(dat,data1);
241 1 wr_lcd(dat,data2);
C51 COMPILER V7.50 ST7920并行反白与光标 07/24/2007 11:24:50 PAGE 5
242 1 wr_lcd(comm,0x36);
243 1 }
244
245 /******************************************************************************************
246 * 函数名称 :clrram
247 * 功能描述 : 清DDRAM
248 * 参数 : 参数名称: 输入/输出? 类型 描述
249 *
250 * 返回值 :
251 * 作者 :
252 * 创建日期 :2006-12-19
253 * 全局变量 :
254 * 全局静态变量:
255 * 局部静态变量:
256 *----------------------------------------修改历史------------------------------------------
257 * 当前版本 : 修改人: 修改日期:
258 * 修改说明 :
259 ******************************************************************************************/
260 void clrram(void)
261 {
262 1 wr_lcd(comm,0x30);
263 1 wr_lcd(comm,0x01);
264 1 }
265
266 /******************************************************************************************
267 * 函数名称 :wr_lcd
268 * 功能描述 :
269 * 参数 : 参数名称: 输入/输出? 类型 描述
270 *
271 * 返回值 :
272 * 作者 :
273 * 创建日期 :2006-12-19
274 * 全局变量 :
275 * 全局静态变量:
276 * 局部静态变量:
277 *----------------------------------------修改历史------------------------------------------
278 * 当前版本 : 修改人: 修改日期:
279 * 修改说明 :
280 ******************************************************************************************/
281 void wr_lcd(uchar dat_comm,uchar content)
282 {
283 1 chk_busy();
284 1 if(dat_comm)
285 1 {
286 2 rs=1; //data
287 2 rw=0; //write
288 2 }
289 1 else
290 1 {
291 2 rs=0; //command
292 2 rw=0; //write
293 2 }
294 1 P0=content; //output data or comm
295 1 e=1;
296 1 ;
297 1 e=0;
298 1 }
299 /******************************************************************************************
300 * 函数名称 :chk_busy
301 * 功能描述 :
302 * 参数 : 参数名称: 输入/输出? 类型 描述
303 *
C51 COMPILER V7.50 ST7920并行反白与光标 07/24/2007 11:24:50 PAGE 6
304 * 返回值 :
305 * 作者 :
306 * 创建日期 :2006-12-19
307 * 全局变量 :
308 * 全局静态变量:
309 * 局部静态变量:
310 *----------------------------------------修改历史------------------------------------------
311 * 当前版本 : 修改人: 修改日期:
312 * 修改说明 :
313 ******************************************************************************************/
314 void chk_busy(void)
315 {
316 1 P0=0xff;
317 1 rs=0;
318 1 rw=1;
319 1 e =1;
320 1 while(busy==1);
321 1 e =0;
322 1 }
323 /******************************************************************************************
324 * 函数名称 :
325 * 功能描述 :
326 * 参数 : 参数名称: 输入/输出? 类型 描述
327 *
328 * 返回值 :
329 * 作者 :
330 * 创建日期 :2006-12-19
331 * 全局变量 :
332 * 全局静态变量:
333 * 局部静态变量:
334 *----------------------------------------修改历史------------------------------------------
335 * 当前版本 : 修改人: 修改日期:
336 * 修改说明 :
337 ******************************************************************************************/
338 void delay(uint us) //delay time
339 {
340 1 while(us--);
341 1 }
342 /******************************************************************************************
343 * 函数名称 :
344 * 功能描述 :
345 * 参数 : 参数名称: 输入/输出? 类型 描述
346 *
347 * 返回值 :
348 * 作者 :
349 * 创建日期 :2006-12-19
350 * 全局变量 :
351 * 全局静态变量:
352 * 局部静态变量:
353 *----------------------------------------修改历史------------------------------------------
354 * 当前版本 : 修改人: 修改日期:
355 * 修改说明 :
356 ******************************************************************************************/
357 void delay1(uint ms)
358 {
359 1 uint i,j;
360 1 for(i=0;i<ms;i++)
361 1 for(j=0;j<15;j++)
362 1 delay(1);
363 1 }
364
365 /******************************************************************************************
C51 COMPILER V7.50 ST7920并行反白与光标 07/24/2007 11:24:50 PAGE 7
366 * 函数名称 :
367 * 功能描述 :
368 * 参数 : 参数名称: 输入/输出? 类型 描述
369 *
370 * 返回值 :
371 * 作者 :
372 * 创建日期 :2006-12-19
373 * 全局变量 :
374 * 全局静态变量:
375 * 局部静态变量:
376 *----------------------------------------修改历史------------------------------------------
377 * 当前版本 : 修改人: 修改日期:
378 * 修改说明 :
379 ******************************************************************************************/
380 void main()
381 {
382 1 uchar i;
383 1 init_lcd();
384 1 while(1)
385 1 {
386 2 lat_disp(0x00,0x00);
387 2 chn_disp(tab2);
388 2 for(i=0;i<8;i++)
389 2 {
390 3 cur_disp(0xff,0x00,0x88+i,0x8f);
391 3 delay1(2000);
392 3 cur_disp(0x00,0x00,0x88+i,0x8f);
393 3 cur_disp(0x00,0xff,0x88+i,0x8f);
394 3 delay1(2000);
395 3 cur_disp(0x00,0x00,0x88+i,0x8f);
396 3 }
397 2 for(i=0;i<8;i++)
398 2 {
399 3 cur_disp(0xff,0x00,0x88+i,0x9f);
400 3 delay1 (2000);
401 3 cur_disp(0x00,0x00,0x88+i,0x9f);
402 3 cur_disp(0x00,0xff,0x88+i,0x9f);
403 3 delay1(2000);
404 3 cur_disp(0x00,0x00,0x88+i,0x9f);
405 3 }
406 2 }
407 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 911 ----
CONSTANT SIZE = 130 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 31
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -