您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网 > 电子资料下载 > 单片机 >

诺基亚5110液晶屏MSP430的驱动程序

大小:5.68 KB 人气: 2011-06-01 需要积分:0
春风里的空间

用户级别:高级会员

贡献文章:

贡献资料:

oid write_command(uchar cmd)
{
     uchar i;
     CE_L;//允许写入数据
     DC_L;//DC=0写入命令
     for(i=0;i<8;i++)
     {
          if(cmd&0x80)
              DIN_H;
          else
              DIN_L;
          CLK_L; //上升沿采样
          cmd<<=1;
          CLK_H;
     }
     CE_H;//禁止写入
}
/**********************************************
**名称:write_data(uchar dat)
**功能:向液晶中写入数据
**说明:dat:待写入的数据
**备注:参考数据手册
**日期:2011年2月27日 
**********************************************/
void write_data(uchar dat)
{
     uchar i;
     CE_L;//
     DC_H;
     for(i=0;i<8;i++)
     {
          if(dat&0x80)
              DIN_H;
          else
              DIN_L;
          CLK_L;
          dat<<=1;
          CLK_H;
     }
     CE_H;
}
/**********************************************
**名称:set_pos(uchar x,uchar y)
**功能:设置RAM地址
**说明:x:0-83
        y:0-5
**备注:参考数据手册
**日期:2011年2月27日 
**********************************************/
void set_pos(uchar x,uchar y)
  {
    write_command(0x40 | y); 
    write_command(0x80 | x);           
  }
/**********************************************
**名称:LCD_clear(void)
**功能:清屏
**说明:
**备注:
**日期:2011年2月27日
**********************************************/
void LCD_clear(void)
  {
    unsigned int i;
    write_command(0x80);//起始列地址0  
    write_command(0x40);//起始行地址0   

    for (i=0;i<504;i++)
      write_data(0);   
  }
/**********************************************
**名称:LCD_Init(void)
**功能:初始化液晶
**说明:
**备注:
**日期:2011年2月27日
**********************************************/
void LCD_Init(void)
{
     P5DIR=BIT0+BIT1+BIT2+BIT3+BIT3;//设置P5口的方向
     RST_L;//复位
     RST_H;
     write_command(0x21);//工作模式, 水平寻址, 扩展指令
     write_command(0x13);//设置偏置系统(BSx) 1:48
     write_command(0xc8);//设置电压VLCD = 3.06 + 0.06*Vop, 对比度调整
     write_command(0x06);//VLCD温度系数2
     write_command(0x20);//工作模式, 水平寻址, 常规指令
     write_command(0x0c);//普通模式
     write_command(0x40);//起始页地址0
     write_command(0x80);//起始列地址0
     LCD_clear(); //清全屏
}

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!