打印

LCD12864没显示

[复制链接]
1955|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
0797szw|  楼主 | 2007-8-9 08:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
搞了几天了,还没显示;
下面是我的程序,大家帮忙看一下~
我用ARM3231,LCD为TG12864E-02

#include  "config.h"
#define   LCD_CS    (1 << 8)                                            //P0.8为LCD_CS
#define   LCD_DATA  (1 << 9)                                    //P0.9为LCD_DATA
#define   LCD_CLK   (1 << 10)                                       //P0.10为LCD_CLK
#define   LCD_IOCON (LCD_CS|LCD_DATA|LCD_CLK)       //LCD接口的I/O设置字


/*延时子程序*/
void DelayNS(uint8 dly)
{
    uint32 k;
        for(;dly > 0;dly--)
                for(k = 0;k < 5000;k++);
}




/***********************************************************************************************
** 函数名称:LCD_SendByte()
** 函数功能:发送一个字节
** 入口参数:bbyte        字节数据
** 出口参数:无
***********************************************************************************************/
void LCD_SendByte(unsigned char bbyte) 
{
     unsigned char i;
     
     for(i=0;i<8;i++)
     {
        if( (bbyte&0x80)!=0 ) IO0SET = LCD_DATA;
        else 
        {
            IO0CLR = LCD_DATA ;                    //SID=bbyte&0x80;取出最高位
        }
         IO0SET = LCD_CLK;                                //SCLK=1;
         IO0CLR = LCD_CLK;                                //SCLK=0;
         bbyte<<=1;                             //左移
     }  
}

/***********************************************************************************************
** 函数名称:LCD_Write()
** 函数功能:LCD写指令或数据
** 入口参数:control_flow        数据控制流,0 为写指令 1 为写数据
             ddata                数据
** 出口参数:无
***********************************************************************************************/
void LCD_Write(unsigned char control_flow, unsigned char ddata) 
{
      unsigned char start_data,Hdata,Ldata;
      if(0==control_flow) start_data=0xf8;    //写指令
        else       start_data=0xfa;          //写数据
      
      Hdata=ddata&0xf0;                         //取高四位
      Ldata=(ddata<<4)&0xf0;                  //取低四位
      LCD_SendByte(start_data);                  //发送起始信号
      DelayNS(10);                             //延时是必须的
      LCD_SendByte(Hdata);                      //发送高四位
      DelayNS(10);                          //延时是必须的
      LCD_SendByte(Ldata);                      //发送低四位
      DelayNS(10);                          //延时是必须的
}


//显示字符串
void WriteStr(uint8 addr,uint8 *str)
{
        LCD_Write(0,addr);
        DelayNS(2);
        while(*str != 0)
                LCD_Write(1,*str++);
}
/********************************************************************************************************
** 函数名称 :DelayNS()
** 函数功能 :的长延时
** 入口参数 :dly       延时参数,值越大,延时越久
** 出口参数 :无
********************************************************************************************************/
void  LCD_CLS(void)
{
    LCD_Write(0,0x30);              //RE及DL设置
    DelayNS(10);
    LCD_Write(0,0x01);              //清屏
    DelayNS(10);
}
/********************************************************************************************************
** 函数名称 :DelayNS()
** 函数功能 :的长延时
** 入口参数 :dly       延时参数,值越大,延时越久
** 出口参数 :无
********************************************************************************************************/
void  LCD_INIT(void)
{
    LCD_Write(0,0x30);             //RE及DL设置 
    DelayNS(10);
    LCD_Write(0,0x0c);             //显示状态开关
    DelayNS(10);
    LCD_Write(0,0x01);              //清屏
    DelayNS(10);
    LCD_Write(0,0x06);              //起始点设置,光标右移
    DelayNS(10);
}

int main (void)
{
        uint8 str[] = {"xianshi:"};
        PINSEL0 = PINSEL0&0xFFc0FFFF ;
        IO0DIR = LCD_IOCON;
        DelayNS(10);
        
        LCD_INIT();                                         //初始化LCD
        LCD_CLS();
        DelayNS(10);
        while(1)
        {
            DelayNS(10);
            WriteStr(0x80,str);
        }
        return 0;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

相关帖子

沙发
hit97| | 2007-8-10 06:59 | 只看该作者

很简单的。我做过

使用特权

评论回复
板凳
0797szw|  楼主 | 2007-8-10 08:29 | 只看该作者

回复:楼上

楼上做过,能不能发到我邮箱,万分感谢~~
0797szw@163.com

使用特权

评论回复
地板
ruidi1| | 2007-9-7 23:21 | 只看该作者

哥哥该我一份,谢谢!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

1

粉丝