查看: 2963|回复: 8

MSP430驱动OCMJ15X20D液晶显示屏

[复制链接]
  • TA的每日心情
    开心
    2013-5-12 09:23
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2013-3-14 22:02:10 | 显示全部楼层 |阅读模式
    分享到:
    先用51的程序成功可以使OCMJ15X20D液晶显示屏成功显示,但是430上就不能显示啦。。真心搞不懂啊。。求教大神。。。
    写进去寄存器在读出来都是错误的。。。。不知道哪位大神搞过的求指教


    还有就是这个函数搞不懂诶
    void lcd_datawrite(uchar wrdata) small
    {               
      while(lcd_busy == 0);
      lcd_data = wrdata;
      lcd_cs1 =0; // chip enable.
      lcd_rd = 1; //
      lcd_rs = 1; // rs = 1;
      lcd_wr = 0; // wr = 0;
      delay_nop(1);
      lcd_wr = 1; // wr = 1;
      lcd_rs = 1; // rs = 1;
      lcd_cs1 =1; // chip disable.
    }

    lcd_busy。。端口给的datasheet上写的是 while(lcd_busy == 1);
    但是我把程序移植到51板上必须是 while(lcd_busy == 0);才能显示。。我纠结了
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2014-6-5 22:54
  • 签到天数: 45 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-4-6 18:30:28 | 显示全部楼层
    对于IO口的设置有没有问题?还有就是这个延时跟在51上的延时的时间是否一样的?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-5-27 12:37
  • 签到天数: 37 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-5-2 09:40:17 | 显示全部楼层
    这个是51的程序吧?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-7-16 16:03
  • 签到天数: 751 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-5-2 11:09:40 | 显示全部楼层
    延时及端口设置,430的IO是需要配置的,跟51是有区别的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-5-2 12:02:59 | 显示全部楼层

    回帖奖励 +1 与非币

    这个判忙 while(lcd_busy == 0); 在430上不适用啊。
    430里面的IO是双向,判忙时,需要设置为输入才行

    下面是我用的驱动,判忙函数可以参考一下{:soso_e112:}
    #define LCD_DataIn     P4DIR=0x00    //数据口方向设置为输入
    #define LCD_DataOut   P4DIR=0xff    //数据口方向设置为输出
    #define LCD_RS_H      P3OUT|=BIT0      //P3.0
    #define LCD_RS_L      P3OUT&=~BIT0     //P3.0
    #define LCD_RW_H      P3OUT|=BIT1      //P3.1
    #define LCD_RW_L      P3OUT&=~BIT1     //P3.1
    #define LCD_EN_H      P3OUT|=BIT2      //P3.2
    #define LCD_EN_L      P3OUT&=~BIT2     //P3.2
    void chk_busy()
    {
       unsigned char temp=0;
            
       LCD_RS_L;

       LCD_RW_H;

       LCD_DataIn;

       do
       {
          LCD_EN_H;

           _NOP();
               
           temp= P4IN;

          LCD_EN_L;

        }

       while(temp&0x80);

        LCD_DataOut;

    }
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-5-12 09:23
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

     楼主| 发表于 2013-5-3 21:13:33 | 显示全部楼层
    fengye5340 发表于 2013-5-2 12:02
    这个判忙 while(lcd_busy == 0); 在430上不适用啊。
    430里面的IO是双向,判忙时,需要设置为输入才行

    多谢啦。。。兄弟最近有这个液晶做什么呢?暂么你可以相互交流下回啊。俺滴qq1009822165
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-5-4 20:00:33 | 显示全部楼层
    洛川子 发表于 2013-5-3 21:13
    多谢啦。。。兄弟最近有这个液晶做什么呢?暂么你可以相互交流下回啊。俺滴qq1009822165 ...

    以前做过类似驱动罢了,呵呵,现在没用啦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-5-12 09:23
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

     楼主| 发表于 2013-5-5 08:15:06 | 显示全部楼层
    fengye5340 发表于 2013-5-4 20:00
    以前做过类似驱动罢了,呵呵,现在没用啦

    多谢大神。。嘿嘿
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-8-7 21:35
  • 签到天数: 340 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-5-5 08:50:05 | 显示全部楼层
    430还没用过…………
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-8 21:55 , Processed in 0.187563 second(s), 31 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.