请教一下5502接外设的地址问题

[复制链接]
 楼主| a1370268 发表于 2010-4-13 17:39 | 显示全部楼层 |阅读模式
是关于DSP5502和液晶模块连接的,例如我用CE1接了液晶的选通信号了,然后用D0-D7接液晶的D0-D7..CE1的映射空间的首地址是400000H,我地址线什么都不接,那么我要把数据写到液晶去,这个地址是多少
thf2008 发表于 2010-4-13 18:42 | 显示全部楼层
直接往对应的地址写数据不就行了
 楼主| a1370268 发表于 2010-4-13 18:53 | 显示全部楼层
那这个对应的地址是400000H么
tiger2010 发表于 2010-4-13 18:55 | 显示全部楼层
恩,如果你设计的是这个地址的话,那就没错
 楼主| a1370268 发表于 2010-4-13 19:01 | 显示全部楼层
那就奇怪了.输出全是低电平...
我用GPIO控制了液晶的读写和指令数据选择,然后用CE1接了液晶的片选.
然后DSP的地址线什么都没接,然后我设数据地址为400000H,然后输出结果什么都没有,是不是地址错了,还是什么其他原因
love_life 发表于 2010-4-13 19:04 | 显示全部楼层
你是怎么操作的?你把相关的程序贴上来,让大家帮你看看
 楼主| a1370268 发表于 2010-4-13 19:10 | 显示全部楼层
我刚买回来的显示屏,想研究下它的显示模式,电压什么都转换正确的了
.程序就下面的
void main()
{
  int i,j;
  EnableAPLL( );
  CLK_init();
        init_cpu();
        init_lcd();
        cls();
    wr_cmd_data(0x24,0x00,0x00);
    wr_cmd(zdxsz);
    for(i=0;i<128;i++)
    {
        for(j=0;j<30;j++)
        {
           wr_data(0xf0);//就这里,我想测试下能不能输出,结果全部输出都是0
           wait(5000);
           }
     }
}
void init_cpu()
{
   GPIODIR=0xff;
   GPIODAT=0X00;
   wait(2000);
   GPIODAT=GPIODAT|0x02;
   wait(2000);
   escr=0x01; //设置EMIF模式
}

//写命令
void wr_cmd(uint value)
{
    GPIODAT=GPIODAT|0x01; //cd=1;
    GPIODAT=GPIODAT|0x04; //rd=1;
    GPIODAT=GPIODAT&0xf7; //wr=0;
    lcd_data=value;
    GPIODAT=GPIODAT|0x08; //wr=1;
}
void wr_data(uint value)
{
   GPIODAT=GPIODAT&0xfe;//cd=0;
   GPIODAT=GPIODAT|0x04; //rd=1;
   GPIODAT=GPIODAT&0xf7; //wr=0;
   lcd_data=value;
   GPIODAT=GPIODAT|0x08; //wr=1;
}
void wr_cmd_data(uint cmd,uint dat1,uint dat2)
{
  wr_data(dat1);
  wr_data(dat2);
  wr_cmd(cmd);
}
//清屏
void cls(void)
{
    int i,j;
    wr_cmd_data(0x24,0x00,0x00);
    wr_cmd(zdxsz);
    for(i=0;i<128;i++)
    {
        for(j=0;j<30;j++)
        {
           wr_data(0x00);
           }
     }
     wr_cmd(zddxe);
}

//LCM初始化
void init_lcd(void)
{
  wr_cmd_data(wbqsz,0x00,0x00);
  wr_cmd_data(wbqkd,0x1e,0x00);
  wr_cmd_data(txqsz,0x00,0x00);
  wr_cmd_data(txqkd,0x1e,0x00);
  
  wr_cmd(0x81);//显示方式设置
  //wr_cmd_data(gbwz,0x00,0x00)//光标位置
  //wr_cmd(gbxz)//光标形状
  //wr_cmd_data(wbqkd,0x00,0x00)
  wr_cmd(xskg);//显示开关设置
}

void wait( unsigned int cycles )
{
    int i;
    for ( i = 0 ; i < cycles ; i++ ){ }
}
xiaoxin1986 发表于 2010-4-13 19:20 | 显示全部楼层
不懂,进来学习~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

8

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部