📄 lcd_grf.lst
字号:
185 ** 函数功能:图形方式下画点函数
186 ** 入口参数:x:横坐标(0-127)
187 y:纵坐标(0-63)
188 ** 出口参数:无
189 ***********************************************************************************************/
190 void Draw_point(uint8 x,uint8 y)
191 {
192 1 uint8 i,j,z,k,L,H;
193 1 uint16 temp=0x8000;
194 1 i=x/16;
195 1 j=x%16;
196 1
197 1 z=y/32;
198 1 k=y%32;
199 1
200 1 temp>>=j;
201 1 L=(uint8)temp;
202 1 H=(uint8)(temp>>8);
203 1
204 1 LCD_Write(0,0x80+k);
205 1 LCD_Write(0,0x80+z*8+i);
206 1 LCD_Write(1,H);
207 1 LCD_Write(1,L);
208 1
209 1 }
210
211 /***********************************************************************************************
212 ** 函数名称:Draw_x()
213 ** 函数功能:图形方式下画横坐标线函数
214 ** 入口参数:y:纵坐标(0-63)
215 ** 出口参数:无
216 ** 特别说明:要先画纵坐标轴,再画横坐标轴
217 ***********************************************************************************************/
218 void Draw_x(uint8 y)
219 {
220 1 uint8 z,k,m;
221 1 z=y/32;
222 1 k=y%32;
223 1
224 1 for(m=0;m<8;m++)
225 1 {
226 2 LCD_Write(0,0x80+k);
227 2 LCD_Write(0,0x80+z*8+m);
228 2 LCD_Write(1,0xff);
229 2 LCD_Write(1,0xff);
230 2 }
231 1 }
232
233 /***********************************************************************************************
234 ** 函数名称:Draw_y()
235 ** 函数功能:图形方式下画横坐标线函数
236 ** 入口参数:x:横坐标(0-127)
237 ** 出口参数:无
238 ** 特别说明:要先画纵坐标轴,再画横坐标轴
239 ***********************************************************************************************/
240 void Draw_y(uint8 x)
241 {
C51 COMPILER V7.06 LCD_GRF 05/31/2007 03:15:51 PAGE 5
242 1 uint8 i,m;
243 1
244 1 i=x/16;
245 1
246 1 for(m=0;m<32;m++)
247 1 {
248 2 LCD_Write(0,0x80+m);
249 2 LCD_Write(0,0x80+i);
250 2 // LCD_Write(1,0x00);
251 2 LCD_Write(1,0x80);
252 2 }
253 1
254 1 for(m=0;m<32;m++)
255 1 {
256 2 LCD_Write(0,0x80+m);
257 2 LCD_Write(0,0x88+i);
258 2 // LCD_Write(1,0x00);
259 2 LCD_Write(1,0x80);
260 2 }
261 1 }
262
263
264 /***********************************************************************************************
265 ** 函数名称:Draw_letter()
266 ** 函数功能:图形方式下写数字字母函数
267 ** 入口参数:x:横坐标(0-127)
268 y:纵坐标(0-63)
269 databuf1:需要写的第一个字
270 databuf2:需要写的第二个字
271 ** 出口参数:无
272 ***********************************************************************************************/
273 void Draw_letter(uint8 x,uint8 y,uint8 *databuf1,uint8 *databuf2)
274 {
275 1 uint8 m,i,z,k;
276 1 i=x/16;
277 1 z=y/32;
278 1 k=y%32;
279 1
280 1 for(m=0;m<8;m++)
281 1 {
282 2 LCD_Write(0,0x80+k+m);
283 2 LCD_Write(0,0x80+z*8+i);
284 2 LCD_Write(1,databuf1[m]);
285 2 LCD_Write(1,databuf2[m]);
286 2 }
287 1 }
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
C51 COMPILER V7.06 LCD_GRF 05/31/2007 03:15:51 PAGE 6
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333 /*先不要用该函数*/
334 void Draw_pointxy(uint8 x,uint8 y)
335 {
336 1 uint8 i,j,z,k,L,H;
337 1 uint16 temp=0x8000;
338 1 i=x/16;
339 1 j=x%16;
340 1
341 1 z=y/32;
342 1 k=y%32;
343 1 // l=h=0x00;
344 1 temp>>=j;
345 1 L=(uint8)temp;
346 1 H=(uint8)(temp>>8);
347 1 L|=l;
348 1 H|=h;
349 1
350 1 LCD_Write(0,0x80+k);
351 1 LCD_Write(0,0x80+z*8+i);
352 1 LCD_Write(1,H);
353 1 LCD_Write(1,L);
354 1 l=L;
355 1 h=H;
356 1
357 1
358 1 }
359
360
361
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 940 ----
C51 COMPILER V7.06 LCD_GRF 05/31/2007 03:15:51 PAGE 7
CONSTANT SIZE = ---- ----
XDATA SIZE = 2 33
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -