找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

12864打点

[复制链接]
admin 发表于 2012-8-24 10:57:54 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我又个12864打点的程序,打出来的点的坐标有点问题,求高手看看
//***********(给定坐标并打点的)任意位置打点函数
void lcd_set_dot(uchar x,uchar y)
{
uchar x_byte,x_bit;//确定在坐标的那一字节哪一位
uchar y_ping , y_bit;//确定在坐标的哪一屏哪一行
uchar tmph , tmpl;//定义两个临时变量,用于存放读出来的数据
write_com(EXTEND_SET);//扩展指令集
write_com(DRAW_OFF);//绘图显示关闭
x_byte = x / 16;//算出在哪一字节,注意一个地址是16位的
x_bit = x % 16;//& 0x0f;//算出在哪一位
y_ping = y / 32;//确定在上半屏还是下半屏,0代表上半屏,1代表下半屏
y_bit = y % 32;//& 0x1f;//确定在第几行
write_com(0X80 + y_bit);//先写垂直地址(最高位必须)
write_com(0x80 + x_byte + 8 * y_ping);//水平坐标,下半屏坐标起始地址为0x88,(+8*y_ping)就是用来确定上半屏还是下半屏
read_dat();//预读取数据
tmph = read_dat();//读取当前显示高8位数据
tmpl = read_dat();//读取当前显示低8位数据
delay(1);
write_com(0x80 + y_bit);//读操作会改变AC,所以重新设置一下
write_com(0x80 + x_byte + 8 * y_ping);
delay(1);
if(x_bit < 8)
{
write_dat(tmph | (0x01 << (7 - x_bit)));//写高字节,因为坐标是从左向右的,GDRAM高位在昨,低位在右
write_dat(tmpl);//原低位数据送回
}
else
{
write_dat(tmph);//原高位数据送回
write_dat(tmpl | (0x01 << (15 - x_bit)));
}
write_com(DRAW_ON); //打开绘图显示
write_com(BASIC_SET);//回到基本指令集
}
x坐标没问题,就y坐标有问题
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 14:51 , Processed in 0.059750 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表