⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sed1335控制器汉字显示.txt

📁 C51源程序集合 包括以下目录源码 ├─AD-MSP430f149D ├─ADC8535 ├─bin ├─c51源程序 ├─c51源程序锦集 ├─ct2Timer ├─
💻 TXT
字号:
关于SED1335控制器汉字显示 [Xiao Zhiquan] [34次] 01-4-23 下午 08:52:37
那位高手知道SED1335控制器汉字显示编程,我有其汇编程序,但看不懂。 

什么程序? [牧童] [24次] 01-4-23 下午 09:45:43 
我以前用过sed1330我想差不多,有一个汉字显示的例子,我后来看懂了,我也不知道你什
么地方不明白,你可以给我发email:hao_wei@china.com,我或许可以帮你。 

我也在做这个 [Dermao] [23次] 01-4-24 11:51:08 
我现在正用C来做,我想汇编的思路也差不多,主要就是先写CSRW(set cursor 
address),再CSRDIR(set the cursor auto-increment direction),再MWRITE(write 
to the display memory)好了,数据都是点阵了。 

仔细传授可以吗? [Xiao Zhiquan] [8次] 01-4-24 15:48:08 
你是否看了其使用手册和汇编程序?我想将它变成C程序,但每看懂汇编。能否具体讲讲C编程的
思路? 

关于SED1335控制器汉字显示C程序 [zx] [41次] 01-4-25 上午 10:48:35 
//对液晶控制器SED1330的读写
#include <W77C32.H>
#include "sch.h"
#define SYSTEM_SET  0X40        
#define SLEEP_IN      0X53        
#define DISP_ON      0X59        
#define DISP_OFF      0X58        
#define SCROLL      0X44        
#define CSRFORM      0X5D        
#define CGRAM_ADR      0X5C        
#define CSRDIR_UP      0X4E        
#define CSRDIR_DOWN    0X4F        
#define CSRDIR_LEFT  0X4D        
#define CSRDIR_RIGHT 0X4C        
#define HDOT_SCR      0X5A        
#define OVLAY          0X5B        
#define CSRW          0X46        
#define CSRR          0X47        
#define MWRITE      0X42        
#define MREAD          0X43        

#define SAD1      0        
#define SAD2      0x2580        
#define SAD3      0x4B00        
#define AP      40        
#define Turn_OFF      0        
#define Turn_ON          1        
#define Twinkle_in_slow          2        
#define Twinkle_in_fast          3        
unsigned char code Cursor[4]={0,1,2,3};
unsigned char code First_area[4]={0,0x4,0x8,0xC};
unsigned char code Sec_Fourth_area[4]={0,0x10,0x20,0x30};
unsigned char code Third_area[4]={0,0x40,0x80,0xC0};
unsigned char code system_set_code[8]
    ={0x30,0x87,0x07,39,60,239,40,0};
//    ={0x30,0x87,0x07,39,66,240,48,0};
unsigned char code scroll_set_code[10]
    ={0x0,0x0,240,0x80,0x25,240,0x00,0x4B,0x80,0x70};
//    ={0x0,0x0,240,0x80,0x25,240,0x00,0x4B,0x80,0x70};
//    ={0x0,0x0,240,0x00,0x10,240,0x00,0x01,0x00,0x18};

void SED1330_system_set(void)
{
    unsigned char temp;
    SED1330_set_instruction = SYSTEM_SET;
    for(temp = 0; temp <8; temp++)
    {
        SED1330_set_data  = system_set_code[temp];
    }
}

void SED1330_scroll_set(void)
{
    unsigned char temp;
    SED1330_set_instruction = SCROLL;
    for(temp = 0; temp <10; temp++)
    {
        SED1330_set_data  = scroll_set_code[temp];
    }
}

void SED1330_set_display_memory(unsigned char * temp_display_memory,unsigned 
int length)
{
    unsigned int temp;
    SED1330_set_instruction = MWRITE;
    for(temp = 0; temp <length; temp++)
    {
        SED1330_set_data  = *(temp_display_memory + temp);
    }
}

void SED1330_get_display_memory(unsigned char * temp_display_memory,unsigned 
int length)
{
    unsigned int temp;
    SED1330_set_instruction = MREAD;
    for(temp = 0; temp <length; temp++)
    {
        *(temp_display_memory + temp) = SED1330_read_data;
    }
}

/*
void SED1330_set_CGRAM_address(unsigned int SAG)
{
    SED1330_set_instruction = CGRAM_ADR;
    SED1330_set_data  = SAG % 256;
    SED1330_set_data  = SAG / 256;
}

unsigned int SED1330_get_cursor_address(void)
{
    unsigned int temp;
    SED1330_set_instruction = CSRR;
    temp = SED1330_read_data;
    temp <<=8;
    temp += SED1330_read_data;
    return(temp);
}

void SED1330_sleep_IN(void)
{
    SED1330_set_instruction = SLEEP_IN;
    ENBL = 1;
}
*/

void SED1330_set_cursor_address(unsigned int cursor_address)
{
    SED1330_set_instruction = CSRW;
    SED1330_set_data  = cursor_address % 256;
    SED1330_set_data  = cursor_address / 256;
}

void SED1330_display_switch(unsigned char on_off,unsigned char P1)
{
    SED1330_set_instruction = on_off;
    SED1330_set_data = P1;
}

void SED1330_csrdir(unsigned char dir)
{
    SED1330_set_instruction = dir;
}

void SED1330_set_overlay(unsigned char overlay_mode)
{
    SED1330_set_instruction = OVLAY;
    SED1330_set_data = overlay_mode;
}

void SED1330_set_cursor_mode(unsigned char x, unsigned char y)
{
    SED1330_set_instruction = CSRFORM;
    SED1330_set_data = x;
    SED1330_set_data = y;
}

void SED1330_set_horizontal_scroll(unsigned char P1)
{
    SED1330_set_instruction = HDOT_SCR;
    SED1330_set_data = P1;
}



非常感谢,很实用,你在哪儿找的? [Dermao] [7次] 01-4-25 下午 04:13:10 

十分感谢 [Xiao Zhiquan] [6次] 01-4-25 下午 04:26:57 

还有问题 [Dermao] [13次] 01-4-25 下午 05:44:39 
(1)我用的sed1335,在定义显示区首地址时,是从0开始由左向右再折回的顺序吗?
(2)我现在这样用,lcd是宽240,高320,那在定义显示区时该如何定义?比如它只有一个
字节来指定行数,那现在就是320行了,不够,怎么办? 

关于SED1335控制器汉字显示  [zx] [24次] 01-4-26 下午 02:47:40 
程序是我自己照液晶手册编的,据说1335 和1330 一样。
对于不同的显示屏,只需修改
unsigned char code system_set_code[8]
    ={0x30,0x87,0x07,39,60,239,40,0};
//    ={0x30,0x87,0x07,39,66,240,48,0};
unsigned char code scroll_set_code[10]
    ={0x0,0x0,240,0x80,0x25,240,0x00,0x4B,0x80,0x70};
源程序中的数组就是320x240的。设置时不需指定行数,而是指定显存
的起始地址:0x80,0x25,layer2的起始地址0x2580,
0x00,0x4B,layer3的起始地址0x4B00,

                          zhangxun_@263.net


各位帮帮忙:帮我看看这个程序(LCD sed1335) [jackli] [9次] 01-9-18 下午 12:21:57 
这是图形显示模块的子程序,用PICKHZ.EXE提取的字模能正常显示,用horse2000横向取模
时,我改了一点,但却不能正常显示,我对字模的情况所知无几那位大虾请多多指点帮我改
改这程序!
对于SED1335的显示原理俺还是搞不懂,特别怎样控制320*240个点?#4f指令的用法,
CCTW:   MOV     A,COD
        MOV     B,#20H
        MUL     AB
        MOV     DPTR,#CCTAB1
        ADD     A,DPL
        PUSH    ACC
        MOV     A,B
        ADDC    A,DPH
        PUSH    ACC
        MOV     A,OY
        MOV     B,#AP
        MUL     AB
        ADD     A,OXL
        MOV     OXL,A
        MOV     A,B
        ADDC    A,#40H
        MOV     OY,A
        MOV     DPTR,#WC_ADD
        MOV     A,#4fH
        movx    @dptr,a
        MOV     COUNT1,#02H
CCTW1:  MOV     DPTR,#WC_ADD
        MOV     A,#46H
        movx    @DPTR,A
        MOV     DPTR,#WD_ADD
        MOV     A,OXL
        movx    @DPTR,A
        MOV     A,OY
        movx    @DPTR,A
        mov     dptr,#WC_ADD
        MOV     A,#42H
        movx    @DPTR,A
        MOV     COUNT2,#10H
CCTW2:    POP     DPH
        POP     DPL
        CLR     A
        MOVC    A,@A+DPTR
        INC     DPTR
        inc     dptr;这是我所加的
        PUSH    DPL
        PUSH    DPH
        MOV     DPTR,#WD_ADD
        movx    @DPTR,A
    DJNZ    COUNT2,CCTW2
 
{    POP     DPH
    POP    DPL

    MOV     A,COD
        MOV     B,#20H
        MUL     AB
        MOV     DPTR,#CCTAB1
    INC    DPTR
        ADD     A,DPL
        PUSH    ACC
        MOV     A,B
        ADDC    A,DPH
        PUSH    ACC}这儿是我加的原想是隔一字模写一次。
    

    MOV     A,OXL
        ADD     A,#01H
        MOV     OXL,A
        MOV     A,OY
        ADDC    A,#00H
        MOV     OY,A
        DJNZ    COUNT1,CCTW1
        POP     ACC
        POP     ACC
        ret 

 
点击这里回复这篇贴子>>
_____________________________________________________________________________
Copyright?,C51BBS论坛 2000-2001 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -