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

QQ登錄

只需一步,快速開始

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

基于STC89C52的無(wú)字庫(kù)LCD12864不顯示,大神幫忙看看什么問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:387860 發(fā)表于 2018-8-25 10:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
網(wǎng)上下了好多測(cè)試程序,都顯示不了,無(wú)字庫(kù)的12864,分屏的,大神給幫忙看看,程序如下:#include <reg52.h>
#include"intrins.h"
#define  uchar unsigned char
#define  uint  unsigned  int
#define databus P0 //數(shù)據(jù)口
sbit RS=P2^6;  //寫指令/數(shù)據(jù)
sbit RW=P2^5; //讀/寫
sbit EN=P2^7;  //使能
sbit CS1=P3^2;//片選1,控制左半屏,高電平有效
sbit CS2=P3^3;//片選1,控制右半屏,高電平有效
void delay(uchar  ms)  //延遲
{
   uchar   i;
   uchar   j;
   for(i=0;i<100;i++)
   for(j=0;j<ms;j++);
}

void busy()        //忙檢查
{
   P0=0x00;
   RS=0;
   RW=1;
   EN=1;
   while(P0&0x80);
   EN=0;
}
void write_cmd(uchar value)//寫指令
{
   busy();
   RS=0;
   RW=0;
   EN=1;
   databus=value;
   EN=1;
   delay(5);
   EN=0;

}
void write_data(uchar value)//寫數(shù)據(jù)
{
   busy();
   RS=1;
   RW=0;
   EN=1;
   databus=value;
   EN=1;
   delay(5);
   EN=0;

}
void set_page(uchar page)//設(shè)置頁(yè)
{
   page=0xb8||page;
   write_cmd(page);

}
void set_line(uchar startline)//設(shè)置行
{
   startline=0xc0|startline;
   write_cmd(startline);

}
void set_column(uchar column)//設(shè)置列
{
   column=column&0x3f;
   column=0x40|column;
   write_cmd(column);

}

void set_onoff(uchar onoff)//開關(guān)顯示
{
   onoff=0x3e|onoff;
   write_cmd(onoff);

}

void slectscreen(uchar screen)//選擇屏幕
{
   switch(screen)
   {
    case 0:CS1=0;CS2=0;break;
    case 1:CS1=0;CS2=1;break;
    case 2:CS1=1;CS2=0;break;
    default:break;
   }

}

void clearscreen(uchar screen) //清屏
{
   uchar i,j;
   slectscreen(screen);
   for(i=0;i<8;i++)
   {
    set_page(i);
    set_column(0);
    for(j=0;j<64;j++)
    {
     write_cmd(0x00);
    }
   }

}

void init()        //初始化
{
   busy();
   slectscreen(0);
   set_onoff(0);
   slectscreen(0);
   set_onoff(1);
   clearscreen(0);
   set_line(0);

}

void display(uchar ss,uchar page,uchar column,uchar *p)        //顯示函數(shù)
{
   uchar i;
   slectscreen(ss);
   set_page(page);
   set_column(column);
   for(i=0;i<16;i++)
   {
    write_data(p[i]);
   }
   set_page(page+1);
   set_column(column);
   for(i=0;i<16;i++)
   {
    write_data(p[i+16]);
   }
}
uchar code  huan[]=
{0x00,0x08,0x18,0x28,0x08,0x08,0xE8,0x0F,0x18,0x20,0x1C,0x64,0x84,0x44,0x24,0x14,
0x00,0x20,0x60,0x30,0x18,0x06,0x03,0x0C,0x10,0x20,0x2C,0x43,0x43,0x4C,0x10,0x20,
};
uchar code  ying[]=
{0x00,0x00,0xFC,0x04,0x04,0x04,0xFC,0x02,0x02,0x04,0xFC,0x00,0x04,0xCE,0x41,0x40,
0x00,0x40,0x43,0x44,0x42,0x40,0x5F,0x40,0x41,0x42,0x47,0x40,0x20,0x1F,0x20,0x40,
};
void main()        //主函數(shù)
{
init();
clearscreen(0);
while(1)
{
set_line(1);
display(1,0,2*16,huan);
display(1,0,3*16,ying);
}
}



QQ圖片20180825100659.jpg (41.29 KB, 下載次數(shù): 106)

接線圖

接線圖

webwxgetmsgimg (5).jpg (302.64 KB, 下載次數(shù): 103)

12864

12864

webwxgetmsgimg (6).jpg (214.57 KB, 下載次數(shù): 132)

實(shí)際顯示

實(shí)際顯示
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:387860 發(fā)表于 2018-8-25 15:50 | 只看該作者
第一次發(fā)帖,沒(méi)人回復(fù)啊,是需要懸賞?
回復(fù)

使用道具 舉報(bào)

板凳
ID:97554 發(fā)表于 2018-8-25 16:20 | 只看該作者
3腳V0對(duì)地接個(gè)電阻調(diào)下對(duì)比度。另外LCD不同廠家生產(chǎn)的時(shí)序不一定一樣。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:97554 發(fā)表于 2018-8-25 16:35 | 只看該作者

這個(gè)是官網(wǎng)找的PDF,上邊有例程,供參考

DS12864-10說(shuō)明書V11.pdf

1.03 MB, 下載次數(shù): 56

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:384109 發(fā)表于 2018-8-25 17:42 | 只看該作者
需要調(diào)節(jié)對(duì)比度的,要看你的學(xué)習(xí)板的電路該如何和12864連接,學(xué)習(xí)板的電路要和12864對(duì)應(yīng)上

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:96682 發(fā)表于 2018-8-26 00:35 | 只看該作者
明顯是開發(fā)板端口設(shè)置問(wèn)題,這時(shí)液晶屏并未與單片機(jī)有關(guān)聯(lián),只是背光得電發(fā)光而已

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

7#
ID:387860 發(fā)表于 2018-8-29 21:34 | 只看該作者
多謝大家了,端口也檢查了,電位器也加了,還是不行,直接換了帶字庫(kù)的屏,沒(méi)有片選的,新手入門,帶片選的太難了

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

8#
ID:527430 發(fā)表于 2019-5-5 10:07 | 只看該作者
這個(gè)問(wèn)題我剛剛好知道,在接口正確的情況下,在LCD屏的接口第1、3、18腳接一顆5.1K電位器。就是說(shuō)電位器1腳接GND,2腳接V0,3腳接VOUT;原理就是LCD需要一個(gè)負(fù)電壓才能點(diǎn)亮,而屏不需要直接給負(fù)壓,給個(gè)電位器就行了。
回復(fù)

使用道具 舉報(bào)

9#
ID:535176 發(fā)表于 2019-8-6 14:17 | 只看該作者
yekai_yh 發(fā)表于 2018-8-29 21:34
多謝大家了,端口也檢查了,電位器也加了,還是不行,直接換了帶字庫(kù)的屏,沒(méi)有片選的,新手入門,帶片選的 ...

帶字庫(kù)的怎么弄啊。求解
回復(fù)

使用道具 舉報(bào)

10#
ID:535176 發(fā)表于 2019-8-6 14:55 | 只看該作者
yekai_yh 發(fā)表于 2018-8-25 15:50
第一次發(fā)帖,沒(méi)人回復(fù)啊,是需要懸賞?

咱倆情況一樣哎
回復(fù)

使用道具 舉報(bào)

11#
ID:959867 發(fā)表于 2021-9-4 08:40 | 只看該作者
今天遇到了同樣的問(wèn)題,在stc90c51上能跑通的程序,換上stc89c51就跑不通,通過(guò)排除法發(fā)現(xiàn)卡在12864初始化清屏這一塊,直接卡死了?反正后續(xù)程序不跑了,把這一段屏蔽掉后續(xù)就能跑.....
回復(fù)

使用道具 舉報(bào)

12#
ID:420213 發(fā)表于 2021-9-4 09:26 | 只看該作者
不關(guān)你片不片選的事,你要寫好字庫(kù)取模,沒(méi)字庫(kù)的他不會(huì)內(nèi)置取模好的字庫(kù)給你,要自己做模,然后跟程序一并燒錄進(jìn)單片機(jī)的flash里面才行的。
回復(fù)

使用道具 舉報(bào)

13#
ID:959867 發(fā)表于 2021-9-4 09:33 | 只看該作者
elic885 發(fā)表于 2021-9-4 08:40
今天遇到了同樣的問(wèn)題,在stc90c51上能跑通的程序,換上stc89c51就跑不通,通過(guò)排除法發(fā)現(xiàn)卡在12864初始化 ...

更新進(jìn)展:應(yīng)該是程序存儲(chǔ)器空間不足了,刪減一些不必要的函數(shù)定義就好了。挺奇怪的,存儲(chǔ)空間不足也能寫進(jìn)去?
回復(fù)

使用道具 舉報(bào)

14#
ID:646535 發(fā)表于 2023-3-23 22:29 | 只看該作者
好奇心強(qiáng) 發(fā)表于 2019-5-5 10:07
這個(gè)問(wèn)題我剛剛好知道,在接口正確的情況下,在LCD屏的接口第1、3、18腳接一顆5.1K電位器。就是說(shuō)電位器1腳 ...

謝謝,解決了我的問(wèn)題
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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