📄 ydlcd.lst
字号:
122 1 }
123
124 /*******************************************************************/
125 /*
126 /* 设定显示位置
127 /*
128 /*******************************************************************/
129
130 void lcd_pos(uchar pos)
131 {
132 1 lcd_wcmd(pos|0x80); //数据指针=80+地址变量
133 1 }
134
135 /*******************************************************************/
136 /*
137 /* LCD初始化设定
138 /*
139 /*******************************************************************/
140
141 void lcd_init()
142 {
143 1 delay(15); //等待LCD电源稳定
144 1 lcd_wcmd(0x38); //16*2显示,5*7点阵,8位数据
145 1 delay(5);
146 1 lcd_wcmd(0x38);
147 1 delay(5);
148 1 lcd_wcmd(0x38);
149 1 delay(5);
150 1
151 1 lcd_wcmd(0x0c); //显示开,关光标
152 1 delay(5);
153 1 lcd_wcmd(0x06); //移动光标
154 1 delay(5);
155 1 lcd_wcmd(0x01); //清除LCD的显示内容
156 1 delay(5);
157 1 }
158
159 /*******************************************************************/
160 /*
161 /* 清屏子程序
162 /*
163 /*******************************************************************/
164
165 void lcd_clr()
166 {
167 1 lcd_wcmd(0x01); //清除LCD的显示内容
168 1 delay(5);
169 1 }
170
171 /*******************************************************************/
172 /*
173 /* 闪动子程序
174 /*
175 /*******************************************************************/
176
177 void flash()
178 {
C51 COMPILER V7.10 YDLCD 03/29/2009 20:15:57 PAGE 4
179 1 delay(600); //控制停留时间
180 1 lcd_wcmd(0x08); //关闭显示
181 1 delay(200); //延时
182 1 lcd_wcmd(0x0c); //开显示
183 1 delay(200);
184 1 lcd_wcmd(0x08); //关闭显示
185 1 delay(200); //延时
186 1 lcd_wcmd(0x0c); //开显示
187 1 delay(200);
188 1 }
189
190 /*******************************************************************/
191 /*
192 /* 主程序
193 /*
194 /*******************************************************************/
195
196 main()
197 {
198 1 uchar i,j;
199 1 delay(10);
200 1 lcd_init(); //初始化LCD
201 1
202 1 while(1)
203 1 {
204 2 lcd_clr();
205 2
206 2 lcd_pos(0x10); //设置显示位置为第一行第17列
207 2 i = 0;
208 2
209 2 while(dis1[i] != '\0')
210 2 { //显示字符" "
211 3 lcd_wdat(dis1[i]);
212 3 i++;
213 3 }
214 2
215 2 lcd_pos(0x50); //设置显示位置为第二行第17列
216 2 i = 0;
217 2
218 2 while(dis2[i] != '\0')
219 2 {
220 3 lcd_wdat(dis2[i]); //显示字符" "
221 3 i++;
222 3 }
223 2
224 2 for(j=0;j<16;j++) //向左移动16格
225 2 {
226 3 lcd_wcmd(0x18); //字符同时左移一格
227 3 delay(100); //控制移动时间
228 3 }
229 2
230 2 flash(); //闪动二次
231 2
232 2 }
233 1 }
234
235
236
237
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.10 YDLCD 03/29/2009 20:15:57 PAGE 5
CODE SIZE = 316 ----
CONSTANT SIZE = 29 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -