搜索
bottom↓
回复: 24

新拿到的320240,驱动芯片是sid13305的,请问和seg1335控制芯片通用吗?

[复制链接]

出0入0汤圆

发表于 2007-7-20 19:03:58 | 显示全部楼层 |阅读模式
有没有人能提供一个驱动程序?谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2007-7-20 19:51:14 | 显示全部楼层
有些细微的差别,如果只是试试看点亮,可以不用改,驱动程序网上也很多,搜索一下

出0入0汤圆

 楼主| 发表于 2007-7-20 21:46:05 | 显示全部楼层
不是要点亮啊,我想做示波器。。。。。



seg1335的多,13305的好少啊

出0入0汤圆

发表于 2007-7-20 23:38:23 | 显示全部楼层
最大的区别是:

SED13305: IO 3V3

SED1335: IO 5V



LZ好象把2个芯片型号都写错了,唉。。。



指令集完全兼容



LZ有兴趣还可以试试台湾的RA8835,因为很多EPSON SED1335的芯片都是RA8835打磨的,我用过,质量还不错。

出0入0汤圆

发表于 2007-7-21 09:16:25 | 显示全部楼层
最大的区别好象是13305上电后要比1335多延时一会才行,要不就不能驱动.

出0入0汤圆

 楼主| 发表于 2007-7-21 14:57:57 | 显示全部楼层
上图了,我看芯片好像写的是S1D13305,奇怪的1从哪来的?



那个SED1335应该是我的笔误,如果是兼容的,那本站的例程很多,谢谢各位








-----此内容被laoki8888于2007-07-21,15:13:30编辑过

出0入0汤圆

发表于 2008-2-5 23:16:58 | 显示全部楼层
#include <mega16.h>
#include <delay.h>
#include <spi.h>

#define LCD_BUS  PORTC    //MCU C<---->LCM  
#define _WR      PORTB.0  //写信号  
#define _RD      PORTB.1  //读信号  
#define _CS      PORTB.2  //芯片选择  
#define AO       PORTB.3  //寄存器选择信号  
#define _RES     PORTB.4  //复位信号  

unsigned char CTAB1[12]={
0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff};

//--------------写指令代码------------------------------
void Cmdwrite(unsigned char cmdcode)
{
_CS=0;
AO =1;
LCD_BUS=cmdcode;
_RD=1;
_WR=0;
_WR=1;
_CS=1;        
}
//--------------写数据或参数-----------------------------
void Datawrite(unsigned char wrdata)
{
_CS=0;
AO =0;
LCD_BUS=wrdata;
_RD=1;
_WR=0;
_WR=1;
_CS=1;
}
//---------------写入数据-------------------------------
void Printstr(void)
{
unsigned char i;
Cmdwrite(0x42);
for(i=0;i<8;i++)
{
Datawrite(CTAB1);  //写入数据
}

}
//-------------写入字符串--------------------------------
/*void Printstr( unsigned char  *pstr)
{
Cmdwrite(0x42);
while(*pstr>0)
  {
  Datawrite(*pstr);
  pstr++;
  }
}*/

//--------------整屏幕写入数据---------------------------
void Fullscreenfill(unsigned char low,unsigned char high, unsigned char fill_data)
{
unsigned char i,j;
Cmdwrite(0x46);
Datawrite(low);
Datawrite(high);
Cmdwrite(0x42);
for(i=0;i<240;j++)
   for(j=0;j<40;j++)
      Datawrite(fill_data);
}
//--------------模块初始化-------------------------------
void LCD_Initial()
{
_RES=0;
delay_ms(50);
_RES=1;
delay_ms(50);

Cmdwrite(0x40);
Datawrite(0x32);
Datawrite(0x87);
Datawrite(0x07);
Datawrite(0x27);
Datawrite(0x2b);
Datawrite(0xef);
Datawrite(0x28);
Datawrite(0x00);

Cmdwrite(0x44);
Datawrite(0x00);
Datawrite(0x00);
Datawrite(0x77);
Datawrite(0x00);
Datawrite(0x28);
Datawrite(0xef);
Datawrite(0x00);
Datawrite(0x50);

Cmdwrite(0x58);
Datawrite(0x55);

Cmdwrite(0x5b);
Datawrite(0x00);

Cmdwrite(0x5c);
Datawrite(0x00);
Datawrite(0x78);

Cmdwrite(0x5d);
Datawrite(0x07);
Datawrite(0x07);
Cmdwrite(0x4c);

Fullscreenfill(0x00,0x00,0x00);
Fullscreenfill(0x00,0x28,0x00);
Fullscreenfill(0x00,0x50,0x00);

Cmdwrite(0x59);
}
//================================================================
void main()
{
DDRB  =0xff;
PORTB = 0xff;
DDRC  =0xff;
PORTC = 0x00;
  
_RD=1;
_WR=1;
_CS=1;
AO =1;
LCD_BUS=0xff;
LCD_Initial();

Cmdwrite(0x46);
Datawrite(0x3d);
Datawrite(0x02);
Printstr();

Cmdwrite(0x46);
Datawrite(0x0a);
Datawrite(0x50);
Printstr();

delay_ms(50);
while(1)
{}
}

出0入296汤圆

发表于 2008-2-10 22:03:22 | 显示全部楼层
/***********************************************************
*   函数库说明:LCD320240基本驱动函数声明库                *
*   版本:      v1.00                                      *
*   作者:      王卓然                                     *
*   创建日期:  2007年11月12日                             *
* -------------------------------------------------------- *
*  [支 持 库]                                              *
*   支持库名称:RD_MacroAndConst.h                         *
*   需要版本:  v0.01 &abv                                 *
*   支持库说明:系统常用宏定义库                           *
*                                                          *
*   支持库名称:LIB_Config.h                               *
*   需要版本:  -----                                      *
*   支持库说明:库函数配置声明库                           *
* -------------------------------------------------------- *
*  [版本更新]                                              *
*   修改:                                                 *
*   修改日期:                                             *
*   版本:                                                 *
* -------------------------------------------------------- *
*  [版本历史]                                              *
* -------------------------------------------------------- *
*  [使用说明]                                              *
***********************************************************/

/********************
* 头 文 件 配 置 区 *
********************/
# include "RD_MacroAndConst.h"
# include "GUI_Config.h"

/********************
*   系 统 宏 定 义  *
********************/

/*------------------*
*   常 数 宏 定 义  *
*------------------*/


# define LCD_CMD_SCROLL                 0x44
# define LCD_CMD_CSRFORM                0x5D
# define LCD_CMD_CGRAM_ADR              0x5C
# define LCD_CMD_CSRDIR                 0x4C
# define LCD_CMD_HDOT_SCR               0x5A
# define LCD_CMD_OVLAY                  0x5B
# define LCD_CMD_CSRW                   0x46
# define LCD_CMD_CSRR                   0x47
# define LCD_CMD_MWRITE                 0x42
# define LCD_CMD_MREAD                  0x43

# define LCD_LAYER_MIX_MODEL_OR             0x00
# define LCD_LAYER_MIX_MODEL_EXCLUSIVE_OR   0x01
# define LCD_LAYER_MIX_MODEL_AND            0x02
# define LCD_LAYER_MIX_MODEL_PRIORITY_OR    0x03

# define LCD_CURSOR                     0
# define LCD_SAD1                       2
# define LCD_SAD2_4                     4
# define LCD_SAD3                       6
# define LCD_DISP_BLANK                 0x00
# define LCD_DISP_SHOW                  0x01
# define LCD_DISP_FLASH                 0x02
# define LCD_DISP_FLASH_FAST            0x03



# define _M0                            0
# define _M1                            1
# define _M2                            2
# define _WS                            3
# define _IV                            5
# define _TL                            6
# define _DR                            7

# define _DM1                           2
# define _DM2                           3
# define _OV                            4

/*------------------*
*   动 作 宏 定 义  *
*------------------*/

#ifndef LCD_EL_ON
    # define LCD_EL_ON      s_chTemp      
#endif
#ifndef LCD_DISP_OFF
    # error Need for defined LCD_DISP_OFF _Pxn !        
#endif
#ifndef LCD_DATA_OUT
    # error Need for defined LCD_DATA_OUT PORTx !
#endif
#ifndef LCD_DATA_IN
    # error Need for defined LCD_DATA_IN PINx !
#endif
#ifndef LCD_DATA_DDR
    # error Need for defined LCD_DATA_DDR DDRx !
#endif
#ifndef LCD_A0
    # error Need for defined LCD_A0 _Pxn !
#endif
#ifndef LCD_CS
    # error Need for defined LCD_CS _Pxn !
#endif
#ifndef LCD_WR
    # error Need for defined LCD_WR _Pxn !
#endif
#ifndef LCD_RD
    # error Need for defined LCD_RD _Pxn !
#endif
#ifndef LCD_RST
    # warning You may be forget to define LCD_RST !
    # define LCD_EL_ON      s_chTemp      
#endif


# define SEND_CMD(n)    LCD_320240_Send_Command(n);
# define SEND_DATA(n)   LCD_320240_Send_Data(n);
# define READ_STATUS    LCD_320240_Read_Status()
# define READ_DATA      LCD_320240_Read_Data()

/********************
*  用户变量类型定义 *
********************/
typedef struct _LCD_320240_System_Set LCD_320240_SYSTEM_SET;


/********************
*  模块结构体定义区 *
********************/
struct _LCD_320240_System_Set
{
    //P1
    unsigned M0:1;
    unsigned M1:1;
    unsigned M2:1;
    unsigned W_S:1;
    unsigned :1;
    unsigned IV:1;
    unsigned T_L:1;
    unsigned DR:1;
   
    //P2
    unsigned FX:4;
    unsigned :3;
    unsigned WF:1;
   
    //P3
    unsigned FY:4;
    unsigned :4;
   
    uint8 C_R;
    uint8 TC_R;
    uint8 L_F;
    uint16 AP;
};

/********************
*   函 数 声 明 区  *
********************/
void LCD_320240_INIT(void);
void LCD_320240_Send_Command(uint8 chCMD);
void LCD_320240_Write_Display_Data_Stream(uint8 *pData,uint16 wLength,uint8 chBlankSymble);
uint8 *LCD320240_Read_Display_Data_Stream(uint8 *pData,uint16 wLength);
void LCD_320240_CSRW(uint16 wAddress);
void LCD_320240_Scroll(LCD_320240_SCROLL *pScroll,uint8 chParameterID);
void LCD_320240_Write_Display_Data(uint8 chData);
uint8 LCD_320240_Read_Display_Data(void);
void LCD_320240_CSRDIR(uint8 chDirection);

uint8 LCD_320240_Read_Status(void);
/********************
*   模块函数声明区  *
********************/
static void LCD_320240_Send_Data(uint8 chData);
uint8 LCD_320240_Read_Status(void);
static uint8 LCD_320240_Read_Data(void);
static void LCD_320240_System_Set(LCD_320240_SYSTEM_SET *pSet,uint8 chParameterID);
static void LCD_320240_CSRFORM(uint8 chWidth,uint8 chHeight);
static void LCD_320240_HDot_SCR(uint8 chPixels);
static void LCD_320240_OVLAY(uint8 chLayerMixModel,
                BOOL bIfUseGraphics,BOOL bIfUseThreeLayer);
static void LCD_320240_Display_On_Off(uint8 chSADFlashSet,BOOL bEnable);

//static void LCD_320240_CGRAM_ADR(uint16 wAddress);

/********************
*   模块变量声明区  *
********************/
static uint8 s_chTemp = 0;                                  //容错用变量
static LCD_320240_SYSTEM_SET s_SystemSet = {0};
static LCD_320240_SCROLL     g_ScreenScroll = {0};

/********************
*   全局变量声明区  *
********************/


/***********************************************************
*   函数说明:向LCD发送指令函数                            *
*   输入:    要发送的数据                                 *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
void LCD_320240_Send_Command(uint8 chCMD)
{
    LCD_DATA_DDR = 0xff;
    LCD_DATA_OUT = chCMD;
   
    LCD_CS = LOW;
    LCD_A0 = HIGH;
   
    LCD_RD = HIGH;                                          
    LCD_WR = LOW;

    LCD_WR = HIGH;
    LCD_CS = HIGH;
   
    //释放数据总线
    //LCD_DATA_DDR = 0x00;
    //LCD_DATA_OUT = 0x00;
}

/***********************************************************
*   函数说明:向LCD发送数据函数                            *
*   输入:    要发送的数据                                 *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
static void LCD_320240_Send_Data(uint8 chData)
{
    LCD_DATA_DDR = 0xff;
    LCD_DATA_OUT = chData;
   
    LCD_CS = LOW;
    LCD_A0 = LOW;
   
    LCD_RD = HIGH;                                          
    LCD_WR = LOW;

    LCD_WR = HIGH;
    LCD_CS = HIGH;
   
    //释放数据总线
    //LCD_DATA_DDR = 0x00;
    //LCD_DATA_OUT = 0x00;
}

/***********************************************************
*   函数说明:读取LCD320240系统状态                        *
*   输入:    无                                           *
*   输出:    读取到的系统状态                             *
*   调用函数:无                                           *
***********************************************************/
uint8 LCD_320240_Read_Status(void)
{
    uint8 chTempData = 0;
    //释放数据总线
    LCD_DATA_DDR = 0x00;
    LCD_DATA_OUT = 0x00;
   
    LCD_CS = LOW;
    LCD_A0 = LOW;
   
    LCD_RD = LOW;                                          
    LCD_WR = HIGH;
    NOP();
    chTempData = LCD_DATA_IN;
    LCD_RD = HIGH;
    LCD_CS = HIGH;
   
    return chTempData;
}

/***********************************************************
*   函数说明:读取LCD320240存储器数据                      *
*   输入:    无                                           *
*   输出:    读取到的数据                                 *
*   调用函数:无                                           *
***********************************************************/
static uint8 LCD_320240_Read_Data(void)
{
    uint8 chTempData = 0;
    //释放数据总线
    LCD_DATA_DDR = 0x00;
    LCD_DATA_OUT = 0x00;
   
    LCD_CS = LOW;
    LCD_A0 = HIGH;
   
    LCD_RD = LOW;                                          
    LCD_WR = HIGH;
    NOP();
    chTempData = LCD_DATA_IN;
    LCD_RD = HIGH;
    LCD_CS = HIGH;
   
    return chTempData;
}

/***********************************************************
*   函数说明:LCD320240初始化函数                          *
*   输入:    无                                           *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
void LCD_320240_INIT(void)
{
    uint16 n = 0;
   
    //硬件复位
    LCD_RST = LOW;
    LCD_DISP_OFF = LOW;
    LCD_EL_ON = HIGH;
    LCD_DATA_DDR = 0x00;
    LCD_DATA_OUT = 0x00;
    LCD_WR = HIGH;
    LCD_RD = HIGH;
    LCD_CS = LOW;
    LCD_A0 = HIGH;
   
    for (n = 0;n < 60000;n++);
    LCD_RST = HIGH;
    LCD_EL_ON = LOW;
   
    #ifdef LCD_320240_USE_EXTERNAL_CGROM
    s_SystemSet.M0 = 1;
    #endif
    #ifdef LCD_320240_USE_MORE_CGRAM
    s_SystemSet.M1 = 1;
    #endif
    #ifdef LCD_320240_USE_16_PIXAL_CHAR        
    s_SystemSet.M2 = 1;        
    #endif
    #ifdef LCD_320240_USE_DUAL_PANEL_DRIVER
    s_SystemSet.W_S = 1;
    #endif
    s_SystemSet.IV = 1;

    #ifndef LCD_320240_FX
    s_SystemSet.FX = 7;
    #else
    s_SystemSet.FX = MIN(LCD_320240_FX,15);
    #endif
   
    #ifndef LCD_320240_FY
    s_SystemSet.FY = 7;
    #else
    s_SystemSet.FY = MIN(LCD_320240_FY,15);
    #endif
   
    s_SystemSet.WF = 1;
   
    #ifndef LCD_320240_C_R
    s_SystemSet.C_R = ((s_SystemSet.FX+1) / 8) * 40-1;
    #else
    s_SystemSet.C_R = MIN(239,LCD_320240_C_R);
    #endif
   
    #ifndef LCD_320240_TC_R
    s_SystemSet.TC_R = s_SystemSet.C_R+4;
    #else
    s_SystemSet.TC_R = MAX(LCD_320240_TC_R,s_SystemSet.C_R + 4);
    #endif
   
    #ifndef LCD_320240_L_F
    s_SystemSet.L_F = 239;
    #else
    s_SystemSet.L_F = MIN(LCD_L_F,0xff);
    #endif
   
    #ifndef LCD_320240_AP
    s_SystemSet.AP = s_SystemSet.C_R+1;
    #else
    s_SystemSet.AP = MAX(LCD_320240_AP,s_SystemSet.C_R+1);
    #endif
   
    LCD_320240_System_Set(&s_SystemSet,8);
   
    g_ScreenScroll.SAD1 = 0;
    g_ScreenScroll.SL1 = 240;
    g_ScreenScroll.SAD2 = LCD_SCREEN_GRAPHIC_DATA_COUNT;
    g_ScreenScroll.SL2 = 240;
    g_ScreenScroll.SAD3 = LCD_SCREEN_GRAPHIC_DATA_COUNT << 1;
    //g_ScreenScroll.SAD4 = 0;
   
    LCD_320240_Scroll(&g_ScreenScroll,8);
   
    LCD_320240_HDot_SCR(0);
    LCD_320240_OVLAY(LCD_LAYER_MIX_MODEL_EXCLUSIVE_OR,TRUE,TRUE);
   
    LCD_320240_Display_On_Off
        (   
            (LCD_DISP_FLASH_FAST<<LCD_CURSOR)|
            (LCD_DISP_SHOW<<LCD_SAD1)|
            (LCD_DISP_SHOW<<LCD_SAD2_4)|
            (LCD_DISP_SHOW<<LCD_SAD3)
            ,FALSE
        );
   
    LCD_320240_CSRFORM(8,7);
    LCD_320240_CSRDIR(LCD_CURSOR_DIRECTION_RIGHT);
   
    LCD_320240_CLS_GRAPHIC_FRONT
    LCD_320240_CLS_GRAPHIC_MIDDLE
    LCD_320240_CLS_GRAPHIC_BACK
   
    LCD_320240_DISPLAY_ENABLE
}

/***********************************************************
*   函数说明:设定图层/光标闪烁方式函数                    *
*   输入:    闪烁方式参数                                 *
*   输出:    无                                           *
*   调用函数:SEND_CMD()    SEND_DATA()                    *
***********************************************************/
static void LCD_320240_Display_On_Off(uint8 chSADFlashSet,BOOL bEnable)
{
    if (bEnable)
    {
        SEND_CMD(LCD_CMD_DISP_ON);
    }
    else
    {
        SEND_CMD(LCD_CMD_DISP_OFF);
    }
   
    SEND_DATA(chSADFlashSet);
}

/***********************************************************
*   函数说明:显示模式设置函数                             *
*   输入:    图层合并模式,是否进入图形模式,             *
*             是否使用3图层                                *
*   输出:    无                                           *
*   调用函数:SEND_CMD()    SEND_DATA()                    *
***********************************************************/
static void LCD_320240_OVLAY(uint8 chLayerMixModel,
                BOOL bIfUseGraphics,BOOL bIfUseThreeLayer)
{
    uint8 chParameter = 0;
   
    SEND_CMD(LCD_CMD_OVLAY);
   
    chParameter = chLayerMixModel & 0x03;
   
    if (bIfUseGraphics)
    {
        chParameter |= BIT(_DM1)|BIT(_DM2);
    }
   
    if (bIfUseThreeLayer)
    {
        chParameter |= BIT(_OV);
    }
   
    SEND_DATA(chParameter);
}

/***********************************************************
*   函数说明:设置左右滚屏像素数                           *
*   输入:    滚屏的像素数                                 *
*   输出:    无                                           *
*   调用函数:SEND_CMD()    SEND_DATA()                    *
***********************************************************/
static void LCD_320240_HDot_SCR(uint8 chPixels)
{
    SEND_CMD(LCD_CMD_HDOT_SCR);
   
    SEND_DATA(MIN(chPixels,7));
}

/***********************************************************
*   函数说明:光标形状设置函数                             *
*   输入:    光标宽度和高度                               *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
static void LCD_320240_CSRFORM(uint8 chWidth,uint8 chHeight)
{
    SEND_CMD(LCD_CMD_CSRFORM);
   
    SEND_DATA(MIN(chWidth-1,0x0f));
    SEND_DATA(MAX(MIN(chHeight-1,0x0f),1));                    //光标宽度至少为2(1+1)
}

/***********************************************************
*   函数说明:系统显示缓冲区设置函数                       *
*   输入:    缓冲区设置指针  修改参数的ID                 *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
void LCD_320240_Scroll(LCD_320240_SCROLL *pScroll,uint8 chParameterID)
{
    uint8 n = 0;
   
    SEND_CMD(LCD_CMD_SCROLL);
   
    while(chParameterID--)
    {
        SEND_DATA(((uint8 *)pScroll)[n++]);
    }
}

/***********************************************************
*   函数说明:系统设置函数                                 *
*   输入:    系统设置指针  修改参数的ID                   *
*   输出:    无                                           *
*   调用函数:无                                           *
***********************************************************/
static void LCD_320240_System_Set(LCD_320240_SYSTEM_SET *pSet,uint8 chParameterID)
{
    uint8 n = 0;
   
    SEND_CMD(LCD_CMD_SYSTEM_SET);
   
    if (chParameterID != 0)
    {
        SEND_DATA(((uint8 *)pSet)[n] | BIT(4));
        n++;
        chParameterID--;
    }
   
    while(chParameterID--)
    {
        SEND_DATA(((uint8 *)pSet)[n++]);  
    }
}

/***********************************************************
*   函数说明:光标自动移动方向设定                         *
*   输入:    移动方向                                     *
*   输出:    无                                           *
*   调用函数:SEND_CMD()                                   *
***********************************************************/
void LCD_320240_CSRDIR(uint8 chDirection)
{
    SEND_CMD(LCD_CMD_CSRDIR | (chDirection & 0x03));
}

/***********************************************************
*   函数说明:设置读写地址(光标地址)函数                 *
*   输入:    地址                                         *
*   输出:    无                                           *
*   调用函数:SEND_CMD()    SEND_DATA()                    *
***********************************************************/
void LCD_320240_CSRW(uint16 wAddress)
{
    SEND_CMD(LCD_CMD_CSRW);
    SEND_DATA(wAddress);
    SEND_DATA(wAddress>>8);
}

/***********************************************************
*   函数说明:LCD字符生成器地址设置函数                    *
*   输入:    地址                                         *
*   输出:    无                                           *
*   调用函数:SEND_CMD()    SEND_DATA()                    *
***********************************************************/
/*
static void LCD_320240_CGRAM_ADR(uint16 wAddress)
{
    SEND_CMD(LCD_CMD_CGRAM_ADR);
   
    SEND_DATA(wAddress);
    SEND_DATA(wAddress>>8);
}
*/
/***********************************************************
*   函数说明:读取LCD320240显存当前读写指针                *
*   输入:    无                                           *
*   输出:    无                                           *
*   调用函数:SEND_CMD()   READ_DATA()                     *
***********************************************************/
uint16 LCD_320240_CSRR(void)
{
    uint16 wAddress = 0;
    SEND_CMD(LCD_CMD_CSRR);
   
    wAddress = READ_DATA;
    wAddress |= (uint16)READ_DATA << 8;
    return wAddress;
}

/***********************************************************
*   函数说明:单个显存数据发送函数                         *
*   输入:    要发送的数据                                 *
*   输出:    无                                           *
*   调用函数:SEND_CMD()    SEND_DATA()                    *
***********************************************************/
void LCD_320240_Write_Display_Data(uint8 chData)
{
    SEND_CMD(LCD_CMD_MWRITE);
    SEND_DATA(chData);
}

/***********************************************************
*   函数说明:读取单个显存数据函数                         *
*   输入:    无                                           *
*   输出:    读取到的数据                                 *
*   调用函数:SEND_CMD()    READ_DATA()                    *
***********************************************************/
uint8 LCD_320240_Read_Display_Data(void)
{
    SEND_CMD(LCD_CMD_MREAD);
   
    return READ_DATA;
}

/***********************************************************
*   函数说明:LCD320240数据流读取函数                      *
*   输入:    保存数据的指针,读取数据的大小               *
*   输出:    保存数据的指针                               *
*   调用函数:SEND_CMD()                                   *
***********************************************************/
uint8 *LCD320240_Read_Display_Data_Stream(uint8 *pData,uint16 wLength)
{
    uint16 n = 0;
   
    if (pData == NULL)
    {
        //指针为空,无法读取任何数据
        return NULL;
    }
   
    SEND_CMD(LCD_CMD_MREAD);
   
    //释放数据总线
    LCD_DATA_DDR = 0x00;
    LCD_DATA_OUT = 0x00;
   
    LCD_WR = HIGH;
    LCD_CS = LOW;
    LCD_A0 = HIGH;
   
    for (n = 0;n < wLength;n++)
    {
        LCD_RD = LOW;                                          
        WDR();
        pData[n] = LCD_DATA_IN;
        LCD_RD = HIGH;
    }
   
    LCD_CS = HIGH;
   
    return pData;
}

/***********************************************************
*   函数说明:LCD320240数据流发送函数                      *
*   输入:    要发送的数据指针,NULL表示清屏,数据的长度   *
*   输出:    无                                           *
*   调用函数:SEND_CMD()                                   *
***********************************************************/
void LCD_320240_Write_Display_Data_Stream(uint8 *pData,uint16 wLength,uint8 chBlankSymble)
{
    uint16 n = 0;
    uint8 Temp = 0;
   
    SEND_CMD(LCD_CMD_MWRITE);
    LCD_CS = LOW;
   
    if (pData == NULL)
    {
        LCD_A0 = LOW;
        LCD_DATA_DDR = 0xff;
        LCD_DATA_OUT = chBlankSymble;
        for (n = 0;n < wLength;n++)
        {
            LCD_WR = LOW;
            WDR();
            LCD_WR = HIGH;
        }
    }
    else
    {
        LCD_A0 = LOW;
        LCD_DATA_DDR = 0xff;
        for (n = 0;n < wLength;n++)
        {
            LCD_DATA_OUT = pData[n];
            LCD_WR = LOW;
            WDR();
            LCD_WR = HIGH;
        }
        
    }
    LCD_CS = HIGH;

}

出0入296汤圆

发表于 2008-2-10 22:03:38 | 显示全部楼层
#ifndef _USE_LCD_320240_H_
#define _USE_LCD_320240_H_
/***********************************************************
*   声明库说明:LCD320240基本驱动函数声明库                *
*   版本:      v1.00                                      *
*   作者:      王卓然                                     *
*   创建日期:  2007年11月12日                             *
* -------------------------------------------------------- *
*  [支 持 库]                                              *
*   支持库名称:                                           *
*   需要版本:                                             *
*   支持库说明:                                           *
* -------------------------------------------------------- *
*  [版本更新]                                              *
*   修改:                                                 *
*   修改日期:                                             *
*   版本:                                                 *
* -------------------------------------------------------- *
*  [版本历史]                                              *
* -------------------------------------------------------- *
*  [使用说明]                                              *
***********************************************************/

/********************
* 头 文 件 配 置 区 *
********************/

/********************
*   系 统 宏 定 义  *
********************/

/*------------------*
*   常 数 宏 定 义  *
*------------------*/
# define LCD_CMD_DISP_ON                0x59
# define LCD_CMD_DISP_OFF               0x58
# define LCD_CMD_SYSTEM_SET             0x40
# define LCD_CMD_SLEEP_IN               0x53

# define LCD_SCREEN_GRAPHIC_DATA_COUNT  (40 * 240)
# define LCD_SCREEN_TEXT_DATA_COUNT     (40 * 30)

# define LCD_CURSOR_DIRECTION_RIGHT     0x00
# define LCD_CURSOR_DIRECTION_LEFT      0x01
# define LCD_CURSOR_DIRECTION_UP        0x02
# define LCD_CURSOR_DIRECTION_DOWN      0x03

/*------------------*
*   动 作 宏 定 义  *
*------------------*/
# define LCD_320240_DISPLAY_ENABLE      LCD_320240_Send_Command(LCD_CMD_DISP_ON);
# define LCD_320240_DISPLAY_DISABLE     LCD_320240_Send_Command(LCD_CMD_DISP_OFF);
# define LCD_320240_SLEEP               LCD_320240_Send_Command(LCD_CMD_SLEEP_IN);
# define LCD_320240_WAKE_UP             LCD_320240_Send_Command(LCD_CMD_SYSTEM_SET);
# define LCD_320240_LIGHT_ON            LCD_EL_ON = HIGH;
# define LCD_320240_LIGHT_OFF           LCD_EL_ON = LOW;

# define LCD_320240_CLS_TEXT            LCD_320240_CSRW(0x0000);\
                                        LCD_320240_CSRDIR(LCD_CURSOR_DIRECTION_RIGHT);\
                                        LCD_320240_Write_Display_Data_Stream(NULL,LCD_SCREEN_TEXT_DATA_COUNT,' ');\
                                        LCD_320240_CSRW(0x0000);
# define LCD_320240_CLS_GRAPHIC_MIDDLE  LCD_320240_CSRW(LCD_SCREEN_GRAPHIC_DATA_COUNT);\
                                        LCD_320240_CSRDIR(LCD_CURSOR_DIRECTION_RIGHT);\
                                        LCD_320240_Write_Display_Data_Stream(NULL,LCD_SCREEN_GRAPHIC_DATA_COUNT,0);\
                                        LCD_320240_CSRW(LCD_SCREEN_GRAPHIC_DATA_COUNT);
# define LCD_320240_CLS_GRAPHIC_FRONT   LCD_320240_CSRW(0x0000);\
                                        LCD_320240_CSRDIR(LCD_CURSOR_DIRECTION_RIGHT);\
                                        LCD_320240_Write_Display_Data_Stream(NULL,LCD_SCREEN_GRAPHIC_DATA_COUNT,0);\
                                        LCD_320240_CSRW(0x0000);               
# define LCD_320240_CLS_GRAPHIC_BACK    LCD_320240_CSRW(LCD_SCREEN_GRAPHIC_DATA_COUNT << 1);\
                                        LCD_320240_CSRDIR(LCD_CURSOR_DIRECTION_RIGHT);\
                                        LCD_320240_Write_Display_Data_Stream(NULL,LCD_SCREEN_GRAPHIC_DATA_COUNT,0);\
                                        LCD_320240_CSRW(LCD_SCREEN_GRAPHIC_DATA_COUNT << 1);
/********************
*  用户变量类型定义 *
********************/
typedef struct _LCD_320240_Scroll LCD_320240_SCROLL;
   
/********************
*    结构体定义区   *
********************/
struct _LCD_320240_Scroll
{
    uint16 SAD1;
    uint8  SL1;
    uint16 SAD2;
    uint8  SL2;
    uint16 SAD3;
    uint16 SAD4;
};

/********************
*   函 数 引 用 区  *
********************/
extern void LCD_320240_INIT(void);
extern void LCD_320240_Send_Command(uint8 chCMD);
extern void LCD_320240_Write_Display_Data_Stream(uint8 *pData,uint16 wLength,uint8 chBlankSymble);
extern uint8 *LCD320240_Read_Display_Data_Stream(uint8 *pData,uint16 wLength);
extern void LCD_320240_Scroll(LCD_320240_SCROLL *pScroll,uint8 chParameterID);
extern void LCD_320240_CSRW(uint16 wAddress);
extern void LCD_320240_Write_Display_Data(uint8 chData);
extern uint8 LCD_320240_Read_Display_Data(void);
extern void LCD_320240_CSRDIR(uint8 chDirection);

extern uint8 LCD_320240_Read_Status(void);

/********************
*   全局变量引用区  *
********************/


#endif

出0入296汤圆

发表于 2008-2-10 22:03:57 | 显示全部楼层
#ifndef _USE_GRAPHIC_USER_INTERFACE_CONFIG_H_
#define _USE_GRAPHIC_USER_INTERFACE_CONFIG_H_
/***********************************************************
*   声明库说明:GUI配置声明库                              *
*   版本:      v1.00                                      *
*   作者:      王卓然                                     *
*   创建日期:  2007年11月12日                             *
* -------------------------------------------------------- *
*  [支 持 库]                                              *
*   支持库名称:RD_MacroAndConst.h                         *
*   需要版本:  v0.01 &abv                                 *
*   支持库说明:系统常用宏定义库                           *
*                                                          *
*   支持库名称:PF_Config.h                                *
*   需要版本:  -----                                      *
*   支持库说明:硬件平台配置声明库                         *
* -------------------------------------------------------- *
*  [版本更新]                                              *
*   修改:                                                 *
*   修改日期:                                             *
*   版本:                                                 *
* -------------------------------------------------------- *
*  [版本历史]                                              *
* -------------------------------------------------------- *
*  [使用说明]                                              *
***********************************************************/

/********************
* 头 文 件 配 置 区 *
********************/
# include "RD_MacroAndConst.h"
# include "PF_Config.h"



//LCD320240驱动
# define LCD_EL_ON          _PB6
# define LCD_DISP_OFF       _PB7
# define LCD_DATA_OUT       PORTA
# define LCD_DATA_IN        PINA
# define LCD_DATA_DDR       DDRA
# define LCD_A0             _PC4
# define LCD_CS             _PC5
# define LCD_WR             _PC7
# define LCD_RD             _PC6
# define LCD_RST            _PC2

# define LCD_320240_TC_R    100   

# include "RD_LCD320240.h"

# define GUI_SET_DISPLAY_ADDRESS(n) LCD_320240_CSRW(n);
# define GUI_DISPLAY_WIDTH          320
# define GUI_DISPLAY_HEIGHT         240

//ASCII子模库
# define ASC_BITMAP_168_USE_EXTEND_CHARACTER_SET
# include "RD_ASC16_BitMap.h"

//汉字显示模块


# include "RD_TextDisplay.h"

/********************
*   系 统 宏 定 义  *
********************/

/*------------------*
*   常 数 宏 定 义  *
*------------------*/

/*------------------*
*   动 作 宏 定 义  *
*------------------*/

/********************
*  用户变量类型定义 *
********************/

/********************
*    结构体定义区   *
********************/

/********************
*   函 数 引 用 区  *
********************/
extern void GUI_INIT(void);
/********************
*   全局变量引用区  *
********************/

#endif

出0入296汤圆

发表于 2008-2-10 22:09:04 | 显示全部楼层
/***********************************************************
*   函数库说明:GUI配置库                                  *
*   版本:      v1.00                                      *
*   作者:      王卓然                                     *
*   创建日期:  2007年11月12日                             *
* -------------------------------------------------------- *
*  [支 持 库]                                              *
*   支持库名称:RD_MacroAndConst.h                         *
*   需要版本:  v0.01 &abv                                 *
*   支持库说明:系统常用宏定义库                           *
*                                                          *
*   支持库名称:GUI_Config.h                               *
*   需要版本:  -----                                      *
*   支持库说明:GUI配置声明库                              *
* -------------------------------------------------------- *
*  [版本更新]                                              *
*   修改:                                                 *
*   修改日期:                                             *
*   版本:                                                 *
* -------------------------------------------------------- *
*  [版本历史]                                              *
* -------------------------------------------------------- *
*  [使用说明]                                              *
***********************************************************/

/********************
* 头 文 件 配 置 区 *
********************/
# include "RD_MacroAndConst.h"
# include "GUI_Config.h"

/********************
*   系 统 宏 定 义  *
********************/

/*------------------*
*   常 数 宏 定 义  *
*------------------*/

/*------------------*
*   动 作 宏 定 义  *
*------------------*/

/********************
*  用户变量类型定义 *
********************/

/********************
*  模块结构体定义区 *
********************/

/********************
*   函 数 声 明 区  *
********************/
void GUI_INIT(void);

/********************
*   模块函数声明区  *
********************/

/********************
*   模块变量声明区  *
********************/

/********************
*   全局变量声明区  *
********************/

/***********************************************************
*   函数说明:GUI初始化函数                                *
*   输入:    无                                           *
*   输出:    无                                           *
*   调用函数:LCD_320240_INIT()                            *
***********************************************************/
void GUI_INIT(void)
{
    LCD_320240_INIT();
}

出0入0汤圆

发表于 2008-4-24 09:40:59 | 显示全部楼层
强人,怎么阿莫没有把这个液晶驱动共享?

出0入0汤圆

发表于 2008-5-23 15:42:17 | 显示全部楼层
发现宝藏了!谢谢Gorgon Meducer 傻孩子!

出0入0汤圆

发表于 2008-5-28 23:56:58 | 显示全部楼层
好人啊,谢谢了

出0入0汤圆

发表于 2008-5-29 17:26:56 | 显示全部楼层
我最近正在因为液晶选型发愁,碰巧看见本帖的液晶屏的型号。还有驱动可以学习。
做一下记号!好帖帮顶。

出0入0汤圆

发表于 2008-5-29 21:15:16 | 显示全部楼层
记号!

出0入0汤圆

发表于 2009-2-27 10:24:02 | 显示全部楼层
看起来很像我现在用的,仔细看看又不像,没关系,先下下来看看,谢谢了

出0入0汤圆

发表于 2009-4-24 22:17:19 | 显示全部楼层
记下....

出0入0汤圆

发表于 2010-6-18 00:57:58 | 显示全部楼层
要好好看看

出0入0汤圆

发表于 2010-7-15 17:19:01 | 显示全部楼层
TO:【9楼】 Gorgon Meducer 傻孩子
你给的程序不全,我花了很多时间来整理。

出0入85汤圆

发表于 2011-1-4 13:59:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-26 02:17:01 | 显示全部楼层
最近也在为选屏头疼,看过此贴。就顶一把了

出0入0汤圆

发表于 2011-4-26 08:04:06 | 显示全部楼层
1,TO :三樓  radio 13305和1335隻是新舊版本而已,供電都是2.7-5.5V之間,指令是一樣的,PIN腳定議也是一樣的(附1335和13305的SPEC)。RA8835與此IC可完全兼容!
  

2,這屏我手上也有塊,誰想要,便宜些拿去!   QQ:8 5 9 2 0 7 6 11



点击此处下载 ourdev_633674DRZLOS.pdf(文件大小:542K) (原文件名:S1D13305F00B100.pdf)
点击此处下载 ourdev_633675FT9ION.pdf(文件大小:383K) (原文件名:SED1335.pdf)

出0入0汤圆

发表于 2011-7-27 10:17:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-8-23 12:20:29 | 显示全部楼层
进来学习,最近准备折腾320240.............
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 01:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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