OpenEdv-开源电子网

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

驱动LCD的问题!!!

[复制链接]

24

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-5-16
在线时间
0 小时
发表于 2014-2-28 18:14:03 | 显示全部楼层 |阅读模式

 
大家好,
        我做一个开发。  用STM32驱动LCD,直接用LCD内部的字库。
问题:我用51写的程序,可以直接用LCD内部的字库;但同样的程序,用STM32就调用不了LCD内部的字库了。
程序如下:(一共3块程序)     请大家指教。。。谢谢了。
程序1:
//.............................................   
 void lcd_character(unsigned char *cha,int count)  
 {                                    //显示中文或字符   
   int i;  
   for(i=0;i<count;i++)  
   {  
     lcd_datawrite(*cha);  
     ++cha;  
   }  
 }  
 //.............................................   

程序2:

unsigned char tab1[]={
"             火车监控台                 "
"我我我我我我我我我我我我我我我我我我我我"
"温度1:             湿度1:             "
"灰尘浓度1:        mg/m3                "
"温度2:             湿度2:             "
"灰尘浓度2:        mg/m3                "
"温度3:             湿度3:             "
"灰尘浓度3:        mg/m3                "
"温度4:             湿度4:             "
"灰尘浓度4:        mg/m3                "
"温度5:             湿度5:             "
"灰尘浓度5:        mg/m3                "
"                                        "
"wqwuwuwuwuwuwuwuwuuwuwuwwuwwuwuwu       "
"时间:2014年2月26日                     "};

 

程序3:

int main(void)
 { 
 delay_init();       //延时函数初始化  
 LED_Init();     //初始化与LED连接的硬件接口
lcd_reset();  
lcd_initial();  
lcd_clear();  
 while(1)  
   {  
     lcd_regwrite(0x10,0x2b);  
     lcd_regwrite(0x00,0xcd);  
     gotoxy(0x00,0x00);  
lcd_character(tab1,600);
  delay_ms(3000);
  
 
  }
 }

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

使用道具 举报

70

主题

6764

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13140
金钱
13140
注册时间
2012-11-26
在线时间
3815 小时
发表于 2014-2-28 18:21:04 | 显示全部楼层
底层引脚 时序什么的  都对吗?

STM32速度比51快很多

会不会时序有问题了
学无止境
回复 支持 反对

使用道具 举报

24

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-5-16
在线时间
0 小时
 楼主| 发表于 2014-2-28 18:58:49 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
其它一切显示正常,通信正常,点阵也能显示正常。


就是调用不了内部的字库。。是不是我的程序哪里有问题????要改的?????
回复 支持 反对

使用道具 举报

70

主题

6764

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13140
金钱
13140
注册时间
2012-11-26
在线时间
3815 小时
发表于 2014-2-28 19:05:25 | 显示全部楼层
回复【3楼】阿鼠:

回复【2楼】jermy_z:
---------------------------------
其它一切显示正常,通信正常,点阵也能显示正常。
就是调用不了内部的字库。。是不是我的程序哪里有问题????要改的?????

---------------------------------
不晓得了  帮顶
学无止境
回复 支持 反对

使用道具 举报

56

主题

1237

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2644
金钱
2644
注册时间
2014-2-13
在线时间
518 小时
发表于 2014-2-28 19:33:20 | 显示全部楼层
围观,学习
回复 支持 反对

使用道具 举报

17

主题

470

帖子

1

精华

高级会员

Rank: 4

积分
718
金钱
718
注册时间
2013-11-23
在线时间
0 小时
发表于 2014-2-28 19:43:39 | 显示全部楼层
回复【3楼】阿鼠:
---------------------------------
表示非常关心撸主这个函数lcd_initial();    贴代码看看
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-2-28 21:07:24 | 显示全部楼层
51慢,有些代码执行后需要一定延时才可以
回复 支持 反对

使用道具 举报

24

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-5-16
在线时间
0 小时
 楼主| 发表于 2014-3-1 10:46:02 | 显示全部楼层
大哥,我试过了。

应该是速度的问题。我改了下面的时序,加了一些延时后,字库可以显示了。但有些还不能全部显示,应该是没有全改好。
你指点一下。谢谢了。

51的程序如下。
void lcd_datawrite(unsigned char wrdata)   
{                       //写资料到DDRAM    
  while(lcd_busy == 1);   
 LCD_WriteData(wrdata);    
  lcd_cs1 =0; // chip enable.       
  lcd_rs = 1; // rs = 1; 
  lcd_rd = 1; //  
  lcd_wr = 0; // wr = 0;    

   ;   
  lcd_wr = 1; // wr = 1;
  lcd_rs = 1; // rs = 1;    
  lcd_cs1 =1; // chip disable.    
}
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-1 10:55:56 | 显示全部楼层
void lcd_datawrite(unsigned char wrdata)    
{                       //写资料到DDRAM     
  while(lcd_busy == 1);    
 LCD_WriteData(wrdata);     
  lcd_cs1 =0; // chip enable.        
  lcd_rs = 1; // rs = 1;  
  lcd_rd = 1; //   
  lcd_wr = 0; // wr = 0;     
    //这里加个delay
   ;    
  lcd_wr = 1; // wr = 1; 
  lcd_rs = 1; // rs = 1;    //为啥又把rs置1?
  lcd_cs1 =1; // chip disable.     
}

回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-5 04:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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