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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4138|回復: 13
收起左側

單片機+lcd12864只顯示背光,沒有漢字 求幫助

[復制鏈接]
ID:535176 發表于 2019-8-6 14:43 | 顯示全部樓層 |閱讀模式
lcd12864不顯示。只顯示背光,沒有漢字,不知道是什么情況,程序用的是賣家給的,求各位大佬指點
TIM圖片20190806144135.jpg

電路圖

電路圖
回復

使用道具 舉報

ID:96682 發表于 2019-8-6 20:15 | 顯示全部樓層
12864 液晶屏分有字庫和無字庫,所使用的程序也有區別,另外還得看軟硬件是否正確,屏幕對比度調節是否恰當等
回復

使用道具 舉報

ID:10193 發表于 2019-8-7 08:37 | 顯示全部樓層
調節偏壓電阻試試
回復

使用道具 舉報

ID:524818 發表于 2019-8-7 09:21 | 顯示全部樓層
很可能是對比度電位器沒調好
回復

使用道具 舉報

ID:307020 發表于 2019-8-7 14:39 | 顯示全部樓層
LCD12864控制芯片有好幾種,按樓主的接線圖來看應該是ks0108控制的,這種一般是不帶字庫的,要在18腳與1腳之間接電位器,電位器的中間(可變)腳接LCD的第三腳,通過調整電位器就可以看到液晶屏對比度的變化,調整到你滿意的位置。
回復

使用道具 舉報

ID:535176 發表于 2019-8-7 20:00 | 顯示全部樓層
gb302 發表于 2019-8-7 08:37
調節偏壓電阻試試

調了,也沒有啥變化
回復

使用道具 舉報

ID:535176 發表于 2019-8-7 20:00 | 顯示全部樓層
wj_yuq 發表于 2019-8-7 14:39
LCD12864控制芯片有好幾種,按樓主的接線圖來看應該是ks0108控制的,這種一般是不帶字庫的,要在18腳與1腳 ...

那帶字庫的不能顯示嗎?
回復

使用道具 舉報

ID:535176 發表于 2019-8-7 22:30 | 顯示全部樓層
已解決,謝謝各位大佬的幫忙。非常感謝
回復

使用道具 舉報

ID:594143 發表于 2019-8-8 00:26 | 顯示全部樓層
V0和Vee沒接,看看液晶管腳定義和說明
回復

使用道具 舉報

ID:535176 發表于 2019-8-8 08:18 | 顯示全部樓層
phuilee@51 發表于 2019-8-8 00:26
V0和Vee沒接,看看液晶管腳定義和說明

這兩個不用接
回復

使用道具 舉報

ID:105364 發表于 2019-8-8 08:54 | 顯示全部樓層
冷月楓 發表于 2019-8-7 22:30
已解決,謝謝各位大佬的幫忙。非常感謝

怎么解決的,最好貼出來分享一下。
回復

使用道具 舉報

ID:535176 發表于 2019-8-8 20:00 | 顯示全部樓層
47okey 發表于 2019-8-8 08:54
怎么解決的,最好貼出來分享一下。

#include <reg52.h>
#define DATA_PORT P0//êy¾Y¿ú
sbit LCD12864_RS   = P2^6;
sbit LCD12864_RW   = P2^5;
sbit LCD12864_EN   = P2^7;
sbit LCD12864_PSB  = P3^2;//1Îa′®DD0λ2¢DD
sbit LCD12864_RST = P3^4;//¸′λ

//Ñó3ùoˉêy
void delay(unsigned int xms) //1ms
{
                unsigned char i,j;
                for(j = 0; j < xms; j++)
                {
                        for(i = 0;i < 110;i++);
                }
}
//Ã|¼ì2é
//bit LcdBusyCheck()
//{
//                bit result;
//                LCD12864_RS = 0;
//                LCD12864_RW = 1;
//                LCD12864_EN = 1;
//                result = (bit)(DATA_PORT&0x80);//=1.ËμÃ÷Ã|
//                LCD12864_EN = 0;
//                return result;
//}
//D′Ãüáî
void WriteCmdToLCD(unsigned char cmd)
{
                // while(LcdBusyCheck());
                delay(10);
                LCD12864_RS = 0;
                LCD12864_RW = 0;
                LCD12864_EN = 1;
                DATA_PORT = cmd;
                delay(5);
                LCD12864_EN = 0;
                delay(5);
                LCD12864_EN = 1;
}
//D′êy¾Y
void WriteDatToLcd(unsigned char dat)
                {
                //while(LcdBusyCheck());
                delay(10);
                LCD12864_RS = 1;
                LCD12864_RW = 0;
                LCD12864_EN = 1;
                DATA_PORT = dat;
                delay(5);
                LCD12864_EN = 0;
                delay(5);
                LCD12864_EN = 1;         
}
//′«êäêy¾Y
void WriteStrToLcd(unsigned char *str)
{
                while(*str != '\0')
                {
                        WriteDatToLcd(*str++);//′«Ëíêy¾Y
                        delay(5);
                }
}
//éèÖÃ×ø±ê
void LcdPos(unsigned char x,unsigned char y)
{
                unsigned char pos;
                if(x == 1)//μúò»DD
                {
                        x = 0x80;
                }
                else if(x == 2)//μú¶tDD
                {
                        x = 0x90;
                }
                else if(x == 3)//μúèyDD
                {
                        x = 0x88;
                }
                else if(x == 4)//μúËÄDD
                {
                        x = 0x98;
                }
                pos = x + y ;
                WriteCmdToLCD(pos);//′«êäÃüáî
}
//LCD128643õê¼»ˉ
void LcdInit()
{
                        LCD12864_PSB = 1;//2¢DD
                        LCD12864_RST = 0;//¸′λ
                        delay(10);
                        LCD12864_RST = 1;//2»¸′λ

                        WriteCmdToLCD(0x30);//oo×Öģ꽣¨±ê׼ģ꽣©
                        delay(5);
//                        WriteCmdToLCD(0x30);
//                        delay(5);
                        WriteCmdToLCD(0x18);//
                        delay(5);
                        WriteCmdToLCD(0x10);//
                        delay(5);
                        WriteCmdToLCD(0x01);//
                        delay(5);
                        WriteCmdToLCD(0x06);//
                        delay(5);
                        WriteCmdToLCD(0x0c);//
                        delay(5);
}
int main()
{
     //P0 = 0xff;//3õê¼»ˉ
                //P1 = 0xff;
                LcdInit();
                while(1)
                {
                LcdPos(1,0);//μúò»DDÏÔê¾
                WriteStrToLcd("  ÎòÖÕóú3é1|áË  ");//
                delay(5);
                LcdPos(2,0);
                WriteStrToLcd("Îaé¶ÏÔê¾2»áË");
                delay(5);
                LcdPos(3,0);
                WriteStrToLcd("12864 3é1|£¬1t1t");
                delay(5);
                LcdPos(4,0);
                WriteStrToLcd("¼á3Ö¾íêÇê¤àû!!!");
                delay(5);
                }
}








這是程序
回復

使用道具 舉報

ID:535176 發表于 2019-8-8 20:02 | 顯示全部樓層
47okey 發表于 2019-8-8 08:54
怎么解決的,最好貼出來分享一下。

cs1就是PSB,CS2不用接,其他管腳照著程序接就好
回復

使用道具 舉報

ID:599909 發表于 2019-8-13 22:49 | 顯示全部樓層
他的三號管角不是要連一個電位器嘛,你不連電位器,在三號管角和5v電壓之間連一個電阻,阻值具體多少在4.7-10k試試就知道了,當然前提是你的代碼沒問題
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表