切换到宽版
  • 11010阅读
  • 32回复

[C51]请教下,这张12864屏怎么和51最小系统板上的12864接口连接 [复制链接]

上一主题 下一主题
离线hzjackboy
 

发帖
1045
M币
1788
专家
6
粉丝
46
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2013-10-29
如图的屏,点亮了,运行一会儿花了,何解?
屏接口如下




测试程序如下
#include <reg51.h>
#define Disp_On  0x3f
#define Disp_Off 0x3e
#define Col_Add  0x40
#define Page_Add 0xb8
#define Start_Line 0xc0

sbit Mcs=P2^0;                  
sbit Scs=P2^1;                  
sbit Enable=P2^4;                
sbit Di=P2^2;                      
sbit RW=P2^3;                      

/**********************************字模表***********************************/
char code huan[]={
/*--  文字:  欢  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x14,0x24,0x44,0x84,0x64,0x1C,0x20,0x18,0x0F,0xE8,0x08,0x08,0x28,0x18,0x08,0x00,
0x20,0x10,0x4C,0x43,0x43,0x2C,0x20,0x10,0x0C,0x03,0x06,0x18,0x30,0x60,0x20,0x00,
};
char code yun2[]={
/*--  文字:  迎  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x41,0xCE,0x04,0x00,0xFC,0x04,0x02,0x02,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,
0x40,0x20,0x1F,0x20,0x40,0x47,0x42,0x41,0x40,0x5F,0x40,0x42,0x44,0x43,0x40,0x00,
};
char code shi[]={
/*--  文字:  使  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,
0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00,
};
char code yong[]={
/*--  文字:  用  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,
0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,
};


char code dan[]={
/*--  文字:  单  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,
0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,
};
char code pian[]={
//*--  文字:  片  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x18,0x10,0x00,
0x80,0x40,0x30,0x0F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,
};
char code ji[]={
/*--  文字:  机  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,
};
char code kai[]={
/*--  文字:  开  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
};
char code fa[]={
/*--  文字:  发  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x3E,0x10,0x10,0xF0,0x9F,0x90,0x90,0x92,0x94,0x1C,0x10,0x10,0x10,0x00,
0x40,0x20,0x10,0x88,0x87,0x41,0x46,0x28,0x10,0x28,0x27,0x40,0xC0,0x40,0x00,0x00,
};
char code ban[]={
/*--  文字:  板  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x10,0x10,0xD0,0xFF,0x50,0x90,0x00,0xFE,0x62,0xA2,0x22,0x21,0xA1,0x61,0x00,0x00,
0x04,0x03,0x00,0x7F,0x00,0x11,0x0E,0x41,0x20,0x11,0x0A,0x0E,0x31,0x60,0x20,0x00,
};

char code dang[]={
/*--  文字:  当  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x40,0x42,0x5C,0x48,0x40,0x40,0x7F,0x40,0x50,0x4E,0x44,0xC0,0x00,0x00,
0x00,0x00,0x20,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7F,0x00,0x00,
};

char code qian[]={
/*--  文字:  前  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x08,0xE8,0xA8,0xA9,0xAE,0xEA,0x08,0x08,0xC8,0x0C,0x0B,0xEA,0x08,0x08,0x00,
0x00,0x00,0x7F,0x04,0x24,0x44,0x3F,0x00,0x00,0x1F,0x40,0x80,0x7F,0x00,0x00,0x00,
};

char code zhuang[]={
/*--  文字:  状  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00,
0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00,
};

char code tai1[]={
/*--  文字:  态  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00,
0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00,
};

char code yun[]={
/*--  文字:  运  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x41,0xCE,0x04,0x00,0x20,0x22,0xA2,0x62,0x22,0xA2,0x22,0x22,0x22,0x20,0x00,
0x40,0x20,0x1F,0x20,0x28,0x4C,0x4A,0x49,0x48,0x4C,0x44,0x45,0x5E,0x4C,0x40,0x00,
};

char code xing[]={
/*--  文字:  行  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x10,0x08,0x84,0xC6,0x73,0x22,0x40,0x44,0x44,0x44,0xC4,0x44,0x44,0x44,0x40,0x00,
0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,
};

char code zhong[]={
/*--  文字:  中  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,0x00,
0x00,0x00,0x07,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00,
};

char code maohao[]={
/*--  文字:  :  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
};

void delay(unsigned int t)
{
    unsigned int i,j;
    for(i=0;i<t;i++)
    for(j=0;j<10;j++);
}

void write_com(unsigned char cmdcode)
{
    Di=0;
    RW=0;
    P0=cmdcode;        
    delay(2);
    Enable=1;
    delay(2);
    Enable=0;
}

void write_data(unsigned char Dispdata)
{
    Di=1;
    RW=0;
    P0=Dispdata;
    delay(2);
    Enable=1;
    delay(2);
    Enable=0;
}

void Clr_Scr()
{
    unsigned char j,k;
    Mcs=0;Scs=0;
     write_com(Page_Add+0);
     write_com(Col_Add+0);
     for(k=0;k<8;k++)
         {
        write_com(Page_Add+k);
          for(j=0;j<64;j++)write_data(0x00);
        }
    Mcs=1;Scs=1;
}

void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
{
    unsigned char j=0,i=0;
    for(j=0;j<2;j++)
    {
        write_com(Page_Add+pag+j);
        write_com(Col_Add+col);
        for(i=0;i<16;i++)
        write_data(hzk[16*j+i]);
    }
}

void init_lcd()
{
    delay(100);
    Mcs=0;
    Scs=0;
    delay(100);
    write_com(Disp_Off);
    write_com(Page_Add+0);
    write_com(Start_Line+0);
    write_com(Col_Add+0);
    write_com(Disp_On);
}

void main(void)
{
    init_lcd();
     Clr_Scr();
     while(1)
    {
        Mcs=0;Scs=1;            
        delay(2);
        hz_disp16(0,32,huan);
        hz_disp16(0,48,yun2);
        hz_disp16(2,16,dan);
        hz_disp16(2,32,pian);
        hz_disp16(2,48,ji);
        hz_disp16(4,0,dang);
        hz_disp16(4,16,qian);
        hz_disp16(4,32,zhuang);
        hz_disp16(4,48,tai1);
        Mcs=1;Scs=0;                
        hz_disp16(0,0,shi);
        hz_disp16(0,16,yong);
        hz_disp16(2,0,kai);
        hz_disp16(2,16,fa);
        hz_disp16(2,32,ban);    
        hz_disp8(4,0,maohao);
        hz_disp16(4,8,yun);
        hz_disp16(4,24,xing);
        hz_disp16(4,40,zhong);
        delay(2);
    }
}
按这个程序是不是接5个脚就ok了

本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线zjhchp

发帖
25231
M币
3770
专家
8
粉丝
118
只看该作者 1楼 发表于: 2013-10-29
请登录后查看
离线devcang

发帖
18104
M币
9149
专家
20
粉丝
97
只看该作者 2楼 发表于: 2013-10-29
请登录后查看
离线aqxgm

发帖
6039
M币
17555
专家
161
粉丝
532
只看该作者 3楼 发表于: 2013-10-29
请登录后查看
离线hzjackboy

发帖
1045
M币
1788
专家
6
粉丝
46
只看该作者 4楼 发表于: 2013-10-29
回 aqxgm 的帖子
请登录后查看
离线zhang_yy007

发帖
2839
M币
1518
专家
6
粉丝
62
只看该作者 5楼 发表于: 2013-10-29
回 hzjackboy 的帖子
请登录后查看
离线wjwjwjwj

发帖
592
M币
179
专家
0
粉丝
11
只看该作者 6楼 发表于: 2013-10-29
请登录后查看
离线whty2010

发帖
526
M币
922
专家
6
粉丝
51
只看该作者 7楼 发表于: 2013-10-30
请登录后查看
离线温力口

发帖
60313
M币
51283
专家
569
粉丝
909
只看该作者 8楼 发表于: 2013-10-30
请登录后查看
本帖最近打赏记录:共1条打赏 ,M币+5
离线chenppo

发帖
2019
M币
258
专家
27
粉丝
142
只看该作者 9楼 发表于: 2013-10-30
请登录后查看
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个