搜索
bottom↓
回复: 76

2.4 TFT 液晶搞定

[复制链接]

出50入0汤圆

发表于 2007-11-17 12:58:08 | 显示全部楼层 |阅读模式
从网上购得2.4 TFT一个,跟先前论坛里的bozai大虾的液晶驱动IC一样,但是模块不同,所以,剽窃了下他的程序,CPU为M8
模块是37PIN 0.8mm间距,不方便焊接,用感光板做了块转换板,下面是效果图。




这个是做的板子:


模块资料:
点击此处打开ourdev_181321.pdf(文件大小:1.95M)

IC资料:
点击此处打开ourdev_181322.pdf(文件大小:1.22M)

硬件连接:
CS ---- PC0
RS ---- PC1
WR ---- PC2
RD ---- PC3
RESET ---- PC4

DB0-7 ---- PORTB
DB8-15 ---- PORTD

驱动程序:(参考bozai大虾的驱动,做了点小小的修改,没注释,凑合着看看吧)
点击此处下载ourdev_181323.txt(文件大小:4K)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2007-11-17 17:09:28 | 显示全部楼层
十分谢谢楼主了~

出0入8汤圆

发表于 2007-11-17 19:25:40 | 显示全部楼层
wo我在bozai的TFT Driver的帖子里更新了ILI9320的驱动文件,你可以参考,实现类似画点、画圆等工作。

出0入0汤圆

发表于 2007-11-17 22:28:40 | 显示全部楼层
漂亮。。我定了。。哈哈。。我也做。。

出0入0汤圆

发表于 2007-11-28 20:53:55 | 显示全部楼层
留个名

出0入0汤圆

发表于 2007-11-28 21:24:29 | 显示全部楼层
恭喜,下一步,楼主移植个gui上去哦,把大屏彩屏优势发挥出来, 见下面的兄弟的ucgui ,漂亮的很

http://www.daxia.com/bibis/moredata.asp?id=44026&syid=1213674

出50入0汤圆

 楼主| 发表于 2007-11-28 22:08:13 | 显示全部楼层
本人技术太烂,,呵呵

出0入0汤圆

发表于 2007-12-18 21:58:58 | 显示全部楼层
看了半天的资料了没有看出个所以然,,不知道能不能提供一个控制的核心思路啊。。里面是怎么控制其颜色和字符的??

要是有这个的中文资料就好了。。

出0入8汤圆

发表于 2007-12-20 21:05:19 | 显示全部楼层
cddyy,快递过去的两片STM32F103RBT6是否收到?偶没有收到你的回复,不知你收到没有?

出50入0汤圆

 楼主| 发表于 2007-12-20 23:03:26 | 显示全部楼层
不好意思啊,今天去面试了,让同学帮收的,
谢谢Grant~~

出50入0汤圆

 楼主| 发表于 2007-12-20 23:09:12 | 显示全部楼层
TO 【7楼】 our_avr
不好意思啊,中文资料倒是没有,颜色可以看下PDF里面关于RGB的排列那个图,字符的话我是按照点阵取位,然后在屏幕里确定一个16*16的矩阵,按照顺序写完16*16个点就可以了,后天要过六级考试,程序没时间整理,望见谅。有时间上传程序~

出0入0汤圆

发表于 2007-12-21 03:27:34 | 显示全部楼层
学习

出50入0汤圆

 楼主| 发表于 2007-12-28 23:09:26 | 显示全部楼层
上个写字的程序

void hanzi_dis (uchar hx,uchar hy,uchar *p,uint color) //hx,hy是显示位置坐标,p是要显示字的点阵码的起始位置,color是显示字的颜色
{
   uchar temp;
   uint y,color_blk;
   
   color_blk=~color;
   
   hx<<=4;                      //换算成实际坐标
   y=hy<<4;
   
   LCD_WR_REG(0x20,hx);        //0-239
   LCD_WR_REG(0x21,y);        //0-319
       
   LCD_WR_REG(0x50,hx);        //定义好16*16方形的起始和末尾地址
   LCD_WR_REG(0x51,hx+15);
   LCD_WR_REG(0x52,y);
   LCD_WR_REG(0x53,y+15);
   
   hy=16;
   
   LCD_WR_Start;             //开始写32个字节的数据
   while (hy--)
    {
          temp=*p++;
          for (hx=8;hx>0;hx--)
           {
             if (temp&0x80)
               {
                     DATA_L = (uchar)color;
                 DATA_H = (uchar)(color>>8);
                   }
             else
               {
                     DATA_L = (uchar)color_blk;
                 DATA_H = (uchar)(color_blk>>8);
                   }
                 WR_L;
                 WR_H;
                 temp<<=1;
           }
          temp=*p++;
          for (hx=8;hx>0;hx--)
           {
             if (temp&0x80)
               {
                     DATA_L = (uchar)color;
                 DATA_H = (uchar)(color>>8);
                   }
             else
               {
                     DATA_L = (uchar)color_blk;
                 DATA_H = (uchar)(color_blk>>8);
                   }
                 WR_L;
                 WR_H;
                 temp<<=1;
           }
        }
   LCD_WR_End;
}

出0入0汤圆

发表于 2007-12-29 11:12:31 | 显示全部楼层
这个屏哪儿买到的啊?

出50入0汤圆

 楼主| 发表于 2007-12-29 17:54:20 | 显示全部楼层
淘宝上面收索下吧~~2.4 屏

出0入0汤圆

发表于 2008-4-20 10:15:17 | 显示全部楼层
顶一下.

出0入0汤圆

发表于 2008-4-23 22:35:38 | 显示全部楼层
需要各种tft液晶屏幕,可到http://shop35330111.taobao.com/看看

出0入0汤圆

发表于 2008-4-25 12:45:34 | 显示全部楼层
很多2。4左右的屏都开放spi接口的,要是跑全速估计不比并行慢,我之前做过的,不过软件是别人做的

出0入0汤圆

发表于 2008-4-28 09:51:12 | 显示全部楼层
我也买了楼主的屏了,问问楼主触摸屏是不是没有控制器,要自己再买?

出50入0汤圆

 楼主| 发表于 2008-4-28 10:42:55 | 显示全部楼层
这个屏有带触摸的,但是没有控制器,

出0入0汤圆

发表于 2008-5-4 15:07:18 | 显示全部楼层
触摸屏可以用两个ad+四个io通过,一个中断,四个 mos管+电阻控制时序就可以实现,并不复杂

这个我做过,可以实现

出0入0汤圆

发表于 2008-5-5 21:24:12 | 显示全部楼层
谢谢啊,我就是要点这东西呢

出0入0汤圆

发表于 2008-5-18 20:01:29 | 显示全部楼层
找到了,做个记号

出0入0汤圆

发表于 2008-6-6 20:31:32 | 显示全部楼层
我有个ONDA 的MP3,屏也是2.4的,不知道是不是这个

出0入0汤圆

发表于 2008-7-5 00:23:06 | 显示全部楼层
我这里有屏,但是没有驱动起来呢,要向大家学习学习了

出0入0汤圆

发表于 2009-3-31 14:34:04 | 显示全部楼层
好资料,谢谢楼主,做个记号先

出0入0汤圆

发表于 2009-3-31 14:40:21 | 显示全部楼层
学习

出0入0汤圆

发表于 2009-5-10 17:40:23 | 显示全部楼层
hx<<=4;                      //换算成实际坐标
   y=hy<<4;

什么意思?

出0入0汤圆

发表于 2009-5-10 20:06:37 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-5-11 00:04:19 | 显示全部楼层
有空也买块玩玩!

出0入0汤圆

发表于 2009-5-11 10:26:15 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2009-5-16 12:07:53 | 显示全部楼层
/*********显示一个汉字  从字库提取  ************/
#define        HZ_column       16 //汉字字体大小

void LCD_DisplayStringWord(u16 x,u16 y, unsigned char length, unsigned char high,unsigned int boardcolor,unsigned int wordcolor, unsigned char __flash *word)
{
        u16 j=0,i=0,k=0;
        u16 str,len;
        //---------------------------统计是否在字库中出现
        len = sizeof(HzLib)/sizeof(HzLib[0]);
        
        for(j=0;len;j++)   
        {       
            if((uchar)HzLib[j].Index[0]==word[0]&&(uchar)HzLib[j].Index[1]==word[1])
                                break;
        }
        //--------------------------      
            if(j<len)
            {
              LCD_Set_Window(x,y,x+length-1,y+high-1);
              LCD_Write_Start();
                                          
                for (i=0; i<HZ_column; i++)
                {
                                       
                    str = (uchar)HzLib[j].Msk[i*2]<<8|(uchar)HzLib[j].Msk[i*2+1];

                    for (k=0; k<HZ_column; k++)
                    {
                        if ( str & (0x8000>>k) )     //0x8000>>k
                        {
                            LCD_Write_Data(wordcolor);
                        }
                        else
                        {
                          LCD_Write_Data(boardcolor);
                        }               
                    }
                }
               
                LCD_Write_End();
            }
}



typedef struct  /*12*16 汉字字模显示数据结构 */
{
char Index[2];
char Msk[32];
} typFNT_GB16;

__flash typFNT_GB16 HzLib[] =
{

"夜",0x00,0x40,0x00,0x80,0x7F,0xFF,0x01,0x10,0x01,0x10,0x1F,0x08,0x10,0x88,0x12,0x8C,
0x14,0x4A,0x08,0xA9,0x08,0x88,0x05,0x08,0x02,0x08,0x05,0x08,0x18,0x88,0x60,0x68,//夜0

"饼",0x20,0x84,0x21,0x04,0x11,0x04,0x00,0x1C,0x7F,0xD2,0x11,0x0A,0x11,0x01,0x11,0x04,
0x11,0x04,0x7F,0xE4,0x11,0x04,0x11,0x04,0x10,0x94,0x10,0x8C,0x10,0x44,0x10,0x20,//饼1
};


我也贴个显示汉字的

出0入0汤圆

发表于 2009-7-2 14:06:43 | 显示全部楼层
请教楼主:
AVR 的IO口为5V, LCD 的IO口为3.3V, 你如何把他们连在一起?
谢谢

出0入0汤圆

发表于 2009-7-10 16:45:29 | 显示全部楼层
谢谢楼主贡献资料

出0入0汤圆

发表于 2009-9-12 23:01:26 | 显示全部楼层
不知道我有块屏和楼主的是不是一样的

出0入0汤圆

发表于 2009-9-23 14:40:58 | 显示全部楼层
里面是怎么控制其颜色和字符的<--- 颜色的控制你仔细分析数据格式就ok,字符好像是没有什么控制的,要自己弄字库

出0入0汤圆

发表于 2009-10-5 12:06:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-10-5 17:58:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-5 12:27:15 | 显示全部楼层
我那块屏还没有用的

出0入0汤圆

发表于 2010-1-7 09:40:19 | 显示全部楼层
弱弱的问下!我现在才搞这个的,我把LZ的程序直接放到iccavr上去编译,为什么会显示!E iccavr.c(1): cannot include source file "avr/io.h"; file not found这个错误???
为什么会这样?avr/io.h这个头文件不是标准的吗?

出0入0汤圆

发表于 2010-1-7 11:13:54 | 显示全部楼层
不错,呵呵。

出0入0汤圆

发表于 2010-1-7 11:32:59 | 显示全部楼层
mark...

出0入0汤圆

发表于 2010-1-7 15:05:45 | 显示全部楼层
LZ能不能解释下下面这段是干嘛用的啊?
void LCD_WR_Start()
{
        CS_L;
        RS_L;
       
        DATA_L = 0x22;
        DATA_H = 0x00;
        WR_L;
        nop;
        nop;
        WR_H;
        RS_H;
}

出0入0汤圆

发表于 2010-1-7 15:07:12 | 显示全部楼层
为什么DATA_L = 0x22;要赋值0x22??????
      而DATA_H = 0x00;为0x00??????

出0入0汤圆

发表于 2010-1-7 22:47:57 | 显示全部楼层
恭喜!!!!!!

出0入0汤圆

发表于 2010-1-8 16:03:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-12 22:22:53 | 显示全部楼层
楼主的   2.4 TFT 液晶  在哪里买的啊 ???   有链接吗???

出50入0汤圆

 楼主| 发表于 2010-1-12 22:31:41 | 显示全部楼层
坛子里找下,现在2.4的液晶很便宜了。

出0入0汤圆

发表于 2010-1-13 23:27:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-14 12:48:39 | 显示全部楼层
谢谢了
好东西

出0入0汤圆

发表于 2010-1-15 22:12:04 | 显示全部楼层
楼主好厉害,我要下个学期才能学arm,好眼馋。。。

出0入0汤圆

发表于 2010-1-22 08:43:36 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2010-1-22 15:40:29 | 显示全部楼层
一个TFT这么高调干嘛啊···

出0入0汤圆

发表于 2010-3-13 02:31:24 | 显示全部楼层
不错,不过我的还没亮

出0入0汤圆

发表于 2010-3-13 07:52:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-13 13:03:36 | 显示全部楼层
请问楼主,我有一块3.5的TFT屏,芯片是SHARP的,是优龙开发板配套的,50PIN,我想把它接在mini2440上,不知道改怎么实现,请老师帮帮忙

出0入0汤圆

发表于 2010-3-13 17:13:33 | 显示全部楼层
感谢了,学习下

出0入0汤圆

发表于 2010-3-13 19:20:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-24 21:34:11 | 显示全部楼层
人过留名。

出0入85汤圆

发表于 2010-5-15 15:12:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-15 19:17:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-16 16:06:52 | 显示全部楼层
好东西

出0入0汤圆

发表于 2010-5-17 22:59:23 | 显示全部楼层

出0入0汤圆

发表于 2010-5-25 19:51:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-11 04:23:53 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-9-13 15:39:04 | 显示全部楼层
我也买过一块2.4寸的TFT LCD,还用51驱动,做了一款俄罗斯方块游戏,现在想移到ARM7——LPC2131上,不过由于LPC2131系统是3.3V的,而我买的LCD是5V的,能不能直接驱动?是不是还得加个电平转换芯片?LZ有没有遇到这个问题?如何解决?

出0入0汤圆

发表于 2010-9-13 16:05:54 | 显示全部楼层
mark~

出0入0汤圆

发表于 2010-10-8 22:30:00 | 显示全部楼层
进来学习下!!!!!

出0入0汤圆

发表于 2010-11-30 21:56:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-30 22:13:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-1 14:13:36 | 显示全部楼层
回复【43楼】wugaohui04
-----------------------------------------------------------------------

有没有总线方式的?

出0入0汤圆

发表于 2010-12-1 14:14:46 | 显示全部楼层
上面说的好像都是模拟方式,求总线方式驱动方法!

出0入24汤圆

发表于 2010-12-17 08:59:44 | 显示全部楼层
Mark!
学习之

出0入8汤圆

发表于 2010-12-17 09:09:00 | 显示全部楼层

出0入0汤圆

发表于 2011-7-21 09:12:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2014-8-16 07:56:54 | 显示全部楼层
谢谢分享!!!!!!!!!!!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 23:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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