?? 1602lcd_yd.lst
字號:
129 1 _nop_();
130 1 _nop_();
131 1 _nop_();
132 1 _nop_();
133 1 LCD_EN = 0;
134 1 }
135
136 /*******************************************************************/
137 /*
138 /* 設定顯示位置
139 /*
140 /*******************************************************************/
141
142 void lcd_pos(uchar pos)
143 {
144 1 lcd_wcmd(pos|0x80); //數據指針=80+地址變量
145 1 }
146
147 /*******************************************************************/
148 /*
149 /* LCD初始化設定
150 /*
151 /*******************************************************************/
152
153 void lcd_init()
154 {
155 1 delay(15); //等待LCD電源穩定
156 1 lcd_wcmd(0x38); //16*2顯示,5*7點陣,8位數據
157 1 delay(5);
158 1 lcd_wcmd(0x38);
159 1 delay(5);
160 1 lcd_wcmd(0x38);
161 1 delay(5);
162 1
163 1 lcd_wcmd(0x0c); //顯示開,關光標
164 1 delay(5);
165 1 lcd_wcmd(0x06); //移動光標
166 1 delay(5);
167 1 lcd_wcmd(0x01); //清除LCD的顯示內容
168 1 delay(5);
169 1 }
170
171 /*******************************************************************/
172 /*
173 /* 清屏子程序
174 /*
175 /*******************************************************************/
176
177 void lcd_clr()
178 {
179 1 lcd_wcmd(0x01); //清除LCD的顯示內容
C51 COMPILER V7.50 1602LCD_YD 02/05/2006 15:23:50 PAGE 4
180 1 delay(5);
181 1 }
182
183 /*******************************************************************/
184 /*
185 /* 閃動子程序
186 /*
187 /*******************************************************************/
188
189 void flash()
190 {
191 1 delay(600); //控制停留時間
192 1 lcd_wcmd(0x08); //關閉顯示
193 1 delay(200); //延時
194 1 lcd_wcmd(0x0c); //開顯示
195 1 delay(200);
196 1 lcd_wcmd(0x08); //關閉顯示
197 1 delay(200); //延時
198 1 lcd_wcmd(0x0c); //開顯示
199 1 delay(200);
200 1 }
201
202 /*******************************************************************/
203 /*
204 /* 主程序
205 /*
206 /*******************************************************************/
207
208 main()
209 {
210 1 uchar i,j;
211 1 delay(10);
212 1 lcd_init(); //初始化LCD
213 1
214 1 while(1)
215 1 {
216 2 lcd_clr();
217 2
218 2 lcd_pos(0x10); //設置顯示位置為第一行第17列
219 2 i = 0;
220 2
221 2 while(dis1[i] != '\0')
222 2 { //顯示字符" CHINESE "
223 3 lcd_wdat(dis1[i]);
224 3 i++;
225 3 }
226 2
227 2 lcd_pos(0x50); //設置顯示位置為第二行第17列
228 2 i = 0;
229 2
230 2 while(dis2[i] != '\0')
231 2 {
232 3 lcd_wdat(dis2[i]); //顯示字符" NEW YEAR "
233 3 i++;
234 3 }
235 2
236 2 for(j=0;j<16;j++) //向左移動16格
237 2 {
238 3 lcd_wcmd(0x18); //字符同時左移一格
239 3 delay(100); //控制移動時間
240 3 }
241 2
C51 COMPILER V7.50 1602LCD_YD 02/05/2006 15:23:50 PAGE 5
242 2 flash(); //閃動二次
243 2
244 2 }
245 1 }
246
247
248
249
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 316 ----
CONSTANT SIZE = 34 ----
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 + -