12864液晶画点问题

[复制链接]
2374|6
 楼主| konglingfei0615 发表于 2013-8-15 16:42 | 显示全部楼层 |阅读模式
本帖最后由 konglingfei0615 于 2013-8-16 08:07 编辑

最近在学习12864液晶,写了个画点程序,有点问题。每次画一个点,但是屏幕上确显示很多点,这是什么原因?
/*******************************************
函数名称:LCD_DrawDot
功    能:在任意位置绘制点
参    数:点的位置坐标(uchar x,uchar y)
返回值  :无
********************************************/
void LCD_DrawDot(uchar x,uchar y)
{
  uchar x_byte,x_bit,y_ping,y_bit;
  uchar tempH,tempL;
  LCD_Write(0x30,0);
  Delayus(72);
  LCD_Write(0x06,0);
  Delayus(72);
  LCD_Write(0x0c,0);
  Delayus(72);
  LCD_Write(0x01,0);
  Delayus(72);
  LCD_Write(0x36,0);//打开扩展指令
  Delayus(72);
  LCD_Write(0x34,0);//关绘图显示
  Delayus(72);
  x_byte = x / 16;
  x_bit = x % 16;
  y_ping = y / 32;
  y_bit = y % 32;   
  LCD_Write(0x80 + y_bit,0);
  LCD_Write(0x80 + x_byte + 8*y_ping,0);
  tempH = LCD_Read();
  tempH = LCD_Read();
  tempL = LCD_Read();
  Delayus(2);
  LCD_Write(0x80 + y_bit,0);
  LCD_Write(0x80 + x_byte + 8*y_ping,0);
  Delayus(1);
  if(x_bit < 8)
  {
    LCD_Write(tempH|(0x01<<(7-x_bit)),1);
    LCD_Write(tempL,1);
  }
  else
  {
    LCD_Write(tempH,1);
    LCD_Write(tempL|(0x01<<(15-x_bit)),1);
  }
  LCD_Write(0x36,0);
  Delayus(72);
  LCD_Write(0x30,0);
  Delayus(72);  
}








y651503148 发表于 2013-8-15 16:59 | 显示全部楼层
无真相
tyw 发表于 2013-8-15 17:37 | 显示全部楼层
东风21 发表于 2013-8-15 18:07 | 显示全部楼层
无图无真相,看不到
 楼主| konglingfei0615 发表于 2013-8-15 20:03 | 显示全部楼层
tyw 发表于 2013-8-15 17:37
〓 LCD 12864 画点相关资料 7篇 3.1M 〓
〓 LCD12864(ST7920控制器)相关资料 11册 9.7M 〓
〓◆ 跟我学液 ...

谢谢T叔,资料收下
ccxlslr 发表于 2013-8-15 20:45 | 显示全部楼层
开始要清屏,不然会随 机有一些点

评分

参与人数 1威望 +3 收起 理由
konglingfei0615 + 3

查看全部评分

 楼主| konglingfei0615 发表于 2013-8-15 22:56 | 显示全部楼层
ccxlslr 发表于 2013-8-15 20:45
开始要清屏,不然会随 机有一些点

清过屏了,把所有的GDRAM都清零了,不过读地址的时候确还是有值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

136

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部