Pony279 发表于 2012-2-24 22:52:29

嘿~共享我的HX8347的TFT驱动程序~有滚屏功能哦~

前段时间天买了个3.2寸的TFT屏,控制器是HX8347-A的

店家给的资料不全,调试的时候也出了问题,然后我就有了怨念,还在坛子里发了下牢骚。。。

经过苦苦搜索,终于找到了控制器的datasheet了,内牛满面啊。。。

(网上比较多见好像的是 HX8347-G(N) HX8347-G(T)的,应该是版本比较新吧,虽然大同小异,

但是寄存器多少是有点区别的,所以有些初始化命令对不上)

关于HX8347-A的资料是在这个帖子里找到的:(2楼)
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4644372&bbs_page_no=1&search_mode=1&search_text=hx8347&bbs_id=9999

有了资料,就开始写程序咯,初始化代码是卖家配套来的,对配套的程序改动不大,只是看着函数名字定义得很不爽,我就把函数名都给改了。。。

然后自己看着datasheet加上了读显存的功能,不过还没发现使用的需求,也只是写了最底层的读函数而已,利用这个读可以在输出文本的时候设置成

透明的背景,这样文本就直接在原来的基础上显示,而不会把不显示字的地方擦除。

看着看着就发现HX8347有移屏的功能,然后我就给程序加了个移屏的功能,呵呵,要是用来做电子书的话还是挺爽的,可以弥补51的速度

可惜的是只能纵向移屏,而且经过调试我也只能做到全屏滚动,局部的好像不行,以后软件设置坐标的时候也要根据移屏来调整。。。郁闷一下,

还是写了程序,发现效果还是可以让我这个菜鸟小小的得意一下的~呵呵~上个视频

http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_721985QY643Z.jpg
(原文件名:20120224556.jpg)

点击此处下载 ourdev_721986Y3K8S6.zip(文件大小:4.49M) (原文件名:20120224003.zip)


然后是我的程序代码:
点击此处下载 ourdev_721987ZC6NI8.zip(文件大小:63K) (原文件名:STC12.zip)

代码都在这个模块里:
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_721989XOJ7Z5.jpg

这个TFT屏用2.8V供电的(我用3.3V串个二极管。。。),引脚定义在程序里也有,我把他帖出来:

这些脚都是直接和5V单片机相连的

//////////////////////下面是物理连接定义区//////////////////////
//{
//相关的管脚定义
sbit LCD_CS =        P3^5;                //片选
sbit LCD_RS =        P3^7;                //数据/命令切换
sbit LCD_WR =        P3^6;                //写控制
sbit LCD_RST =        P3^4;                //复位
sbit LCD_RD =        P3^3;                //读控制,注意就算不用也不能悬空

//数据端口
#define LPort        P0                //高8位数据口
#define HPort        P2                //低8位数据口
//}
//////////////////////上面是物理连接定义区//////////////////////

买来的屏有触摸功能的,还没搞,在我上面给的链接的资料里也有配套程序。。。如果有时间,搞好了我继续在这个帖子里完善


最后说一下调这个屏遇到的一点经验:

1. RD脚不可以浮空!如果浮空,会出现混乱。

2. 调试的时候有时候屏没反应,这个问题搞了我好几天,气得我。。。都快想把这屏给扔了。。。(屏是最贵的说。。。扔不起。。。)

   后来换到我以前做的最小系统板上调试就没问题了,原来是受到我的开发板上其他器件的影响,嗯,调试
   
   新器件最好不要和其它元件共用IO口。

Pony279 发表于 2012-2-24 23:00:15

这里说一下,看datasheet里面写有什么 command parameter interface
什么 register content interface 还有什么什么 interface,我郁闷了很久

我这个屏是16位总线的 register content interface 的
我后来怎么知道的?对着datasheet看配套程序猜的./emotion/em034.gif

Pony279 发表于 2012-2-25 12:54:20

貌似大家对这个不感兴趣啊。。。

Pony279 发表于 2012-2-25 13:18:36

发现一个问题

移屏和开窗口函数不能完全兼容。。。

在边界的处会出现问题。。。


如果继续软件调整,对速度的影响会比较大。。。肿么办。。。

Pony279 发表于 2012-2-25 14:12:16

软件调整好了。。。
使用了条件编译。。。

图片质量不好。。。其实肉眼是看不出那些条纹的
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722085CHEUYE.jpg

点击此处下载 ourdev_722086DMLLL2.zip(文件大小:63K) (原文件名:STC12.zip)
点击此处下载 ourdev_722087JMRQZ9.zip(文件大小:4.03M) (原文件名:20120225005.zip)

xh0207 发表于 2012-2-29 13:01:40

楼主辛苦了。虽然我没这个控制器的液晶,也要顶你下。

xh0207 发表于 2012-2-29 13:02:12

收藏下,以备不时之需。

tony_sgt 发表于 2012-3-1 08:57:21

我上次在华强北那边也看到3.2吋,要60RMB,下次買來看看

shi_90 发表于 2012-3-4 21:34:28

mark

Pony279 发表于 2012-3-4 21:42:19

回复【8楼】shi_90
-----------------------------------------------------------------------

呵呵,LS卖的STM32板感觉不错呀~

Pony279 发表于 2012-3-4 21:46:49

回复【7楼】tony_sgt
-----------------------------------------------------------------------

呵呵,说实话,感觉51上弄这个有点烧钱啊。。。

xslff 发表于 2012-3-9 14:08:03

野火开发板好像就是这个屏!

Pony279 发表于 2012-3-9 14:17:34

回复【11楼】xslff
-----------------------------------------------------------------------

嗯,参考过野火发的帖子
野火的板子后来换了这种控制器的,
野火说是原来的屏的控制器供货不稳,他的供货商就给换了,

hamipeter 发表于 2012-5-12 01:11:55

自己正好手上也有这个屏,一直放置正好试试!

eit 发表于 2012-5-12 17:20:21

我一个差不多的屏,不知道控制器是不是一样的,看看

trucy 发表于 2012-5-14 16:44:34

真郁闷,没有办法理解现在的网络,什么都不能下载

jiang47 发表于 2012-9-9 23:57:42

断网前赶紧标记

wolfojc 发表于 2012-9-11 22:32:10

不错,我有个屏好象就是这个控制器,还没开始用呢。

jetli 发表于 2012-9-11 22:57:45

Pony279 发表于 2012-3-9 14:17 static/image/common/back.gif
回复【11楼】xslff
-----------------------------------------------------------------------



最近也在业余研究这些,,,对于一款供货不稳的ic来说,,,最好还是不选择了,免得以后麻烦,
{:handshake:}

glp0700830216 发表于 2013-4-19 11:53:57

Pony279 发表于 2012-2-25 14:12 static/image/common/back.gif
软件调整好了。。。
使用了条件编译。。。



lz给力,正在搞这个,下载来参考下,非常感谢分享

艾北之北 发表于 2014-4-3 19:55:27

问一下楼主是用51单片机编的hx8347的驱动吗!大神啊!使用的那个型号的51啊!想问一下我想用430单片机来驱动这个hx8347难度大吗!用它来画曲线!!!

jiangkehong 发表于 2014-8-28 22:45:51

帮顶,看看与ST7789S是不是兼容的
页: [1]
查看完整版本: 嘿~共享我的HX8347的TFT驱动程序~有滚屏功能哦~