哪位大侠分享一下用430做的12864的串行打点程序啊!!
我看了好多资料,大致的过程就是——先读改点状态——再改写点状态——发送
过程我都看懂了,打点的方式我也理解,但是还是显示出一堆点。。。。。。
void drawpoint (uchar x,uchar y,uchar color)
{
uchar row,tier,tier_bit;
uchar tempH,tempL;
send(0,0x34); //0 发送指令 打开扩展指令集
send(0,0x36);
tier=x>>4;
tier_bit=x&0x0f;
if (y<32) row=y;
else
{
row=y-32;
tier+=8;
}
send(0,0x80+row);
send(0,0x80+tier);
readdat(); //读取状态
tempH=readbyte();
tempL=readbyte();
if(tier_bit<8)
{
switch (color)
{
case 0:
tempH&=(~(0x01<<(7-tier_bit)));
break;
case 1:
tempH|=(0x01<<(7-tier_bit));
break;
case 2:
tempH^=(0x01<<(7-tier_bit));
break;
default:
break;
}
send(1,tempH);
send(1,tempL);
}
else
{
switch (color)
{
case 0:
tempL&=(~(0x01<<(15-tier_bit)));
break;
case 1:
tempL|=(0x01<<(15-tier_bit));
break;
case 2:
tempL^=(0x01<<(15-tier_bit));
break;
default:
break;
}
send(1,tempH);
send(1,tempL);
}
send(0,0x30);
}
希望高人给予指点。。。。。 |