📄 lcm1602.lst
字号:
C51 COMPILER V8.02 LCM1602 05/15/2008 14:07:46 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LCM1602
OBJECT MODULE PLACED IN LCM1602.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE LCM1602.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <intrins.h>
2 #include <reg52.h>
3
4 sbit RSPIN = P1^0; //LCM1602接口线定义
5 sbit RWPIN = P1^1;
6 sbit EPIN = P1^2;
7
8 unsigned char XPOS,YPOS;
9
10 void delay1(unsigned int t)
11 { unsigned int i,j;
12 1 for(i=0;i<t;i++)
13 1 for(j=0;j<10;j++)
14 1 ;
15 1 }
16
17 void lcdwaitidle(void)
18 { P0=0xff;
19 1 RSPIN=0;
20 1 RWPIN=1;
21 1 EPIN=1;
22 1 while((P0&0x80)==0x80);
23 1 EPIN=0;
24 1 }
25
26 void lcdwcn(unsigned char c)
27 { RSPIN=0;
28 1 RWPIN=0;
29 1 P0=c;
30 1 EPIN=1;
31 1 _nop_();
32 1 EPIN=0;
33 1 }
34
35 void lcdwc(unsigned char c)
36 { lcdwaitidle();
37 1 lcdwcn(c);
38 1 }
39
40 void lcdwd(unsigned char d)
41 { lcdwaitidle();
42 1 RSPIN=1;
43 1 RWPIN=0;
44 1 P0=d;
45 1 EPIN=1;
46 1 _nop_();
47 1 EPIN=0;
48 1 }
49
50 void lcdpos(void)
51 { XPOS&=0x0f;
52 1 YPOS&=0x03;
53 1 if(YPOS==0x00)
54 1 lcdwc(XPOS|0x80);
55 1 else if(YPOS==0x01)
C51 COMPILER V8.02 LCM1602 05/15/2008 14:07:46 PAGE 2
56 1 lcdwc((XPOS+0x40)|0x80);
57 1 }
58
59 void lcdreset()
60 { delay1(150); lcdwcn(0x38);
61 1 delay1(50); lcdwcn(0x38);
62 1 delay1(50); lcdwcn(0x38);
63 1 lcdwc(0x38);
64 1 lcdwc(0x08);
65 1 lcdwc(0x01);
66 1 lcdwc(0x06);
67 1 lcdwc(0x0c);
68 1 }
69
70 void lcdfill(unsigned char n)
71 {
72 1 for(YPOS=0;YPOS<2;YPOS++)
73 1 for(XPOS=0;XPOS<16;XPOS++)
74 1 { lcdpos();
75 2 lcdwd(n); }
76 1 }
77
78 void lcdchar(unsigned char x,unsigned char y,unsigned char ch)
79 {
80 1 XPOS=x; YPOS=y;
81 1 lcdpos();
82 1 lcdwd(ch);
83 1 }
84
85 void lcdwda(unsigned char x,unsigned char y,unsigned char *s)
86 { YPOS=y;
87 1 for(XPOS=x;XPOS<16;XPOS++)
88 1 { lcdpos();
89 2 if (*s=='\0') return;
90 2 lcdwd(*s);
91 2 s++;
92 2 delay1(1);//400);
93 2 }
94 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 264 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 3
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 + -