📄 1602shiyan.lst
字号:
C51 COMPILER V6.12 1602SHIYAN 12/01/2007 10:15:08 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE 1602SHIYAN
OBJECT MODULE PLACED IN .\1602shiyan.OBJ
COMPILER INVOKED BY: D:\Program Files\C51\BIN\C51.EXE .\1602shiyan.c DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #include<intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 void delay_nms(int);
7 bit LCD_busy();
8 void LCD_write_cmdata(uchar);
9 void LCD_write_wodata(uchar);
10 void LCD_Init();
11
12 sbit LCD_RS=P1^2;
13 sbit LCD_RW=P1^1;
14 sbit LCD_EA=P1^0;
15 sbit LCD_BF=P0^7;
16
17
18 uchar dis1[]={" WELCOME TO "};
19 uchar dis2[]={" wo de cheng xu "};
20 uchar dis3[]={" WELCOME TO "};
21 uchar dis4[]={"zz zhang ke zhi!"};
22
23 void delay_nms(int ms)
24 {
25 1 uchar i;
26 1 while(ms--)
27 1 {
28 2 for(i=0;i<250;i++)
29 2 {
30 3 _nop_();
31 3 _nop_();
32 3 _nop_();
33 3 _nop_();
34 3 }
35 2 }
36 1 }
37
38
39 bit LCD_busy()
40 {
41 1
42 1 bit flag;
43 1 LCD_RS=0;
44 1 LCD_RW=1;
45 1 LCD_EA=1;
46 1
47 1
48 1 if(LCD_BF==1)
49 1 flag=1;
50 1 else
51 1 flag=0;
52 1 LCD_EA=0;
53 1 return flag;
54 1
55 1 }
C51 COMPILER V6.12 1602SHIYAN 12/01/2007 10:15:08 PAGE 2
56
57
58 void LCD_write_cmdata(uchar cmdata)
59 {
60 1 while(LCD_busy());
61 1 LCD_RS=0;
62 1 LCD_RW=0;
63 1 LCD_EA=0;
64 1
65 1
66 1 P0=cmdata;
67 1
68 1
69 1 LCD_EA=1;
70 1
71 1
72 1 LCD_EA=0;
73 1 }
74
75 void LCD_write_wodata(uchar wodata)
76 {
77 1 while(LCD_busy());
78 1 LCD_RS=1;
79 1 LCD_RW=0;
80 1 LCD_EA=0;
81 1
82 1
83 1 P0=wodata;
84 1
85 1
86 1 LCD_EA=1;
87 1
88 1 ;
89 1 LCD_EA=0;
90 1 }
91
92 void LCD_Init()
93 {
94 1
95 1 LCD_write_cmdata(0x3c);
96 1 delay_nms(1);
97 1 LCD_write_cmdata(0x0e);
98 1
99 1 delay_nms(1);
100 1 LCD_write_cmdata(0x06);
101 1 delay_nms(1);
102 1
103 1
104 1 }
105
106
107
108 void main()
109 {
110 1 uchar m;
111 1
112 1
113 1 LCD_Init();
114 1 delay_nms(10);
115 1
116 1 while(1)
117 1 {
C51 COMPILER V6.12 1602SHIYAN 12/01/2007 10:15:08 PAGE 3
118 2
119 2 LCD_write_cmdata(0x80);
120 2 m=0;
121 2
122 2 while(dis1[m]!='\0')
123 2 {
124 3 LCD_write_wodata(dis1[m]);
125 3 m++;
126 3 delay_nms(30);
127 3 }
128 2
129 2
130 2 LCD_write_cmdata(0xc0);
131 2 m=0;
132 2
133 2 while(dis2[m]!='\0')
134 2 {
135 3 LCD_write_wodata(dis2[m]);
136 3 m++;
137 3 delay_nms(30);
138 3 }
139 2
140 2 delay_nms(100);
141 2
142 2
143 2 delay_nms(30);
144 2 LCD_write_cmdata(0x01);//
145 2
146 2 LCD_write_cmdata(0x80);
147 2 m=0;
148 2
149 2 while(dis3[m]!='\0')
150 2 {
151 3 LCD_write_wodata(dis3[m]);
152 3 m++;
153 3 delay_nms(30);
154 3 }
155 2
156 2
157 2 LCD_write_cmdata(0xc0);
158 2 m=0;
159 2
160 2 while(dis4[m]!='\0')
161 2 {
162 3 LCD_write_wodata(dis4[m]);
163 3 m++;
164 3 delay_nms(30);
165 3 }
166 2
167 2 delay_nms(100);
168 2
169 2 LCD_write_cmdata(0x01);//
170 2 delay_nms(100);
171 2
172 2 }
173 1 }
174
175
176
177
178
179
C51 COMPILER V6.12 1602SHIYAN 12/01/2007 10:15:08 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 262 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 68 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -