📄 lcm.lst
字号:
C51 COMPILER V7.50 LCM 04/02/2006 23:50:45 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCM
OBJECT MODULE PLACED IN lcm.OBJ
COMPILER INVOKED BY: H:\Program Files\Keil\C51\BIN\C51.EXE lcm.c DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<stdio.h>
3 #include<absacc.h>
4 #include<intrins.h>
5 /**************针脚定义************/
6 sbit RS=P1^0;
7 sbit RW=P1^1;
8 sbit EN=P1^2;
9 sbit DATA=P1^4;
10 sbit CLK=P1^5;
11 sbit CLR=P1^3;
12 /**************函数声明************/
13 void clrlcd(void); //clr LCD
14 void c_send(unsigned char y); //发命令
15 void reset(void); // reset LCD
16 void d_send(unsigned char x); //发数据
17 void pos(unsigned char posx); //设定显示位置
18 void l_delay(unsigned int t); //长延时
19 /**************延时子程序**********************/
20 delay() //延时
21 {
22 1 int i;
23 1 for(i=0;i<30000;i++);
24 1 }
25 /***********************************************/
26 void l_delay(unsigned int t) //延时
27 {
28 1 unsigned int p;
29 1 unsigned int j;
30 1
31 1 for(j=0;j<t;j++)
32 1 {
33 2 for(p=0;p<2000;p++);
34 2 }
35 1 }
36 /***********************************************/
37 void reset(void) // reset LCD
38 {
39 1 delay();
40 1 c_send(0x38);
41 1 c_send(0x01);
42 1 c_send(0x06);
43 1 c_send(0x0c);
44 1 c_send(0x80);
45 1 }
46 /***********************************************/
47 void clrlcd(void) // clr LCD
48 {
49 1 delay();
50 1 c_send(0x01);
51 1
52 1 }
53 /***********************************************/
54 void pos(unsigned char posx,unsigned char posy) //设定显示位置
55 {
C51 COMPILER V7.50 LCM 04/02/2006 23:50:45 PAGE 2
*** WARNING C236 IN LINE 55 OF LCM.C: '_pos': different length of parameter lists
56 1 unsigned char temp;
57 1 temp = posx & 0xf;
58 1 posy &= 0x1;
59 1 if (posy) temp |= 0x40;
60 1 c_send(temp | 0x80);
61 1 }
62 /***********************************************/
63 void c_send(unsigned char y) //发命令
64 {
65 1 unsigned char i;
66 1 EN=1;
67 1 RS=0;
68 1 RW=0;
69 1 for(i=0;i<8;i++)
70 1 {
71 2 if(_crol_(y,i)&0x80)
72 2 DATA=1;
73 2 else
74 2 DATA=0;
75 2 CLK=0;
76 2 CLK=1;
77 2 }
78 1 EN=0;
79 1 delay();
80 1 }
81 /**************************************************/
82 void d_send(unsigned char x) //发数据
83 {
84 1 unsigned char i;
85 1 EN=1;
86 1 RS=1;
87 1 RW=0;
88 1 for(i=0;i<8;i++)
89 1 {
90 2 if(_crol_(x,i)&0x80)
91 2 DATA=1;
92 2 else
93 2 DATA=0;
94 2 CLK=0;
95 2 CLK=1;
96 2 }
97 1 EN=0;
98 1 delay();
99 1 }
100 /***********************************/
101 main()
102 {
103 1 while (1)
104 1 {
105 2 reset();
106 2 pos(0,0);
107 2 d_send('O');
108 2 d_send('h');
109 2 d_send(' ');
110 2 d_send('S');
111 2 d_send('h');
112 2 d_send('i');
113 2 d_send('t');
114 2 d_send('!');
115 2 d_send('!');
116 2 d_send('!');
C51 COMPILER V7.50 LCM 04/02/2006 23:50:45 PAGE 3
117 2 d_send('!');
118 2 delay();
119 2
120 2 }
121 1
122 1 }
123
124
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 251 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -