欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 10365|回復(fù): 22
打印 上一主題 下一主題
收起左側(cè)

16個(gè)管腳的12864,有用過(guò)的嗎

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:136609 發(fā)表于 2016-8-12 16:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)學(xué)習(xí)板上用的是16個(gè)管腳的12864,按照20個(gè)管腳的datasheet寫(xiě)了一段程序,但12864不起作用,是程序?qū)懙牟粚?duì),還是datasheet不對(duì),找不到16個(gè)管腳的datasheet,以下是我寫(xiě)的程序:

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dis1[]={"welcome"};
uchar code dis2[]={"2016-08-11"};

sbit lcde=P2^7;     // 使能,下降沿寫(xiě)數(shù)據(jù),為1的時(shí)候讀數(shù)據(jù)
sbit rd=P2^6;     //rd=0 指令,rd=1 數(shù)據(jù)
sbit wr=P2^5;     //wr=0 往lcd寫(xiě),wr=1 讀lcd
uchar busy,j;

void delay(uchar z)
{
    uchar x,y;
    for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}

void write_com(uchar com)
{
    rd=0;
    wr=0;
    lcde=0;
    delay(10);
    P0=com;
    delay(10);
    lcde=1;
    delay(10);
    lcde=0;
    delay(10);
}

void write_date(uchar date)
{
    rd=1;
    wr=0;
    lcde=0;
    delay(10);
    P0=date;
    delay(10);
    lcde=1;
    delay(10);
    lcde=0;
    delay(10);
}

uchar lcd_busy()
{
    uchar busy;
    rd=0;
    wr=1;
    lcde=1;
    delay(1);
    lcde=0;
    busy=P0&0x80;  //P0.7為BF位,得到BF位
    return busy;
}

void init()
{
//    delay(10);
//    write_com(0x38);     //數(shù)據(jù)總線(xiàn)為8位,顯示2行
    delay(10);
    write_com(0x0c);    //顯示功能開(kāi),無(wú)光標(biāo),不閃爍
    delay(10);
    write_com(0x06);    //寫(xiě)入后光標(biāo)右移,屏幕不動(dòng)
    delay(10);
    write_com(0x01);    //清屏
    delay(10);

}

void lcd_disp_pos(uchar x,y)    //顯示位置函數(shù)
{
    uchar address;
    switch(x)
    {
        case 1:address=0x80+y;
            break;
        case 2:address=0x90+y;
            break;
        case 3:address=0x88+y;
            break;
        case 4:address=0x98+y;
            break;
    }
    delay(5);
    write_com(address);
}

void main()
{
    init();
    delay(10);
    lcd_disp_pos(1,2);
    j=0;
    while(dis1[j]!='\0')
    {
        delay(10);
        write_date(dis1[j]);
        j++;
    }
   
    lcd_disp_pos(2,2);
    j=0;
    while(dis2[j]!='\0')
    {
        delay(10);
        write_date(dis2[j]);
        j++;
    }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:136609 發(fā)表于 2016-8-12 17:04 | 只看該作者


上傳12864照片
回復(fù)

使用道具 舉報(bào)

板凳
ID:91424 發(fā)表于 2016-8-13 11:01 | 只看該作者
我用過(guò),
回復(fù)

使用道具 舉報(bào)

地板
ID:91424 發(fā)表于 2016-8-13 11:03 | 只看該作者
#include"st7565.h"

/*******************************************************************************
* 函 數(shù) 名         : LCD12864_WriteCmd
* 函數(shù)功能                   : 寫(xiě)入一個(gè)命令到12864
* 輸    入         : cmd
* 輸    出         : 無(wú)
*******************************************************************************/

void LcdSt7565_WriteCmd(cmd)
{
        LCD12864_CS = 0;           //chip select,打開(kāi)片選
        LCD12864_RD = 1;           //disable read,讀失能       
        LCD12864_RS = 0;       //select command,選擇命令
        LCD12864_RW = 0;       //select write,選擇寫(xiě)模式
        _nop_();
        _nop_();

        DATA_PORT = cmd; //put command,放置命令
        _nop_();
        _nop_();

        LCD12864_RW = 1;           //command writing ,寫(xiě)入命令
}

/*******************************************************************************
* 函 數(shù) 名         : LcdSt7565_WriteData
* 函數(shù)功能                   : 寫(xiě)入一個(gè)數(shù)據(jù)到12864
* 輸    入         : dat
* 輸    出         : 無(wú)
*******************************************************************************/

void LcdSt7565_WriteData(dat)
{       
        LCD12864_CS = 0;           //chip select,打開(kāi)片選
        LCD12864_RD = 1;           //disable read,讀失能       
        LCD12864_RS = 1;       //select data,選擇數(shù)據(jù)
        LCD12864_RW = 0;       //select write,選擇寫(xiě)模式
        _nop_();
        _nop_();

        DATA_PORT = dat;       //put data,放置數(shù)據(jù)
        _nop_();
        _nop_();

        LCD12864_RW = 1;           //data writing,寫(xiě)數(shù)據(jù)
}
/*******************************************************************************
* 函 數(shù) 名         : LCD12864_Init
* 函數(shù)功能                   : 初始化12864
* 輸    入         : 無(wú)
* 輸    出         : 無(wú)
* 說(shuō)    明         : LCD12864的命令指令可以查看例程文件夾下的《ST7565p數(shù)據(jù)手冊(cè)》
*                  * 的第51頁(yè)的位置。
*******************************************************************************/

void Lcd12864_Init()
{
        uchar i;
        LCD12864_RSET = 0;
        for (i=0; i<100; i++);
        LCD12864_CS = 0;
        LCD12864_RSET = 1;
       
        //----------------Star Initial Sequence-------//
        //------程序初始化設(shè)置,具體命令可以看文件夾下---//

        //--軟件初始化--//
        LcdSt7565_WriteCmd(0xE2);  //reset
        for (i=0; i<100; i++);           //延時(shí)一下

        //--表格第8個(gè)命令,0xA0段(左右)方向選擇正常方向(0xA1為反方向)--//
        LcdSt7565_WriteCmd(0xA1);  //ADC select segment direction
       
        //--表格第15個(gè)命令,0xC8普通(上下)方向選擇選擇反向,0xC0為正常方向--//
        LcdSt7565_WriteCmd(0xC8);  //Common direction
                         
        //--表格第9個(gè)命令,0xA6為設(shè)置字體為黑色,背景為白色---//
        //--0xA7為設(shè)置字體為白色,背景為黑色---//
        LcdSt7565_WriteCmd(0xA6);  //reverse display

        //--表格第10個(gè)命令,0xA4像素正常顯示,0xA5像素全開(kāi)--//
        LcdSt7565_WriteCmd(0xA4);  //normal display
       
        //--表格第11個(gè)命令,0xA3偏壓為1/7,0xA2偏壓為1/9--//
        LcdSt7565_WriteCmd(0xA2);  //bias set 1/9
       
        //--表格第19個(gè)命令,這個(gè)是個(gè)雙字節(jié)的命令,0xF800選擇增壓為4X;--//
        //--0xF801,選擇增壓為5X,其實(shí)效果差不多--//       
        LcdSt7565_WriteCmd(0xF8);  //Boost ratio set
        LcdSt7565_WriteCmd(0x01);  //x4
       
        //--表格第18個(gè)命令,這個(gè)是個(gè)雙字節(jié)命令,高字節(jié)為0X81,低字節(jié)可以--//
        //--選擇從0x00到0X3F。用來(lái)設(shè)置背景光對(duì)比度。---/
        LcdSt7565_WriteCmd(0x81);  //V0 a set
        LcdSt7565_WriteCmd(0x23);

        //--表格第17個(gè)命令,選擇調(diào)節(jié)電阻率--//
        LcdSt7565_WriteCmd(0x25);  //Ra/Rb set
       
        //--表格第16個(gè)命令,電源設(shè)置。--//
        LcdSt7565_WriteCmd(0x2F);
        for (i=0; i<100; i++);

        //--表格第2個(gè)命令,設(shè)置顯示開(kāi)始位置--//
        LcdSt7565_WriteCmd(0x40);  //start line

        //--表格第1個(gè)命令,開(kāi)啟顯示--//
        LcdSt7565_WriteCmd(0xAF);  // display on
        for (i=0; i<100; i++);

}

/*******************************************************************************
* 函 數(shù) 名         : LCD12864_ClearScreen
* 函數(shù)功能                   : 清屏12864
* 輸    入         : 無(wú)
* 輸    出         : 無(wú)
*******************************************************************************/

void Lcd12864_ClearScreen(void)
{
        uchar i, j;

        for(i=0; i<8; i++)
        {
                //--表格第3個(gè)命令,設(shè)置Y的坐標(biāo)--//
                //--Y軸有64個(gè),一個(gè)坐標(biāo)8位,也就是有8個(gè)坐標(biāo)--//
                //所以一般我們使用的也就是從0xB0到0x07,就夠了--//       
                LcdSt7565_WriteCmd(0xB0+i);

                //--表格第4個(gè)命令,設(shè)置X坐標(biāo)--//
                //--當(dāng)你的段初始化為0xA1時(shí),X坐標(biāo)從0x10,0x04到0x18,0x04,一共128位--//
                //--當(dāng)你的段初始化為0xA0時(shí),X坐標(biāo)從0x10,0x00到0x18,0x00,一共128位--//
                //--在寫(xiě)入數(shù)據(jù)之后X坐標(biāo)的坐標(biāo)是會(huì)自動(dòng)加1的,我們初始化使用0xA0所以--//
                //--我們的X坐標(biāo)從0x10,0x00開(kāi)始---//
                LcdSt7565_WriteCmd(0x10);
                LcdSt7565_WriteCmd(0x04);                                                          
               
                //--X軸有128位,就一共刷128次,X坐標(biāo)會(huì)自動(dòng)加1,所以我們不用再設(shè)置坐標(biāo)--//
                for(j=0; j<128; j++)
                {
                        LcdSt7565_WriteData(0x00);  //如果設(shè)置背景為白色時(shí),清屏選擇0XFF
                }
        }
}

/*******************************************************************************
* 函 數(shù) 名         : LCD12864_Write16CnCHAR
* 函數(shù)功能                   : 在12864上面書(shū)寫(xiě)16X16的漢字
* 輸    入         : x, y, cn
* 輸    出         : 無(wú)
* 說(shuō)    明                   : 該函數(shù)可以直接書(shū)寫(xiě)字符串,但是書(shū)寫(xiě)是從右到左,所以輸入的時(shí)
*                  * 侯注意輸入。漢字的取模方式請(qǐng)觀(guān)看文件夾下的《漢字取模軟件的
*                  * 使用說(shuō)明》
*******************************************************************************/

#ifdef  CHAR_CODE

#include"charcode.h"

uchar Lcd12864_Write16CnCHAR(uchar x, uchar y, uchar *cn)
{
        uchar j, x1, x2, wordNum;

        //--Y的坐標(biāo)只能從0到7,大于則直接返回--//
        if(y > 7)
        {
                return 0;
        }

        //--X的坐標(biāo)只能從0到128,大于則直接返回--//
        if(x > 128)
        {
                return 0;
        }
        y += 0xB0;           //求取Y坐標(biāo)的值
        //--設(shè)置Y坐標(biāo)--//
        LcdSt7565_WriteCmd(y);
        while ( *cn != '\0')         //在C語(yǔ)言中字符串結(jié)束以‘\0’結(jié)尾
        {       
       
                //--設(shè)置Y坐標(biāo)--//
                LcdSt7565_WriteCmd(y);

                x1 = (x >> 4) & 0x0F;   //由于X坐標(biāo)要兩句命令,分高低4位,所以這里先取出高4位
                x2 = x & 0x0F;          //去低四位
                //--設(shè)置X坐標(biāo)--//
                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                LcdSt7565_WriteCmd(0x04 + x2);        //低4位

                for (wordNum=0; wordNum<50; wordNum++)
                {
                    //--查詢(xún)要寫(xiě)的字在字庫(kù)中的位置--//
                        if ((CN16CHAR[wordNum].Index[0] == *cn)
                             &&(CN16CHAR[wordNum].Index[1] == *(cn+1)))
                        {
                                for (j=0; j<32; j++) //寫(xiě)一個(gè)字
                                {               
                                        if (j == 16)         //由于16X16用到兩個(gè)Y坐標(biāo),當(dāng)大于等于16時(shí),切換坐標(biāo)
                                        {
                                                //--設(shè)置Y坐標(biāo)--//
                                                   LcdSt7565_WriteCmd(y + 1);
                       
                                                //--設(shè)置X坐標(biāo)--//
                                                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                                                LcdSt7565_WriteCmd(0x04 + x2);        //低4位
                                        }
                                        LcdSt7565_WriteData(CN16CHAR[wordNum].Msk[j]);
                                }
                                x += 16;
                        }//if查到字結(jié)束               
                } //for查字結(jié)束       
                cn += 2;
        }        //while結(jié)束
        return 1;
}

#endif
回復(fù)

使用道具 舉報(bào)

5#
ID:91424 發(fā)表于 2016-8-13 11:03 | 只看該作者
#ifndef __ST7565_H
#define __ST7565_H

#include<reg51.h>
#include<intrins.h>

//---包含字庫(kù)頭文件
//#define CHAR_CODE


//---重定義關(guān)鍵詞---//
#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint unsigned int
#endif

//--定時(shí)使用的IO口--//
#define DATA_PORT P0
sbit LCD12864_CS   = P3^2;
sbit LCD12864_RSET = P3^3;
sbit LCD12864_RS   = P2^6;
sbit LCD12864_RW   = P2^7;
sbit LCD12864_RD   = P2^5;

//--定義全局函數(shù)--//
void LcdSt7565_WriteCmd(cmd);
void LcdSt7565_WriteData(dat);
void Lcd12864_Init();
void Lcd12864_ClearScreen(void);
uchar Lcd12864_Write16CnCHAR(uchar x, uchar y, uchar *cn);

#endif
回復(fù)

使用道具 舉報(bào)

6#
ID:91424 發(fā)表于 2016-8-13 11:04 | 只看該作者
#include"st7565.h"

/*******************************************************************************
* 函 數(shù) 名         : LCD12864_WriteCmd
* 函數(shù)功能                   : 寫(xiě)入一個(gè)命令到12864
* 輸    入         : cmd
* 輸    出         : 無(wú)
*******************************************************************************/

void LcdSt7565_WriteCmd(cmd)
{
        LCD12864_CS = 0;           //chip select,打開(kāi)片選
        LCD12864_RD = 1;           //disable read,讀失能       
        LCD12864_RS = 0;       //select command,選擇命令
        LCD12864_RW = 0;       //select write,選擇寫(xiě)模式
        _nop_();
        _nop_();

        DATA_PORT = cmd; //put command,放置命令
        _nop_();
        _nop_();

        LCD12864_RW = 1;           //command writing ,寫(xiě)入命令
}

/*******************************************************************************
* 函 數(shù) 名         : LcdSt7565_WriteData
* 函數(shù)功能                   : 寫(xiě)入一個(gè)數(shù)據(jù)到12864
* 輸    入         : dat
* 輸    出         : 無(wú)
*******************************************************************************/

void LcdSt7565_WriteData(dat)
{       
        LCD12864_CS = 0;           //chip select,打開(kāi)片選
        LCD12864_RD = 1;           //disable read,讀失能       
        LCD12864_RS = 1;       //select data,選擇數(shù)據(jù)
        LCD12864_RW = 0;       //select write,選擇寫(xiě)模式
        _nop_();
        _nop_();

        DATA_PORT = dat;       //put data,放置數(shù)據(jù)
        _nop_();
        _nop_();

        LCD12864_RW = 1;           //data writing,寫(xiě)數(shù)據(jù)
}
/*******************************************************************************
* 函 數(shù) 名         : LCD12864_Init
* 函數(shù)功能                   : 初始化12864
* 輸    入         : 無(wú)
* 輸    出         : 無(wú)
* 說(shuō)    明         : LCD12864的命令指令可以查看例程文件夾下的《ST7565p數(shù)據(jù)手冊(cè)》
*                  * 的第51頁(yè)的位置。
*******************************************************************************/

void Lcd12864_Init()
{
        uchar i;
        LCD12864_RSET = 0;
        for (i=0; i<100; i++);
        LCD12864_CS = 0;
        LCD12864_RSET = 1;
       
        //----------------Star Initial Sequence-------//
        //------程序初始化設(shè)置,具體命令可以看文件夾下---//

        //--軟件初始化--//
        LcdSt7565_WriteCmd(0xE2);  //reset
        for (i=0; i<100; i++);           //延時(shí)一下

        //--表格第8個(gè)命令,0xA0段(左右)方向選擇正常方向(0xA1為反方向)--//
        LcdSt7565_WriteCmd(0xA1);  //ADC select segment direction
       
        //--表格第15個(gè)命令,0xC8普通(上下)方向選擇選擇反向,0xC0為正常方向--//
        LcdSt7565_WriteCmd(0xC8);  //Common direction
                         
        //--表格第9個(gè)命令,0xA6為設(shè)置字體為黑色,背景為白色---//
        //--0xA7為設(shè)置字體為白色,背景為黑色---//
        LcdSt7565_WriteCmd(0xA6);  //reverse display

        //--表格第10個(gè)命令,0xA4像素正常顯示,0xA5像素全開(kāi)--//
        LcdSt7565_WriteCmd(0xA4);  //normal display
       
        //--表格第11個(gè)命令,0xA3偏壓為1/7,0xA2偏壓為1/9--//
        LcdSt7565_WriteCmd(0xA2);  //bias set 1/9
       
        //--表格第19個(gè)命令,這個(gè)是個(gè)雙字節(jié)的命令,0xF800選擇增壓為4X;--//
        //--0xF801,選擇增壓為5X,其實(shí)效果差不多--//       
        LcdSt7565_WriteCmd(0xF8);  //Boost ratio set
        LcdSt7565_WriteCmd(0x01);  //x4
       
        //--表格第18個(gè)命令,這個(gè)是個(gè)雙字節(jié)命令,高字節(jié)為0X81,低字節(jié)可以--//
        //--選擇從0x00到0X3F。用來(lái)設(shè)置背景光對(duì)比度。---/
        LcdSt7565_WriteCmd(0x81);  //V0 a set
        LcdSt7565_WriteCmd(0x23);

        //--表格第17個(gè)命令,選擇調(diào)節(jié)電阻率--//
        LcdSt7565_WriteCmd(0x25);  //Ra/Rb set
       
        //--表格第16個(gè)命令,電源設(shè)置。--//
        LcdSt7565_WriteCmd(0x2F);
        for (i=0; i<100; i++);

        //--表格第2個(gè)命令,設(shè)置顯示開(kāi)始位置--//
        LcdSt7565_WriteCmd(0x40);  //start line

        //--表格第1個(gè)命令,開(kāi)啟顯示--//
        LcdSt7565_WriteCmd(0xAF);  // display on
        for (i=0; i<100; i++);

}

/*******************************************************************************
* 函 數(shù) 名         : LCD12864_ClearScreen
* 函數(shù)功能                   : 清屏12864
* 輸    入         : 無(wú)
* 輸    出         : 無(wú)
*******************************************************************************/

void Lcd12864_ClearScreen(void)
{
        uchar i, j;

        for(i=0; i<8; i++)
        {
                //--表格第3個(gè)命令,設(shè)置Y的坐標(biāo)--//
                //--Y軸有64個(gè),一個(gè)坐標(biāo)8位,也就是有8個(gè)坐標(biāo)--//
                //所以一般我們使用的也就是從0xB0到0x07,就夠了--//       
                LcdSt7565_WriteCmd(0xB0+i);

                //--表格第4個(gè)命令,設(shè)置X坐標(biāo)--//
                //--當(dāng)你的段初始化為0xA1時(shí),X坐標(biāo)從0x10,0x04到0x18,0x04,一共128位--//
                //--當(dāng)你的段初始化為0xA0時(shí),X坐標(biāo)從0x10,0x00到0x18,0x00,一共128位--//
                //--在寫(xiě)入數(shù)據(jù)之后X坐標(biāo)的坐標(biāo)是會(huì)自動(dòng)加1的,我們初始化使用0xA0所以--//
                //--我們的X坐標(biāo)從0x10,0x00開(kāi)始---//
                LcdSt7565_WriteCmd(0x10);
                LcdSt7565_WriteCmd(0x04);                                                          
               
                //--X軸有128位,就一共刷128次,X坐標(biāo)會(huì)自動(dòng)加1,所以我們不用再設(shè)置坐標(biāo)--//
                for(j=0; j<128; j++)
                {
                        LcdSt7565_WriteData(0x00);  //如果設(shè)置背景為白色時(shí),清屏選擇0XFF
                }
        }
}

/*******************************************************************************
* 函 數(shù) 名         : LCD12864_Write16CnCHAR
* 函數(shù)功能                   : 在12864上面書(shū)寫(xiě)16X16的漢字
* 輸    入         : x, y, cn
* 輸    出         : 無(wú)
* 說(shuō)    明                   : 該函數(shù)可以直接書(shū)寫(xiě)字符串,但是書(shū)寫(xiě)是從右到左,所以輸入的時(shí)
*                  * 侯注意輸入。漢字的取模方式請(qǐng)觀(guān)看文件夾下的《漢字取模軟件的
*                  * 使用說(shuō)明》
*******************************************************************************/

#ifdef  CHAR_CODE

#include"charcode.h"

uchar Lcd12864_Write16CnCHAR(uchar x, uchar y, uchar *cn)
{
        uchar j, x1, x2, wordNum;

        //--Y的坐標(biāo)只能從0到7,大于則直接返回--//
        if(y > 7)
        {
                return 0;
        }

        //--X的坐標(biāo)只能從0到128,大于則直接返回--//
        if(x > 128)
        {
                return 0;
        }
        y += 0xB0;           //求取Y坐標(biāo)的值
        //--設(shè)置Y坐標(biāo)--//
        LcdSt7565_WriteCmd(y);
        while ( *cn != '\0')         //在C語(yǔ)言中字符串結(jié)束以‘\0’結(jié)尾
        {       
       
                //--設(shè)置Y坐標(biāo)--//
                LcdSt7565_WriteCmd(y);

                x1 = (x >> 4) & 0x0F;   //由于X坐標(biāo)要兩句命令,分高低4位,所以這里先取出高4位
                x2 = x & 0x0F;          //去低四位
                //--設(shè)置X坐標(biāo)--//
                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                LcdSt7565_WriteCmd(0x04 + x2);        //低4位

                for (wordNum=0; wordNum<50; wordNum++)
                {
                    //--查詢(xún)要寫(xiě)的字在字庫(kù)中的位置--//
                        if ((CN16CHAR[wordNum].Index[0] == *cn)
                             &&(CN16CHAR[wordNum].Index[1] == *(cn+1)))
                        {
                                for (j=0; j<32; j++) //寫(xiě)一個(gè)字
                                {               
                                        if (j == 16)         //由于16X16用到兩個(gè)Y坐標(biāo),當(dāng)大于等于16時(shí),切換坐標(biāo)
                                        {
                                                //--設(shè)置Y坐標(biāo)--//
                                                   LcdSt7565_WriteCmd(y + 1);
                       
                                                //--設(shè)置X坐標(biāo)--//
                                                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                                                LcdSt7565_WriteCmd(0x04 + x2);        //低4位
                                        }
                                        LcdSt7565_WriteData(CN16CHAR[wordNum].Msk[j]);
                                }
                                x += 16;
                        }//if查到字結(jié)束               
                } //for查字結(jié)束       
                cn += 2;
        }        //while結(jié)束
        return 1;
}

#endif
回復(fù)

使用道具 舉報(bào)

7#
ID:136609 發(fā)表于 2016-8-15 16:09 | 只看該作者
非常感謝,20引腳的與16引腳的,除了引腳排列不同,初始化設(shè)置等命令也不同?
回復(fù)

使用道具 舉報(bào)

8#
ID:136902 發(fā)表于 2016-8-16 17:12 | 只看該作者
#include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar code dis1[]={"welcome"}; uchar code dis2[]={"2016-08-11"};  sbit lcde=P2^7;     // 使能,下降沿寫(xiě)數(shù)據(jù),為1的時(shí)候讀數(shù)據(jù) sbit rd=P2^6;     //rd=0 指令,rd=1 數(shù)據(jù) sbit wr=P2^5;     //wr=0 往lcd寫(xiě),wr=1 讀lcd uchar busy,j;  void delay(uchar z) {     uchar x,y;     for(x=z;x>0;x--)         for(y=110;y>0;y--); }  void write_com(uchar com) {     rd=0;     wr=0;     lcde=0;     delay(10);     P0=com;     delay(10);     lcde=1;     delay(10);     lcde=0;     delay(10); }  void write_date(uchar date) {     rd=1;     wr=0;     lcde=0;     delay(10);     P0=date;     delay(10);     lcde=1;     delay(10);     lcde=0;     delay(10); }  uchar lcd_busy() {     uchar busy;     rd=0;     wr=1;     lcde=1;     delay(1);     lcde=0;     busy=P0&0x80;  //P0.7為BF位,得到BF位     return busy; }  void init() { //    delay(10); //    write_com(0x38);     //數(shù)據(jù)總線(xiàn)為8位,顯示2行     delay(10);     write_com(0x0c);    //顯示功能開(kāi),無(wú)光標(biāo),不閃爍     delay(10);     write_com(0x06);    //寫(xiě)入后光標(biāo)右移,屏幕不動(dòng)     delay(10);     write_com(0x01);    //清屏     delay(10);  }  void lcd_disp_pos(uchar x,y)    //顯示位置函數(shù) {     uchar address;     switch(x)     {         case 1:address=0x80+y;             break;         case 2:address=0x90+y;             break;         case 3:address=0x88+y;             break;         case 4:address=0x98+y;             break;     }     delay(5);     write_com(address); }  void main() {     init();     delay(10);     lcd_disp_pos(1,2);     j=0;     while(dis1[j]!='\0')     {         delay(10);         write_date(dis1[j]);         j++;     }          lcd_disp_pos(2,2);     j=0;     while(dis2[j]!='\0')     {         delay(10);         write_date(dis2[j]);         j++;     } }
回復(fù)

使用道具 舉報(bào)

9#
ID:136575 發(fā)表于 2016-8-20 08:16 | 只看該作者
沒(méi)顯示程序吧?也沒(méi)12864的初始化程序
回復(fù)

使用道具 舉報(bào)

10#
ID:136609 發(fā)表于 2016-8-25 10:22 | 只看該作者
我已經(jīng)搞明白了,感謝回復(fù)
回復(fù)

使用道具 舉報(bào)

11#
ID:111517 發(fā)表于 2016-8-27 07:39 | 只看該作者
我記得普中板子上的12864就是這種
回復(fù)

使用道具 舉報(bào)

12#
ID:149451 發(fā)表于 2016-11-22 14:26 | 只看該作者
thest 發(fā)表于 2016-8-25 10:22
我已經(jīng)搞明白了,感謝回復(fù)

如何解決的?分享下。驅(qū)動(dòng)芯片是不是8133的(金鵬的屏?)
回復(fù)

使用道具 舉報(bào)

13#
ID:148272 發(fā)表于 2016-11-23 10:19 | 只看該作者
我也不知道了
回復(fù)

使用道具 舉報(bào)

14#
ID:70330 發(fā)表于 2016-11-23 11:19 | 只看該作者
串口并口模式選擇了嗎?
回復(fù)

使用道具 舉報(bào)

15#
ID:161933 發(fā)表于 2017-3-4 21:37 | 只看該作者
16個(gè)管腳的12864,有用過(guò)的嗎
回復(fù)

使用道具 舉報(bào)

16#
ID:161933 發(fā)表于 2017-3-4 21:47 | 只看該作者
我現(xiàn)在用的就是 普中的板子 給的就是這種16PIN 的 12864,正需要這方面 的資料,感謝。
回復(fù)

使用道具 舉報(bào)

17#
ID:168214 發(fā)表于 2017-3-4 23:03 | 只看該作者
mei   yonguo  
回復(fù)

使用道具 舉報(bào)

18#
ID:191542 發(fā)表于 2017-5-19 19:57 | 只看該作者
亮仔 發(fā)表于 2016-8-16 17:12
#include #define uchar unsigned char #define uint unsigned int uchar code dis1[]={"welcome"}; uchar  ...

啥也沒(méi)顯示
回復(fù)

使用道具 舉報(bào)

19#
ID:244281 發(fā)表于 2017-11-14 14:42 | 只看該作者
普中科技的小液晶,很少見(jiàn),建議使用20引腳的
回復(fù)

使用道具 舉報(bào)

20#
ID:373610 發(fā)表于 2018-8-14 20:18 | 只看該作者
lcd最上面那行小圖標(biāo)能讓它全都不顯示嗎?
回復(fù)

使用道具 舉報(bào)

21#
ID:386392 發(fā)表于 2018-8-15 09:43 | 只看該作者
12864是中文字庫(kù)液晶顯示模塊
回復(fù)

使用道具 舉報(bào)

22#
ID:386440 發(fā)表于 2018-8-15 10:17 | 只看該作者
這個(gè)帶字庫(kù)嗎 ?
回復(fù)

使用道具 舉報(bào)

23#
ID:671941 發(fā)表于 2019-12-24 03:38 | 只看該作者
holts 發(fā)表于 2018-8-15 10:17
這個(gè)帶字庫(kù)嗎 ?

好像是沒(méi)有字庫(kù)的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表