OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7574|回复: 19

240128液晶显示位置设置

[复制链接]

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
发表于 2014-7-18 20:40:48 | 显示全部楼层 |阅读模式
5金钱
void LocateXY(u8 x,u8 y,u8 mode)
{
u16  temp;
temp= LcmLengthDots/8*y + x;
if(mode) 

temp+=0x0800;
}
LcmWriteCommandWith2Par(temp&0xff,temp/256,0x24);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////

void PutChar(u8 x,u8 y,u8 CharByte)
{
LocateXY(x,y,TXT);
NOP();
LcmWriteCommandWith1Par(CharByte,0xC4);//0xC4写一次数据地址不变
}
我在主函数中调用PutChar(0x05,0x01,0x12);//0x12表示字符“2”
为啥不是在第一行第五列显示一个字符呢?这个设置显示地址的逻辑有什么问题啊?
谢谢大家!!!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-18 20:41:45 | 显示全部楼层
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-18 21:03:26 | 显示全部楼层
忘说了我的液晶是5V的240128,控制器T6963C
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-18 22:31:40 | 显示全部楼层
感觉这个坐标好奇怪,怎么都不对,一显示就显示一列,我只写了一个,这是什么情况,请各位指教
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-18 22:39:36 | 显示全部楼层
这个看看数据手册的说明吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-19 17:17:01 | 显示全部楼层
还是没解决,这个好奇怪
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-19 18:44:42 | 显示全部楼层


手册上就是这么写的,不知道怎么理解。
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-19 18:45:34 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
手册上就是这么写的,不知道怎么理解。
图见6楼
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-19 18:52:30 | 显示全部楼层
忘说了,LocateXY(x,y,TXT);这一句中TXT宏定位为0
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-19 23:12:07 | 显示全部楼层
回复【7楼】superayr:
---------------------------------
确实有点迷糊,有没有时序图?
另外,LcmWriteCommandWith2Par,这个函数,你根据资料看看里面的代码.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-20 20:50:20 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
我再看看代码,您说的时序图是读写数据的时序图吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-20 23:25:36 | 显示全部楼层
回复【11楼】superayr:
---------------------------------
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-20 23:30:42 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
时序应该没什么问题吧,我往液晶里写ASCII码,显示内容都是对的,只是更改显示位置时不好使。
我明天把时序和LcmWriteCommandWith2Par函数贴上,再看看代码,说实话,就显示位置我也瞅了一天多,没找到原因
谢谢您
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-21 09:05:19 | 显示全部楼层
//双参数指令写入函数
 void LcmWriteCommandWith2Par(u8 Parameter1,u8 Parameter2,u8 Command)
{
Read_Sta_Config();
CheckRWCD(); //
LcmWriteData(Parameter1);//写数据
Read_Sta_Config();
CheckRWCD(); //
LcmWriteData(Parameter2);//写数据
LcmWriteCommand(Command);//写命令
}
//检测读写状态
void CheckRWCD(void)
{
u8 RealData,Busy;
u16 ReadValue;
Read_Sta_Config();
NOP();
do
{
ReadValue = GPIO_ReadInputData(GPIOA);
ReadValue&=0x00FF;
RealData=Reverse(ReadValue);
if((RealData & 0x03)==0x03)
Busy=0;
else Busy=1;
}
while(Busy);
GPIO_SetBits(GPIOC, GPIO_Pin_6);//CE=1
}
//数据写入函数
void LcmWriteData(u8 uData)
{
u8 RealData;
RealData=Reverse(uData);
RealData|=0x0000;
Write_Data_Config();
NOP();
GPIO_Write(GPIOA, RealData);
NOP();
GPIO_SetBits(GPIOC, GPIO_Pin_8);//WR=1
NOP();
GPIO_SetBits(GPIOC, GPIO_Pin_6);//CE=1
NOP();
}
//指令写入函数
void LcmWriteCommand(u8 Command)
{
u16 RealData;
Read_Sta_Config();
CheckRWCD(); //
LCD_Setup_Config();
RealData=Reverse(Command);
RealData|=0x0000;
NOP();
GPIO_Write(GPIOA, RealData);
NOP();
GPIO_SetBits(GPIOC, GPIO_Pin_8);//WR=1
NOP();
GPIO_SetBits(GPIOC, GPIO_Pin_6);//CE=1
NOP();
}


回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-21 09:05:47 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
今天看了看,感觉没啥问题,您能看出啥问题吗?
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-21 09:09:49 | 显示全部楼层
//读状态引脚配置
void Read_Sta_Config(void)
{
GPIO_SetBits(GPIOB, GPIO_Pin_15);//C/D=1
NOP();
GPIO_ResetBits(GPIOC, GPIO_Pin_6);//CE=0,
GPIO_ResetBits(GPIOC, GPIO_Pin_7);//RD=0
GPIO_SetBits(GPIOC, GPIO_Pin_8);//WR=1
NOP();
}
//写数据引脚配置
void Write_Data_Config(void)
{
GPIO_ResetBits(GPIOB, GPIO_Pin_15);//C/D=0
NOP();
GPIO_ResetBits(GPIOC, GPIO_Pin_6);//CE=0,
GPIO_SetBits(GPIOC, GPIO_Pin_7);//RD=1
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//WR=0
NOP();
}
//写命令的引脚配置
void LCD_Setup_Config(void)
{
GPIO_SetBits(GPIOB, GPIO_Pin_15);//C/D=1
NOP();
GPIO_ResetBits(GPIOC, GPIO_Pin_6);//CE=0,
GPIO_SetBits(GPIOC, GPIO_Pin_7);//RD=1
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//WR=0
NOP();
}
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-21 19:53:26 | 显示全部楼层
唉,这错误好顽固,改不了啊,求指点
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-21 20:52:37 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
我在网上也看了不少代码,我这个逻辑肯定是没有问题的,显示的ASCII内容正确就是,位置不受控制。。。伤不起啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-21 23:36:58 | 显示全部楼层
回复【18楼】superayr:
---------------------------------
说明通信成功了,初始化也OK,就是坐标设置有点问题,重点看看这个。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-6-27
在线时间
0 小时
 楼主| 发表于 2014-7-22 10:46:02 | 显示全部楼层
回复【19楼】正点原子:
---------------------------------
嗯嗯,我也知道是这个地方的问题,就是找不出来。。。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-5 02:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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