久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4371|回復: 3
收起左側

各位大神,誰有用51驅動128x64的LCD,驅動芯片是ST7567

[復制鏈接]
ID:127575 發表于 2016-6-21 17:09 | 顯示全部樓層 |閱讀模式
各位大神幫幫忙,程序的時序沒有問題,硬件方面參考手冊,現在貼上c文件,


#include "reg51.h"
#include "absacc.h"
#define unchar  unsigned char
#define unint   unsigned int
//--------------------------------------------------------- 4線SPI接口 驅動
                                                                                                                                                  
sbit    RSTB        =P1^3;

sbit    SDI     =P1^0;
sbit        SCL                =P2^0;
sbit    CS0          =P1^4;
sbit    A0      =P1^2;

sbit    KEY            =P1^5;
//sbit    LED            =P2^0;
unchar code graphic1[]=
{

/*--  寬度x高度=128x64  --*/
0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x81,0xC1,0x41,0x41,0x41,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x81,0x01,0x01,0x81,0x81,0xC1,0x01,0x81,0xC1,0x81,0x81,0xC1,0xC1,0x01,
0x81,0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xE0,0xBC,0x84,0xC4,0x74,0x10,0x18,0x08,0x08,0x08,0x60,0xF0,0xB0,
0xD0,0xF0,0xF8,0xFC,0xFE,0xFF,0xE7,0xF3,0xFD,0xF8,0xFC,0xFE,0xFE,0xFF,0xFD,0xFC,
0xFC,0xFE,0xF6,0xF2,0xD0,0x80,0x00,0x00,0x80,0x00,0xE0,0xC0,0xF0,0xF8,0xFE,0xFC,
0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,
0xFF,0xFE,0xFE,0xFF,0xF9,0xFC,0xF4,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFC,0xF8,0xFC,0xFC,0xFE,0xFE,
0xFA,0xFA,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x02,0x47,0xC7,0xCF,0xDF,0xEF,0xEE,0xEE,0xEF,0xF7,0x77,0x7F,0x7F,
0x3F,0x1F,0x1F,0x3F,0x3F,0x3F,0xFF,0xDF,0xD7,0xD7,0xD5,0xC5,0xE5,0xF1,0xFF,0xFF,
0xFF,0xFF,0xFF,0x7F,0xFF,0xD9,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,
0xBF,0xDF,0x4F,0x77,0x83,0x03,0x01,0x00,0x00,0xC0,0xC0,0xF0,0xF8,0xFC,0xFE,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
0xF0,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x01,0x00,0x01,0x01,0x03,0x03,0x07,0x07,
0x05,0x05,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x81,0xC1,0x43,0xC7,0xC3,0x07,0x03,0x02,0x00,
0x00,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xE7,0xF7,0xFF,0xFF,0xF7,
0xFB,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xCF,0xC7,0x85,0x86,0x87,
0x8F,0x8F,0x1D,0x19,0x3D,0x3C,0x3C,0x7C,0x7D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0xF7,0xFB,0xF8,0xFC,0xF8,0xF8,0xFC,0xFE,0xF8,0xFC,0xFE,0xFC,0xFF,0xFF,
0xFF,0xFF,0x7F,0x7F,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xE0,0xC0,0x67,0x7C,0x3F,0x3B,0x39,0x1C,0x1C,0x0E,0x0F,
0x0F,0x0F,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
0x1F,0x0F,0x0F,0x0F,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x01,0x21,0x71,0x59,0x9B,
0xEF,0x7F,0x3F,0x03,0x03,0x01,0x01,0x03,0x00,0x00,0x03,0x07,0x07,0x03,0x07,0x07,
0x0F,0x07,0x07,0x0F,0x07,0x0F,0x0F,0x0F,0x1F,0x9F,0x9F,0xDF,0xFB,0xFB,0x79,0x39,
0x19,0x18,0x08,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x80,0x80,
0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0xC0,0xC0,0x00,0x00,
0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,
0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x01,0x01,0x80,0x80,0x00,0x01,0x01,0x00,
0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x84,0xEC,0x79,0x93,0xD7,0x77,0xFF,0xFD,0x6B,0xCB,
0x89,0x80,0x80,0x00,0x00,0x40,0x48,0x7F,0x3F,0xA4,0xE4,0x7F,0x3F,0x7F,0x7F,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x02,0x02,0x7A,0x7A,0xFE,0xFF,0x25,0x7D,0x7D,0x01,0x01,
0x00,0x00,0x00,0x48,0x69,0x39,0xFF,0xFF,0x14,0x24,0x25,0x35,0xFF,0xFF,0x10,0x10,
0x00,0x00,0x00,0x3E,0x3F,0x25,0x3F,0xBF,0xFF,0x7F,0x14,0x14,0xFF,0xFF,0x00,0x00,
0x00,0x08,0x2C,0xFF,0xFB,0xEA,0xC2,0xFD,0x7F,0xF3,0xFF,0x0E,0xC0,0xC0,0x00,0x00,
0x48,0x69,0x39,0xFF,0xFF,0x14,0x24,0x25,0x35,0xFF,0xFF,0x10,0x10,0x00,0x00,0x44,
0x64,0xFF,0xFF,0x0A,0x12,0xB2,0xFF,0xFF,0xB9,0x81,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x81,0x80,0x80,0x83,0x83,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x81,0x80,0x80,0x80,0x80,0x80,0x83,
0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x81,0x80,0x80,0x80,0x80,0x83,0x83,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x82,0x83,0x81,0x80,0x80,0x81,0x83,0x83,0x81,0x80,0x80,
0x80,0x80,0x80,0x81,0x81,0x81,0x81,0x80,0x80,0x80,0x81,0x81,0x81,0x81,0x80,0x80,
0x80,0x80,0x80,0x81,0x81,0x80,0x80,0x80,0x80,0x83,0x83,0x80,0x80,0x80,0x80,0x80,
0x81,0x83,0x83,0x81,0x81,0x81,0x80,0x80,0x81,0x81,0x81,0x81,0x80,0x80,0x80,0xFF,
};
void Init_ST7567();
void Write_ST7567_COM(unchar COMDADA_4SPI);
void Write_ST7567_DISPLAY_DATA_serial_4SPI(unchar DADA_4SPI);
void Delay_ms(unsigned long value);
void HDReset();
void Keypress(void);
void clear_screen(unchar xx);
void Display_pic1();


void main()
{
//      Write_ST7567_COM(0xe2);       
//        SCL=1;
        Init_ST7567();

        while(1)
        {
//         clear_screen(0x33);
//                 Keypress();         
//         clear_screen(0xff);
//                 Keypress();
//         clear_screen(0x55);
//                 Keypress();
//         clear_screen(0xaa);
//                 Keypress();
//         Display_pic1();
//         Keypress();
//          Write_ST7567_COM(0xa7);           // //0xa6正向顯示,0xa7反向顯示
         Display_pic1();
         Keypress();
         }

}

//--------------------------------------------------------------------------

void Init_ST7567()
{
        HDReset();
        Delay_ms(100);

       Write_ST7567_COM(0xe2);          //SOFT RESET//寄存器復位

       Write_ST7567_COM(0xaf);          //0xaf顯示器開
       Write_ST7567_COM(0x2f);          //0x2f升壓電路,電壓管理電路,
                     
       Write_ST7567_COM(0x25);           //0x20-0x27為V5電壓內部電阻調整設置

       Write_ST7567_COM(0x81);           // SET EV 調對比度
       Write_ST7567_COM(0x1F);           //0x01-0x3f電量寄存器設置模式

       Write_ST7567_COM(0xa0);           //0xa0為Segment正向,0xa1 為Segment反向
                     
       Write_ST7567_COM(0xc8);           //0xc0正向掃描,0xc8反射掃描

       Write_ST7567_COM(0xa6);           // //0xa6正向顯示,0xa7反向顯示
       Write_ST7567_COM(0xa4);           // //0xa4正常顯示,0xa5全屏點亮

//      Write_ST7567_COM(0xac);           //
//      Write_ST7567_COM(0x00);       

       Write_ST7567_COM(0xf8);           // //背壓比設置
       Write_ST7567_COM(0x00);                 //00--10
}


void clear_screen(unchar xx)
{
unchar i,j;
for(i=0;i<8;i++)
        {
                CS0=0;
                Write_ST7567_COM(0xb0+i);         //SET PAGE 0---8
            Write_ST7567_COM(0x10);         //SET COLUMN MSB
                Write_ST7567_COM(0x00);          //SET CLUMN LSB
                for(j=0;j<128;j++)
                {
                        Write_ST7567_DISPLAY_DATA_serial_4SPI(xx);
                }
         }
}

void Display_pic1()
{
        unint i,j,adressd=0;

        for(i=0;i<8;i++)
        {
                CS0=0;
                Write_ST7567_COM(0xb0+i);
            Write_ST7567_COM(0x10);
                Write_ST7567_COM(0x00);
                for(j=0;j<128;j++)
                {
                        Write_ST7567_DISPLAY_DATA_serial_4SPI(graphic1[adressd]);
                        adressd++;
                }
        }
}
//***************************************************************************SPI4
void Write_ST7567_COM(unchar COMDADA_4SPI)
{
        unchar bit8;
        A0=0;
        CS0=0;
        for(bit8=0;bit8<8;bit8++)
        {
                Delay_ms(10);
                SCL=0;
                Delay_ms(10);
                if((COMDADA_4SPI&0x80)==0x80)
                SDI=1;
                else               
                SDI=0;
                        Delay_ms(10);
                SCL=1;
                        Delay_ms(10);
                COMDADA_4SPI=(COMDADA_4SPI<<1);

        }
    CS0=1;
                       
}

void Write_ST7567_DISPLAY_DATA_serial_4SPI(unchar DADA_4SPI)
{   
        unchar bit8;
        A0=1;
        CS0=0;                               

        for(bit8=0;bit8<8;bit8++)
        {
        Delay_ms(10);
                SCL=0;
                Delay_ms(10);
                if((DADA_4SPI&0x80)==0x80)
                SDI=1;
                else
                SDI=0;
                Delay_ms(10);
                SCL=1;
                DADA_4SPI=(DADA_4SPI<<1);

        }
        CS0=1;
}

               
void Delay_ms(unsigned long value)
{
        unint i,j;
    for (i=0;i<value;i++)
                for (j=0;j<500;j++);
}

void HDReset()
{
        RSTB=0;
        Delay_ms(2);
        RSTB=1;
        Delay_ms(4);
}

void Keypress()
        {
        while(KEY)
        Delay_ms(10);
        }                  

回復

使用道具 舉報

ID:127575 發表于 2016-6-21 17:11 | 顯示全部樓層
完全不知道問題出在哪,各位大神幫幫忙,或者能提供一份已經調試成功的51版本ST7567LCD驅動,小弟感激不盡

回復

使用道具 舉報

ID:748788 發表于 2023-4-16 17:08 | 顯示全部樓層
程序沒錯,編譯下載可用
回復

使用道具 舉報

ID:996773 發表于 2023-4-17 10:47 | 顯示全部樓層
還是自己寫一個吧,驅動12864是基本功,這個不會自己寫,路很難走
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 水蜜桃久久夜色精品一区 | 欧美日韩一 | 欧美午夜影院 | 日韩av一区二区在线观看 | 欧美一卡二卡在线观看 | 久久精品日产第一区二区三区 | 亚洲一区精品在线 | 成人av播放| 国产美女久久久 | 麻豆av电影网 | 久久久久久高潮国产精品视 | 最近中文字幕在线视频1 | 亚洲国产aⅴ成人精品无吗 综合国产在线 | 一区二区片| 日韩在线观看精品 | 久热国产在线 | 久久久久国产精品 | 色黄视频在线 | 精品视频在线播放 | 国产99在线 | 欧美 | 久久专区 | 日本在线中文 | 91在线精品一区二区 | 亚洲国产精品一区二区第一页 | 国产一区日韩在线 | 欧美成年网站 | 成人精品视频99在线观看免费 | 日本韩国欧美在线观看 | 日韩欧美二区 | 人人澡人人射 | 欧美在线网站 | 亚洲人人 | 国产精品国产精品 | 久久久久国产视频 | 一级特黄视频 | 成人免费视频网站在线观看 | 亚洲一区国产 | 91不卡在线 | 国产区在线 | 97久久久 | 久久久看 |