3059|0

10

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

12864打点程序出问题,各位高手帮帮忙啊 [复制链接]

下面是我写的LCD12864的打点程序,使用Mega128控制的,为什么总是不对呢?大家帮忙看看啊!
void set_dot(uchar x,uchar y,uchar color)
{
       uchar x_dyte,x_byte;//横坐标在哪一个字节,哪一位
       uchar y_dyte,y_byte;//纵坐标在哪一个字节,哪一位
       uchar high ,low;    //定义存放读出来的两个数据
       LCD12864_sendbyte(iCmd, LCDb_EXTCMD1);  //拓展指令集
       LCD12864_sendbyte(iCmd, LCDb_EXTCMD1);  //绘图关
       x_dyte=x/16;       //算出它在哪一个字节(地址) 一个地址是16位的  
       x_byte=x&0x0f;      //算出他在哪一位
       y_dyte=y/32;       //确定是上半屏还是下半屏  0:上半屏,1下半屏   
       y_byte=y&0x1f;      //计算0~31当中的哪一行,即确定是在第几行  
       LCD12864_sendbyte(iCmd,0x80+y_byte);//先写垂直坐标(最高位必须为1)
       LCD12864_sendbyte(iCmd,0x80+x_dyte+8*y_dyte);//水平坐标 下半屏的水平坐标起始地址为0x80   
                                                   //(+8*y_dyte)来确定    是用上半屏还是下半屏
       LCD12864_readbyte(iDat);        //先空读一次
       high=LCD12864_readbyte(iDat);   //读高位
       low=LCD12864_readbyte(iDat);    //读低位
       delay_ms(1);
       LCD12864_sendbyte(iCmd,0x80+y_byte);
       LCD12864_sendbyte(iCmd,0x80+x_dyte+8*y_byte);     
       if(x_byte<8)   
          {     if(color==1)   
                 LCD12864_sendbyte(iDat,high|(0X01<<(7-x_byte)));    //写高字节因为坐标是从左到右的
             else  
                 LCD12864_sendbyte(iDat,high&(~(0X01<<(7-x_byte))));
             LCD12864_sendbyte(iDat,low);               //原数据送回  
           }   
       else   
           { LCD12864_sendbyte(iDat,high);
             if(color==1)
                   LCD12864_sendbyte(iDat,low|(0x01<<(15-x_byte)));
             else
                   LCD12864_sendbyte(iDat,low&(~(0x01<<(15-x_byte))));
           }
        LCD12864_sendbyte(iCmd, LCDb_EXTCMD2);    //开绘图
        LCD12864_sendbyte(iCmd, LCDb_BASCMD);     //基本指令集
}
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表