打印

求助:LPC2388外部存储器控制器EMC的使用问题

[复制链接]
1466|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiazai_01|  楼主 | 2013-7-7 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是LPC2388芯片,现已实现IO驱动LCD屏的功能,背光点亮,背景颜色,都可以实现。
我现在想用总线方式把LCD背我驱亮。但却未能实现 ,我是这样设计的。
P3.0到P3.7接的是D0到D7
P4.0接的是LCD RS,当RS为1时是指令,为0时是数据
P4.2接的是LCD RST  是LCD复位
P4.24接的是LCD RD  为LCD读信号
P4.25接的是LCD WR 为LCD写信号
P4.30接的是LCD CS  为LCD的片选

EMC的A[15:0] 接的是P4.0到P4.15
EMC的D[7:0]接的是P3.0到P3.7
EMC的BLS0接的是P4.25
EMC的OE接的是P4.24
EMC的CS0  、CS1接的是P4.30和P4.31

Memory bank selection
Chip Select          Pin Address Range                Memory Type       Size of Range
CS0                 0x8000 0000 - 0x8000 FFFF       Static                    64 kB
CS1                 0x8100 0000 - 0x8100 FFFF       Static                    64 kB
我的C代码是这样写的。

#define LCD_CMD_ADDR (*(volatile unsigned long *)(0x80000001))
#define LCD_DATA_ADDR (*(volatile unsigned long *)(0x80000000))


void EMC_init()
{
  uint32 temp=0x0;
  PCONP = PCONP | 0x00000800;
  EMC_CTRL = 0x00000001;
  PINSEL6 = 0X00005555;//D0-D7
  PINSEL8 = 0X55555555;//A0-A15
  temp = PINSEL9;
  temp &=0xFF0FFFF;
  PINSEL9 =temp | 0x50090000;//RD、 WR、 CS0、 CS1


//EMS write
EMC_STA_CFG1 = 0x00000100;//禁止页模式
EMC_STA_WAITWEN1 = 0x00000008;//写使能延时为1cclk
EMC_STA_WAITWR1 = 0x0000001f;//延时33cclk写
// //EMS read
EMC_STA_WAITOEN1 = 0x00000008;//输出使能延时为1cclk
EMC_STA_WAITRD1 = 0x0000001f;//延时为33cclk读
EMC_STA_WAITPAGE1 = 0x00000008;//页读模式延时为1cclk
EMC_STA_WAITTURN1 = 0x00000008;//总线空闲为1cclk
// EMC_STA_EXT_WAIT = 0x0000000f;//延长等待时间
}

void lcd_write_cmd(uint8 cmd)
{
LCD_CMD_ADDR = cmd;//写指令
}


void lcd_write_data(uint8 data)
{
LCD_DATA_ADDR = data;//写数据
}


void lcd_init()
{
  os_dly_wait(200); //wait  board power on
EMC_init();//EMC初始化

  lcd_reset(); //LCD复位

lcd_initial();//LCD初始化
}

LCD的初始化是没有问题的,因为我已经用IO口成功把LCD屏背光点亮,现在想用总线驱亮,却不能成功,我已经找了好几天的原因,都没有找到,请各位高手,指教,我的原因出在哪 里。谢谢。

相关帖子

沙发
huangxz| | 2013-7-7 17:11 | 只看该作者
本帖最后由 huangxz 于 2013-7-7 17:12 编辑

你的lcd支持intel的总线么? R/W一般就一条线啊,如果内部没有逻辑,一般外部要用个cpld之类的

使用特权

评论回复
板凳
xiazai_01|  楼主 | 2013-7-8 09:07 | 只看该作者
总线应该没有问题啊,是支持的。我写的程序中的定义A0(1是指令、0是数据)没错吧。

使用特权

评论回复
地板
xiazai_01|  楼主 | 2013-7-9 10:45 | 只看该作者
huangxz
你帮我看看,我的问题出现在哪 里。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

96

帖子

0

粉丝