|
/*************************************************/
unsigned char pic[64][16]={0,}; //lcd图片点阵的临时区
uchar;TuOn=0;
void lcd_putp(uchar x,uchar y){ // ,uchar dat){
//x 0~15
//y 0~63
uchar temp;
uchar i,j;
lcd_wrCmd(0x00,0x10);
delay50us(20);
lcd_wrCmd(0x30,0x60);
delay50us(20);
lcd_wrCmd(0x30,0x60);
delay50us(20);
temp=0x80| y%32; //y
lcd_wrCmd(temp&0xf0,(temp&0x0f)<<4 );
delay50us(20);
if(y>31) temp=0x88;
else temp=0x80;
temp=temp+(x/2); //x
lcd_wrCmd(temp&0xf0,(temp&0x0f)<<4 );
delay50us(20);
if(x%2){
x--;
temp=pic[y][x];
lcd_wrDat(temp&0xf0,(temp&0x0f)<<4);
delay50us(20);
temp=pic[y][++x];
lcd_wrDat(temp&0xf0,(temp&0x0f)<<4);
delay50us(20);
}
else{
temp=pic[y][x];
lcd_wrDat(temp&0xf0,(temp&0x0f)<<4);
delay50us(20);
}
}
void SetP(uchar x,uchar y){ //将坐标为(x,y)点点亮。
//x 0~127 y 0~63
//液晶屏左下角是坐标(0,0)
uchar xtemp;
y=63-y;
xtemp=x/8;
x%=8;
pic[y][xtemp]|=0x80>>x;
lcd_putp(xtemp,y);
}
void Clr(){ //清屏
uchar i,j,k;
uchar temp;
for(i=0;i<64;i++){
for(j=0;j<16;j++){
pic[j]=0;
lcd_putp(j,i);
}
}
}
void DisFloat(uchar x,uchar y,uint T){ //显示小数
lcd_putd(x,y,T/100,2);
lcd_puts(x,y+1,".");
lcd_putd1(x,y+2,T%100,2);
lcd_puts(x,y+3," ");
} |
|