免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4458 | 回复: 15
打印 上一主题 下一主题

[驱动] LPC2388通过总线驱LCD屏的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-05 10:39 |只看该作者 |倒序浏览
本帖最后由 yfg123 于 2013-07-05 10:40 编辑

我用的是LPC2388,想通过总线方式把TFT LCD显示屏驱亮,

LPC 2388的P3.0---P3.7为LCP的 D0---D7数据线,是8位的。

P4.0 -----LCD  RS  当RS为1时是指令,0时是数据
P4.1 -----无定义
P4.2 -----LCD  RST  为LCD复位
P4.3 -----P4.23无定义
P4.24-----为LCD的RD
P4.25-----为LCD的WR
P4.30-----为LCD的CS0(是LCD的CS片选)
P4.31-----为LCD的CS1

EMC的存储区选择为:
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 lcd_write_cmd(uint32 cmd)
{
    LCD_CMD_ADDR = cmd; //写指令
}

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

然后EMC的初始化是这样的:


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;

//EMS write
EMC_STA_CFG0 = 0x0;//禁止页模式
EMC_STA_WAITWEN0 = 0x00000001;//写使能延时为1cclk
EMC_STA_WAITWR0 = 0x0000000f;//延时33cclk写
// //EMS read
EMC_STA_WAITOEN0 = 0x00000001;//输出使能延时为1cclk
EMC_STA_WAITRD0 = 0x0000000f;//延时为33cclk读
EMC_STA_WAITPAGE0 = 0x00000000;//页读模式延时为1cclk
EMC_STA_WAITTURN0 = 0x00000000;//总线空闲为1cclk
}

我这样写完后LCD显示屏背光不亮,我用IO口能驱亮,用以上总线方式却不亮,请问各位高手,我总线写的那里有问题。谢谢各位指教。
谢谢!!!

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
2 [报告]
发表于 2013-07-09 06:58 |只看该作者
本帖最后由 T-Bagwell 于 2013-07-09 06:59 编辑

背光不亮,那么LCD上面有颜色显示不?(比较土的办法就是拿个高亮度的手电筒照在屏幕上看一下)

backlight 和panel是两码事
一般驱动LCD的步骤是,先点背光,然后再点LCD

论坛徽章:
0
3 [报告]
发表于 2013-07-09 21:16 |只看该作者
T-Bagwell

背光不亮、也没有颜色。
是的,先把背光点亮,然后再做背景颜色等。可现在我背光都没能点亮,找了好几天都没找出原因。

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
4 [报告]
发表于 2013-07-09 21:25 |只看该作者
yfg123 发表于 2013-07-09 21:16
T-Bagwell

背光不亮、也没有颜色。

看你的帖子里面,并无提到背光对应的引脚

论坛徽章:
0
5 [报告]
发表于 2013-07-09 21:48 |只看该作者
回复 4# T-Bagwell


    这个LCD显示屏,不用IO引脚来控制,是通过指令来控制背光的。
指令是0x8a,数据是0x00到0xff(最亮),

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
6 [报告]
发表于 2013-07-09 22:30 |只看该作者
当写入0x8a的时候,持续写入0xff的时候,和持续写入0x00的时候,电平是什么样的?

论坛徽章:
0
7 [报告]
发表于 2013-07-11 21:36 |只看该作者
回复 6# T-Bagwell


    这几天公司搬家,所以还没有时间用示波器测试,有时间用示波器量下。

论坛徽章:
0
8 [报告]
发表于 2013-07-26 17:04 |只看该作者
回复 6# T-Bagwell


    今天用示波器测了下,地址和数据总线上什么都没有,在示波器上看就是一条直线,没有脉冲波动。

是不是在写入数据之前,需要一些基本的设置?

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
9 [报告]
发表于 2013-07-26 17:21 |只看该作者
回复 8# yfg123


    应该是从两方面入手
1. 模组IC到panel部分的数据线和引脚,in out都量一下
2. 核心板到模组排线的引脚部分,包括数据线,测一下信号
以上两步都走的话,问题应该就可以定位出来了

论坛徽章:
0
10 [报告]
发表于 2013-07-27 10:21 |只看该作者
回复 9# T-Bagwell


    你说的这两个我都不太明白,我是新手,刚学ARM,所以还请你再说的细些。谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP