📄 ks0713.lst
字号:
211 1 for (i = 0;i != 0xff;i++)
212 1 for (j = 0;j != 0xff;j++);
213 1 }
214 /******************************************************************************************
215 * 函数名称 :delay
216 * 功能描述 :
217 * 参数 : 参数名称: 输入/输出? 类型 描述
218 *
219 * 返回值 :
220 * 作者 :
221 * 创建日期 :2006-12-19
222 * 全局变量 :
223 * 全局静态变量:
224 * 局部静态变量:
225 *----------------------------------------修改历史------------------------------------------
226 * 当前版本 : 修改人: 修改日期:
227 * 修改说明 :
228 ******************************************************************************************/
229 void delay(int num)//延时函数
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 5
230 {
231 1 while(num--) ;
232 1 }
233 /******************************************************************************************
234 * 函数名称 :lcdwaitidle
235 * 功能描述 :
236 * 参数 : 参数名称: 输入/输出? 类型 描述
237 *
238 * 返回值 :
239 * 作者 :
240 * 创建日期 :2006-12-19
241 * 全局变量 :
242 * 全局静态变量:
243 * 局部静态变量:
244 *----------------------------------------修改历史------------------------------------------
245 * 当前版本 : 修改人: 修改日期:
246 * 修改说明 :
247 ******************************************************************************************/
248 void lcdwaitidle(void)
249 {
250 1 P0 = 0xff;
251 1 LCD_A0 = 0;
252 1 LCD_CS = 0;
253 1 LCD_RD = 0;
254 1 while((P0&0x80)==0x80);
255 1 LCD_RD = 1;
256 1 LCD_CS = 1;
257 1 }
258 /******************************************************************************************
259 * 函数名称 :lcdwrcommand
260 * 功能描述 :
261 * 参数 : 参数名称: 输入/输出? 类型 描述
262 *
263 * 返回值 :
264 * 作者 :
265 * 创建日期 :2006-12-19
266 * 全局变量 :
267 * 全局静态变量:
268 * 局部静态变量:
269 *----------------------------------------修改历史------------------------------------------
270 * 当前版本 : 修改人: 修改日期:
271 * 修改说明 :
272 ******************************************************************************************/
273 void lcdwrcommand(uchar cmdcode)
274 {
275 1 lcdwaitidle();
276 1 P0 = cmdcode;
277 1 LCD_A0 = 0;
278 1 _nop_();
279 1 _nop_();
280 1 _nop_();
281 1 _nop_();
282 1 _nop_();
283 1 LCD_CS = 0;
284 1 LCD_WR = 0;
285 1 _nop_();
286 1 _nop_();
287 1 _nop_();
288 1 _nop_();
289 1 _nop_();
290 1 LCD_WR = 1;
291 1 LCD_CS = 1;
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 6
292 1 }
293
294 /******************************************************************************************
295 * 函数名称 :lcdwrdata
296 * 功能描述 :
297 * 参数 : 参数名称: 输入/输出? 类型 描述
298 *
299 * 返回值 :
300 * 作者 :
301 * 创建日期 :2006-12-19
302 * 全局变量 :
303 * 全局静态变量:
304 * 局部静态变量:
305 *----------------------------------------修改历史------------------------------------------
306 * 当前版本 : 修改人: 修改日期:
307 * 修改说明 :
308 ******************************************************************************************/
309 void lcdwrdata(uchar dispdata)
310 {
311 1 lcdwaitidle();
312 1 P0 = dispdata;
313 1 LCD_A0 = 1;
314 1 _nop_();
315 1 _nop_();
316 1 _nop_();
317 1 _nop_();
318 1 _nop_();
319 1 LCD_CS = 0;
320 1 LCD_WR = 0;
321 1 _nop_();
322 1 _nop_();
323 1 _nop_();
324 1 _nop_();
325 1 _nop_();
326 1 LCD_WR = 1;
327 1 LCD_CS = 1;
328 1 }
329
330 /******************************************************************************************
331 * 函数名称 :lcdclear
332 * 功能描述 :清屏
333 * 参数 : 参数名称: 输入/输出? 类型 描述
334 *
335 * 返回值 :
336 * 作者 :
337 * 创建日期 :2006-12-19
338 * 全局变量 :
339 * 全局静态变量:
340 * 局部静态变量:
341 *----------------------------------------修改历史------------------------------------------
342 * 当前版本 : 修改人: 修改日期:
343 * 修改说明 :
344 ******************************************************************************************/
345 void lcdclear(uchar dat1,uchar dat2)/*写测试数据到LCD全屏*/
346 {
347 1 uchar i,j;
348 1 for(i = 0xb0;i<0xb8;i++)
349 1 {
350 2 lcdwrcommand(i); //写页地址
351 2 lcdwrcommand(0x10); //写初始列地址
352 2 lcdwrcommand(0x02);
353 2 for(j = 0x00;j<0x41;j++)
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 7
354 2 {
355 3 lcdwrdata(dat1); //写显示数据
356 3 lcdwrdata(dat2);
357 3 }
358 2 }
359 1 }
360 /******************************************************************************************
361 * 函数名称 :initlcm
362 * 功能描述 :初始化液晶
363 * 参数 : 参数名称: 输入/输出? 类型 描述
364 *
365 * 返回值 :
366 * 作者 :
367 * 创建日期 :2006-12-19
368 * 全局变量 :
369 * 全局静态变量:
370 * 局部静态变量:
371 *----------------------------------------修改历史------------------------------------------
372 * 当前版本 : 修改人: 修改日期:
373 * 修改说明 :
374 ******************************************************************************************/
375 void initlcm(void)
376 {
377 1 LCD_RST = 0; //硬复位
378 1 delay1();
379 1 LCD_RST = 1;
380 1 lcdwrcommand(0xe2); /*软件复位*/
381 1 delay1();
382 1 lcdwrcommand(0xa2); /*LCD BIAS=1/9*/
383 1 lcdwrcommand(0xa0); /*列地址移动方向:ADC=0(SEG1->SEG132)*/
384 1 lcdwrcommand(0xc8); /*行扫描方向:SHL=1(COM64->COM1)*/
385 1 delay1();
386 1 // lcdwrcommand(0xa3); //设定LCD占空比为1/9
387 1
388 1 lcdwrcommand(0x2f); /*电源控制模式:VC,VR,VF=111*/
389 1 delay1();
390 1 lcdwrcommand(0x26); /*内部调整电阻比率:R2,R1,R0=111*/
391 1 delay1();
392 1 lcdwrcommand(0x81); /*对比度寄存器模式*/
393 1 lcdwrcommand(0x16); /*对比度寄存器值 修改这个值就可以调节对比度了 */
394 1 lcdwrcommand(0x40); /*起始行*/
395 1 lcdwrcommand(0xe0); /*写入数据时列地址自动加1,但读时不变*/
396 1 lcdwrcommand(0xaf); /*开显示*/
397 1
398 1 }
399 /******************************************************************************************
400 * 函数名称 :dishz
401 * 功能描述 :显示汉字
402 * 参数 : 参数名称: 输入/输出? 类型 描述
403 * x_add 页地址 y_add 列地址 *p 字模数据地址
404 * 返回值 :
405 * 作者 :
406 * 创建日期 :2006-12-19
407 * 全局变量 :
408 * 全局静态变量:
409 * 局部静态变量:
410 *----------------------------------------修改历史------------------------------------------
411 * 当前版本 : 修改人: 修改日期:
412 * 修改说明 :
413 ******************************************************************************************/
414 void dishz(uchar x_add,uchar y_add,uchar code *p)
415 {
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 8
416 1 uchar i,pag,colh,coll;
417 1 pag = x_add*2+0xb0;
418 1 colh = y_add>>4; //取y_add的高4位
419 1 colh = colh | 0xf0;
420 1 colh = colh & 0x1f;
421 1 coll = y_add & 0x0f; //取y_add的低4位
422 1 lcdwrcommand(colh);
423 1 lcdwrcommand(coll);
424 1 lcdwrcommand(pag);
425 1 for (i=0;i<32;i++)
426 1 {
427 2 if (i == 16)
428 2 {
429 3 lcdwrcommand(pag+1);
430 3 lcdwrcommand(colh);
431 3 lcdwrcommand(coll);
432 3 }
433 2 lcdwrdata(*p++);
434 2 }
435 1 }
436
437 /******************************************************************************************
438 * 函数名称 :dispdigit
439 * 功能描述 :显示字符
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -