我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:彩霸王高手论坛 > 元旦 >

51 单片机)闭于 12864 区域 画图即 恣意开始地方绘恣意太小的图

归档日期:10-25       文本归类:元旦      文章编辑:爱尚语录

  (51 单片机)闭于 12864 区域 画图,即 轻易肇端身分,绘轻易太小的图片 ????????

  (51 单片机)闭于 12864 区域 画图,即 轻易肇端身分,绘轻易太小的图片 ????????

  (51单片机)闭于12864区域画图,即轻易肇端身分,绘轻易太小的图片????????有搞过的妙手没1:奈何正在0,0身分开端,绘轻易巨细的图???????2,奈何正在不是0,0身分,绘任..!

  (51 单片机)闭于 12864 区域 画图,即 轻易肇端身分,绘轻易太小的图片 ????????

  1-1:正在0,0身分开端,绘轻易巨细的图,未写数据区域花屏奈何管束?????

  可选中1个或众个下面的环节词,搜寻闭联原料。也可直接点“搜寻原料”搜寻扫数题目。

  开展完全下面阐述的条件:LZ 得了了,12864 实践上是 256*32 点,把后面的 一半 搬到 第三行、第四行实行显示的。(这也是为什么 反白显示 只可是 1、3同步、2、4同步的出处)?

  起初得体会 画图区 的组织:12864 这个屏的 画图区,分有 16大列,每大列 有 16小列(点),16*16=256,于是 它分成了 前 8大列 放正在 第一、二行,后8 大列放正在 第三、四行。告诉你这个组织,是念说:12864 的画图区,是以 大列(16小列) 为单元实行 数据输入 显示的。现正在来说问题。

  1、从 0,0开端,这个最简略,因为从原点开端,能够直接输入数据。但要留神?

  ①输入的 横向长度,必需是 大列(16点)的整数倍,也便是说,你输入的数据,必需是 2Byte 的整数倍。如亏空 长度,应自行增加。比方输入的 图片长度 为 35×16,横向35,不是 16的整数倍,那么输完 前面的 32 点后,横向再有 3个点,要补0 扩展成 16位 再输入。也便是说,你增加了0(图片显示为空缺)后,实践数据为 48×16。

  ②因12864 不维持 自愿换行,数据输入时,要自行正在 图片 横向遣散时,实行换行(不是 12864 的四个行,而是每个 小点行)。

  2,不从 0,0开端,这个对照繁琐。若是 起始的 横坐标的是 16的整数倍,能够直接通过 画图 大列定位。若是起始坐标不是 16 的整数倍,那么要 先正在图片每横向数据 的前面实行 填0 增加,假造一个 16的整数倍。比方,起始正在 18,0,那就必要正在前面补 2个0,假造起始正在 16,0 的身分。这只是贫寒的初阶,2个0 增加正在数据头后,数据的低 2位就得 往 下一个数据 推了。这便是 毗连数据 移位,向来搬动到 横向长度 的结束,再按照 LZ 上一个题目的门径管束结束。毗连数据 移位,比方:11100001 ,00011110,01111000,10000111,毗连右移2位后,是 00111000,01000111,10011110,00100001, 11(000000,00000000),括号一面为12864增加 的长度,让数据为 16点 的整数倍。

  1-1,图片尺寸亏空 12864,就会导致其他区域数据的大概性(为前次图片的遗留),若是只需这个图片,那就该当正在 画图之前,实行 画图区清0,也便是 输入 12864 点 的 0数据。

  1-2,下半屏的坐标,参考 体会的 屏组织。更众诘问追答诘问改进下12864是8位数据,因为是8位数据,横向X不行以少于8位,1:解码数据不行以最右边的数据,不是8位。2:就算可以,没有的会自愿作0管束。(如有语气分歧理,请体贴,感谢)!

  但图片右边并未写数据啦,怎样就会花屏,再有下半屏写了数据也花屏,这个不解!

  再有不从0,0开端,会无法识别。如0,0横向肇端是(0X80);下半屏是(0X88),但用(0X80+I)或(0X88+I),就不识别,又怎样解追答那可以我们的疏导有收支。至于LZ说的语气分歧理的,身手钻探面红耳赤的都有,这不为过。何况LZ并没有什么不得体的语气。

  12864 所谓 8位数据,那是指它的通信总线位数据的)。而直接采用8位数据实行显示的是 12864 的CGROM(中文字ROM)、HCGROM(字符ROM),以及CGRAM(字符形成RAM,即自界说字符)。

  而12864 的画图实质,存正在 GDRAM(画图RAM)中,其巨细如我前面所说256点×32点。输入数据 以 16点 为单元,无法只输入 8个点。并且它的地点分块,也是以 横向16点为一个水准地点。这也是为什么无法只输入8个点的另一个出处。

  至于我前面所说的,画图区 256×32,后半边 放到 第三、四行实行显示,是由于:12864 的DDRAM(显示区RAM)地点照射的结果。

  此外,LZ诘问的“自愿作0管束”,念来你是理会错了,我说的是:(秩序员)自行补0管束。这要靠秩序去鉴定增加,不是12864增加的。

  而非0,0坐标无法识其余图片,便是由于,上面说的CGRAM地点,并不是按1个点计较的。诘问前面那些我都清晰啊,但题目的环节,没写的地方花屏(雪花),如故没有解呀!

  再有我前面说的是8位并口就算只用3位,屏取过去的信号也是8位的,没错吧追答不看不明白,一看吓一跳。咔嚓,我辛劳碌苦打的追答不睹了。百度正在搞什么鬼啊?

  ①没写的地方花屏,那是之前就留着 GDRAM中的数据。若是之前写过图片,那便是之前的图片实质,若是之前没写过图片,那便是上电后,GDRAM中的数据,这个数据具有大概性。花屏,实在惟有一个出处,那便是后者,由于上个图片残留下来的,都市是图片的一一面,不会是花的。

  治理花屏:上电后,对GDRAM实行清0管束,即输入128×64点的 0数据(这不是12864供应的清屏指令能治理的)。然后提倡:正在输入新图片之前,尽可以的优秀行清0,后再输入图片,如此能治理上张图片残留的题目。

  ②数组数据是 char型的,永远是 8位的,这个没错。但你有没有念过,你的图片实践巨细可以惟有 30×8的,而你又念把它放正在 2,0 的坐标上。按照你的计较,数组供应的数据是 32×8(4Byte点列×8点行,也是后面补 0管束),加上坐标偏移 就成了 34了。而按照我的计较,是用实践巨细30 加上 偏移量 2=32。也便是说,我的计较结果如故 32×8。

  此外,由于GDRAM的输入数据是以2Byte(16点)为单元,你的34点(16×2+2),必需扩展成48点(16×3),才具完全输入到GDRAM中。而很不巧,我的结果32点正好是16的2倍,无需再扩展即可直接输入到GDRAM中。

  结论便是:你输入的实践巨细是:48×8,而我输入的实践巨细是:32×8。

  而LZ定位鄙人半屏坐标的图片,也是花屏的。由于,LZ压根就不体会12864的组织。12864的 y 实践坐标惟有0-31(共32点),压根就没有 下半屏。所谓下半屏,只是x 坐标胜过128 的境况(x实践坐标有256个点)。

  此外改进一下:GDRAM 的笔直地点(y坐标),也是从 80开端的,并不是我前面所说的从40开端的。

  历来答复的期间发了一张12864做的二维码图片的,惋惜再看的期间,答复都不睹了。LZ有兴会的话,能够私信留个 扣扣诘问异常感动您的答复,前面的阿谁是乱码了,没有什么!

本文链接:http://romppainen.net/yuandan/2421.html

上一篇:12G05图集第51页

下一篇:每年有什么节日