智能车制作

 找回密码
 注册

扫一扫,访问微社区

123
返回列表 发新帖
楼主: dessertfox
打印 上一主题 下一主题

TFT屏模块问题!51的程序改造为飞思卡尔时codewarrior不认....

  [复制链接]

24

主题

492

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13138
威望
5341
贡献
1645
兑换币
2222
注册时间
2012-3-9
在线时间
3076 小时
毕业学校
嘉兴学院
21#
发表于 2013-2-12 22:30:19 | 只看该作者
void ssd1289_init(void)
{
          CS=1;
          LCD_RD=1;
          delayms(5);
           RES=0;
          delayms(15);
    RES=1;
    delayms(5);

          delayms(100);//可以适当调整延时,保障稳定显示
          
          Write_Cmd_Data(0x0000,0x0001);    delayms(1);  //打开晶振
    Write_Cmd_Data(0x0003,0xA8A4);    delayms(1);   //0xA8A4
    Write_Cmd_Data(0x000C,0x0000);    delayms(1);   
    Write_Cmd_Data(0x000D,0x080C);    delayms(1);   
    Write_Cmd_Data(0x000E,0x2B00);    delayms(1);   
    Write_Cmd_Data(0x001E,0x00B0);    delayms(1);   
    Write_Cmd_Data(0x0001,0x2B3F);    delayms(1);   //驱动输出控制320*240  0x6B3F  0x2b3f
    Write_Cmd_Data(0x0002,0x0600);    delayms(1);
    Write_Cmd_Data(0x0010,0x0000);    delayms(1);
    Write_Cmd_Data(0x0011,0x6070);    delayms(1);        //0x4030           //定义数据格式  16位色
    Write_Cmd_Data(0x0005,0x0000);    delayms(1);
    Write_Cmd_Data(0x0006,0x0000);    delayms(1);
    Write_Cmd_Data(0x0016,0xEF1C);    delayms(1);
    Write_Cmd_Data(0x0017,0x0003);    delayms(1);
    Write_Cmd_Data(0x0007,0x0233);    delayms(1);        //0x0233      
    Write_Cmd_Data(0x000B,0x0000);    delayms(1);
    Write_Cmd_Data(0x000F,0x0000);    delayms(1);        //扫描开始地址
    Write_Cmd_Data(0x0041,0x0000);    delayms(1);
    Write_Cmd_Data(0x0042,0x0000);    delayms(1);
    Write_Cmd_Data(0x0048,0x0000);    delayms(1);
    Write_Cmd_Data(0x0049,0x013F);    delayms(1);
    Write_Cmd_Data(0x004A,0x0000);    delayms(1);
    Write_Cmd_Data(0x004B,0x0000);    delayms(1);
    Write_Cmd_Data(0x0044,0xEF00);    delayms(1);
    Write_Cmd_Data(0x0045,0x0000);    delayms(1);
    Write_Cmd_Data(0x0046,0x013F);    delayms(1);
    Write_Cmd_Data(0x0030,0x0707);    delayms(1);
    Write_Cmd_Data(0x0031,0x0204);    delayms(1);
    Write_Cmd_Data(0x0032,0x0204);    delayms(1);
    Write_Cmd_Data(0x0033,0x0502);    delayms(1);
    Write_Cmd_Data(0x0034,0x0507);    delayms(1);
    Write_Cmd_Data(0x0035,0x0204);    delayms(1);
    Write_Cmd_Data(0x0036,0x0204);    delayms(1);
    Write_Cmd_Data(0x0037,0x0502);    delayms(1);
    Write_Cmd_Data(0x003A,0x0302);    delayms(1);
    Write_Cmd_Data(0x003B,0x0302);    delayms(1);
    Write_Cmd_Data(0x0023,0x0000);    delayms(1);
    Write_Cmd_Data(0x0024,0x0000);    delayms(1);
    Write_Cmd_Data(0x0025,0x8000);    delayms(1);
    Write_Cmd_Data(0x004f,0);        //行首址0
    Write_Cmd_Data(0x004e,0);        //列首址0
          Write_Cmd(0x00,0X22);       
       
}
回复 支持 反对

使用道具 举报

24

主题

492

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13138
威望
5341
贡献
1645
兑换币
2222
注册时间
2012-3-9
在线时间
3076 小时
毕业学校
嘉兴学院
22#
发表于 2013-2-12 22:33:28 | 只看该作者
最后一行代码是 Write_Cmd (0x00,0x22);//LCD_WriteCMD(GRAMWR); 不能注销的 你可以这样写的
void Write_Cmd(unsigned char DH,unsigned char DL)
{
  
       

        CS=0;
        RS=0;

        P2=DH;


        P0=DL;
       
        RW=0;
        RW=1;
        CS=1;
}
回复 支持 反对

使用道具 举报

24

主题

492

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13138
威望
5341
贡献
1645
兑换币
2222
注册时间
2012-3-9
在线时间
3076 小时
毕业学校
嘉兴学院
23#
发表于 2013-2-12 22:49:52 | 只看该作者
typedef union {
    byte Byte;
    struct {
      byte DATA0       :1;                                       
      byte DATA1       :1;                                       
      byte DATA2       :1;                                    
      byte DATA3       :1;                                       
      byte DATA4       :1;                                       
      byte DATA5       :1;                                      
      byte DATA6       :1;                                    
      byte DATA7       :1;                                       
    } Bits;
  }SPI_DATA;
  SPI_DATA  _DATA;  
  #define  DATA                                 _DATA.Byte
  #define  DATA_DATA0                           _DATA.Bits.DATA0
  #define  DATA_DATA1                           _DATA.Bits.DATA1
  #define  DATA_DATA2                           _DATA.Bits.DATA2
  #define  DATA_DATA3                           _DATA.Bits.DATA3
  #define  DATA_DATA4                           _DATA.Bits.DATA4
  #define  DATA_DATA5                           _DATA.Bits.DATA5
  #define  DATA_DATA6                           _DATA.Bits.DATA6
  #define  DATA_DATA7                           _DATA.Bits.DATA7

操作 8位数据的每一位的方法
unsigned  char  code   是写ROM
CW  要用到 const
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

注册会员

Rank: 2

积分
169
威望
81
贡献
50
兑换币
50
注册时间
2012-12-9
在线时间
19 小时
毕业学校
天津大学
24#
 楼主| 发表于 2013-2-13 00:27:29 | 只看该作者
机遇 发表于 2013-2-12 22:49
typedef union {
    byte Byte;
    struct {

多谢大神!!!我这就试试!!!
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

注册会员

Rank: 2

积分
169
威望
81
贡献
50
兑换币
50
注册时间
2012-12-9
在线时间
19 小时
毕业学校
天津大学
25#
 楼主| 发表于 2013-2-13 00:51:36 | 只看该作者
机遇 发表于 2013-2-12 22:33
最后一行代码是 Write_Cmd (0x00,0x22);//LCD_WriteCMD(GRAMWR); 不能注销的 你可以这样写的
void Write_ ...

不过.........您这个屏的程序是16位的?要用两组I/O口控制?
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

注册会员

Rank: 2

积分
169
威望
81
贡献
50
兑换币
50
注册时间
2012-12-9
在线时间
19 小时
毕业学校
天津大学
26#
 楼主| 发表于 2013-2-13 01:39:32 | 只看该作者
dessertfox 发表于 2013-2-12 21:31
饿....的确是不行.....谢谢.....但现在问题是全白屏不知道为啥.....写什么代码都是白屏一个....

另外请问这一段
void write_data_u16(unsigned int dat)
{
unsigned char m,n;
m=dat>>8;
n=dat;
write_data(m,n);
}
中“ n=dat;”强制取低八位行吗?

现在改过的程序依然使TFT白花花一片........程序如下烦请斧正,谢谢!
附件:

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

13

主题

47

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1000
威望
550
贡献
288
兑换币
335
注册时间
2013-12-3
在线时间
81 小时
毕业学校
上海工程技术大学
27#
发表于 2014-7-23 17:37:23 | 只看该作者
不知道楼主是否已经搞定该tft屏幕,小弟也正在尝试,还望楼主发个程序参考,参考。1029321980@qq.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 03:50 , Processed in 0.047293 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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