12864画点函数if(x_byte

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/29 15:40:22
12864画点函数if(x_byte
xTQOV~xoDHӵ UJ{^!ИTMS7ɐ&N i %iISB#Zbıcg~/{]kڽϊlss|-V:+L?^X}m903R&_4ȟAΑPJ6H`r@z<~|¯K+kLF&K5Jz=e/I$% %)}jkur;%>fn_Z(z9ii/MD~ ˧t J\ieV;r.->#,bd`P`W4*Q̬ed ;kBu\q.F)HhYG!Cn}8 k=.%" vNVd"T#/*-F uTZ҈ߑV8/W=(DƮ{]πP2u:u LՑad{* < H\ߥ@e%mB6[$/uU2je#q!s0CÁ}  wc=6-\G !$pNVoΦ.66+D&qR.6qWV}s7h5131 1Rdf%3dn+[ ^& `{"FBvjrSJFNqYVMV Ph5Fn]ȇ~0p/_%z% z蓨l-#PH;4,IGI{%EOde`{.v3qkaM5/p0@$!%XۑƠ<ޣŸɥ 7ra'' 8ׅ]kqLV΢I'79Q3r

12864画点函数if(x_byte
12864画点函数
if(x_byte<8) //判断其在高8位,还是在低8位
{
Write_data(GDRAM_hbit|(0X01<<(7-x_byte))); //显示GDRAM区高8位数据
Write_data(GDRAM_lbit); //显示GDRAM区低8位数据
}
else
{
Write_data(GDRAM_hbit);
Write_data(GDRAM_lbit|(0x01<<(15-x_byte)));
}
这里判断它是低八位的时候,为什么改变高八位的值?我一直的想法是在低八位的时候,先读取,再修改低八位的值,再改入,这里怎么相反了,不知道是不是我理解错了,还有请高手指点一下,还有这个GDRAM_hbit|(0X01<<(7-x_byte)意义何在?请尽量说详细点,谢谢!

12864画点函数if(x_byte
因为你不能贴程序,所以不能很确切知道你的问题.不过你说的问题我以前遇到过,画线只出现一些点绝对是程序问题.第一,在写命令与写数据函数后增加延时;第二,也可能是你写水平地址错误.注重修改打点函数,最有可能问题就在那

跟你存储的点顺序和LCD的点顺序有关, 需要看主循环.
LCD点 可能 16 15 14 ....1 从左到右排列
你的数据点 可能 1 2 3 ....16 从左到右排列哦,这个明白了,我现在在搞在12864上面显直线的,在任意位置上画点已经可以了,现在就画直线,但是我画出来 的直线不是连续的,隔几个显一个点,不知道这是什么原因,贴不了程序,你碰到过这种情况不?能帮忙解释一下吗?...

全部展开

跟你存储的点顺序和LCD的点顺序有关, 需要看主循环.
LCD点 可能 16 15 14 ....1 从左到右排列
你的数据点 可能 1 2 3 ....16 从左到右排列

收起

...