📄 sed.lst
字号:
192 {0x00,0x00,0x1c,0x22,0x41,0x00},/*(*/
193
194 {0x00,0x00,0x41,0x22,0x1c,0x00},/*)*/
195
196 {0x00,0x40,0x40,0x40,0x40,0x40},/*_*/
197
198 {0x00,0x08,0x08,0x3e,0x08,0x08},/*+*/
199
200 {0x00,0x00,0x00,0x7e,0x00,0x00},/*|*/
201
202 {0x00,0x00,0x7f,0x41,0x41,0x00},/*[*/
203
204 {0x00,0x00,0x41,0x41,0x7f,0x00},/*]*/
205
206 {0x00,0x00,0x56,0x36,0x00,0x00},/*;*/
207
208 {0x00,0x00,0x00,0x05,0x03,0x00},/*'*/
209
210 {0x00,0x00,0x00,0x28,0x18,0x00},/*,*/
211
212 {0x00,0x00,0x00,0x60,0x60,0x00},/*.*/
213
214 {0x00,0x20,0x10,0x08,0x04,0x02},/*//*/
215
216 {0x00,0x00,0x08,0x36,0x41,0x00},/*{*/
217
218 {0x00,0x00,0x41,0x36,0x08,0x00},/*}*/
219
220 {0x00,0x00,0x36,0x36,0x00,0x00},/*:*/
221
222 {0x00,0x00,0x00,0x07,0x00,0x07},/*"*/
223
224 {0x00,0x08,0x14,0x22,0x41,0x00},/*<*/
225
226 {0x00,0x00,0x41,0x22,0x14,0x08},/*>*/
227
228 {0x00,0x02,0x01,0x51,0x09,0x06}/*?*/
229 };
230
231
232 void LCD_Command(unsigned char nCommand)
233 {
234 1 unsigned char i;
235 1 A0=0;
236 1 RW=0;
237 1 E1=1;
238 1 DATA=nCommand;
239 1 i=TIME;
240 1 while(--i);
241 1 E1=0;
C51 COMPILER V8.08 SED 08/19/2008 15:03:16 PAGE 5
242 1 i=TIME;
243 1 while(--i);
244 1
245 1 A0=0;
246 1 RW=0;
247 1 E2=1;
248 1 DATA=nCommand;
249 1 i=TIME;
250 1 while(--i);
251 1 E2=0;
252 1 i=TIME;
253 1 while(--i);
254 1 }
255
256 void LCD_SetRam(bit bChip2,unsigned char ndata)
257 {
258 1 unsigned char i;
259 1 A0=1;
260 1 RW=0;
261 1 if(!bChip2)
262 1 {
263 2 E1=1;
264 2 DATA=ndata;
265 2 i=TIME;
266 2 while(--i);
267 2 E1=0;
268 2 i=TIME;
269 2 while(--i);
270 2 }
271 1 else
272 1 {
273 2 E2=1;
274 2 DATA=ndata;
275 2 i=TIME;
276 2 while(--i);
277 2 E2=0;
278 2 i=TIME;
279 2 while(--i);
280 2 }
281 1 }
282
283 void LCD_Write(unsigned char npage,unsigned char ncolumn,unsigned char ndata)
284 {
285 1 LCD_SetPage(npage%4);
286 1 LCD_SetColumn(ncolumn);
287 1 LCD_SetRam(npage>3,ndata);
288 1
289 1 }
290
291 void LCD_PageWrite(unsigned char npage,unsigned char idata *ndata)
292 {
293 1 unsigned char i;
294 1 bit bChip2=npage>3;
295 1 LCD_SetPage(npage%4);
296 1 LCD_SetColumn(0);
297 1 for(i=0;i<61;i++)
298 1 LCD_SetRam(bChip2,ndata[i]);
299 1 }
300
301 void LCD_Init()
302 {
303 1 LCD_Command(LCD_RESET);
C51 COMPILER V8.08 SED 08/19/2008 15:03:16 PAGE 6
304 1 LCD_Command(0xa0);
305 1 LCD_Command(LCD_DUTY32);
306 1 LCD_Command(0xa4);
307 1 }
308
309
310 unsigned char *GetTextFont(unsigned char index)
311 {
312 1 static unsigned char Font[6];
313 1 unsigned char i;
314 1 for(i=0;i<6;i++)
315 1 Font[i]=ASCII[index][i];
316 1 return Font;
317 1 }
318
319 /*
320 x:0~19
321 y:0~3
322 */
323 void LCD_TextOut(unsigned char x,unsigned char y,unsigned char *szText)
324 {
325 1 unsigned char i;
326 1 bit bChip2;
327 1 x%=20;
328 1 y%=4;
329 1 if(x>=10)
330 1 {
331 2 x-=10;
332 2 y+=4;
333 2 }
334 1 bChip2=y>3;
335 1 LCD_SetPage(y%4);
336 1 LCD_SetColumn(x*6);
337 1 for(i=0;i<6;i++) LCD_SetRam(bChip2,szText[i]);
338 1 }
339
340
341 unsigned char GetIndex(unsigned char szText)
342 {
343 1 unsigned char code TAB[]={' ',
344 1
345 1 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q'
346 1 ,'R','S','T','U','V','W','X','Y','Z',
347 1
348 1 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q'
349 1 ,'r','s','t','u','v','w','x','y','z',
350 1
351 1 '`','1','2','3','4','5','6','7','8','9','0','-','=','\\',
352 1
353 1 '~','!','@','#','$','%','^','&','*','(',')','_','+','|',
354 1
355 1 '[',']',';','\'',',','.','/',
356 1
357 1 '{','}',':','"','<','>','?'
358 1
359 1 };
360 1 unsigned char i;
361 1 for(i=0;i<sizeof(TAB);i++)
362 1 if(szText==TAB[i]) return i;
363 1 return 0x00;
364 1 }
365
C51 COMPILER V8.08 SED 08/19/2008 15:03:16 PAGE 7
366 void Printf(unsigned char x,unsigned char y,unsigned char *szText)
367 {
368 1 unsigned char *Text;
369 1 while(*szText)
370 1 {
371 2 Text=GetTextFont(GetIndex(*szText));
372 2 LCD_TextOut(x++,y,Text);
373 2 if(x==20) break;
374 2 szText++;
375 2 }
376 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 383 ----
CONSTANT SIZE = 665 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 9
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -