1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我的LCD驱动芯片是SSD1289,这个不重要,关键现在看原子的写一个字符的程序有点不懂,请大虾指点: 程序如下: void LCD_DrawPoint(u16 x,u16 y) { LCD_SetCursor(x,y);//设置光标位置 LCD_WR_REG(0x22);//开始写入GRAM LCD_WR_DATA(POINT_COLOR); } void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode) { u8 temp; u8 pos,t; u16 x0=x; u16 colortemp=POINT_COLOR; if(x>MAX_CHAR_POSX||y>MAX_CHAR_POSY)return; //设置窗口 num=num-' ';//得到偏移后的值 if(!mode) //非叠加方式 { for(pos=0;pos if(size==12) temp=asc2_1206[num][pos];//调用1206字体 else temp=asc2_1608[num][pos]; //调用1608字体 for(t=0;t if(temp&0x01) POINT_COLOR=colortemp; else POINT_COLOR=BACK_COLOR; LCD_DrawPoint(x,y); temp>>=1; x++; } x=x0; y++; } } else//叠加方式 { for(pos=0;pos if(size==12) temp=asc2_1206[num][pos];//调用1206字体 else temp=asc2_1608[num][pos]; //调用1608字体 for(t=0;t if(temp&0x01) LCD_DrawPoint(x+t,y+pos);//画一个点 temp>>=1; } } } POINT_COLOR=colortemp; } void LCD_ShowString(u16 x,u16 y,const u8 *p) { while(*p!=' |