找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)驅(qū)動1621B液晶,液晶不顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:74777 發(fā)表于 2018-10-30 14:52 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
5黑幣
各位大佬,畫的HT1621B驅(qū)動板驅(qū)動液晶,燒錄程序后液晶不顯示,程序如下。
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define uint32 unsigned long int

#define CKSEL (*(uchar volatile xdata *)0xfe00)
#define CLKDIV (*(uchar volatile xdata *)0xfe01)
#define IRC24MCR (*(uchar volatile xdata *)0xfe02)

sfr P1M0=0x92;
sfr P1M1=0x91;
sfr P_SW2 = 0xba;

sbit _DAT=P1^6; //HT1621數(shù)據(jù)引腳
sbit _CS=P1^0; //HT1621使能引腳
sbit _WR=P1^1; //HT1621時(shí)鐘引腳
sbit _Vlcd=P1^7;//液晶/背光電源控制引腳,低電平有效

void delay_ms(uint z)                //主時(shí)鐘頻率24MHz
{
        uchar i=11, j=190;
        _nop_();
        _nop_();
        _nop_();
        while(z--)
        {
                do
                {
                        while (--j);
                } while (--i);
        }
}
void WriteBitR(uchar dat,uchar m)
{
         uchar i;
         for (i=0;i<m;i++)
         {
               _WR=0;
               _nop_();
               _DAT=dat&0x80;
               _nop_();
               _WR=1;
               _nop_();
               dat<<=1;
          }
}
void Write_cmd(uchar Cmd)
{
         _CS=0;
         _nop_();
         WriteBitR(0x80,4); //寫入命令標(biāo)志100
         WriteBitR(Cmd,8); //寫入命令數(shù)據(jù)
         _CS=1;
         _nop_();
}
void WriteOneData(uchar Addr,uchar Data)
{
         _CS=0;
         WriteBitR(0xa0,3); //寫入數(shù)據(jù)標(biāo)志101
         WriteBitR(Addr<<2,6); //寫入地址數(shù)據(jù)
         WriteBitR(Data,8); //寫入數(shù)據(jù)
         _CS=1;
         _nop_();
}
void LCD_Init(void)
{
         _CS=1;
         _WR=1;
         _DAT=1;
         Write_cmd(0x52);        //0b1000 0101 0010 1/3duty 4com
         Write_cmd(0X30); //0b1000 0011 0000 內(nèi)部時(shí)鐘
         Write_cmd(0x00); //0b1000 0000 0000 關(guān)振系統(tǒng)蕩器和LCD偏壓發(fā)生器
         Write_cmd(0X0A);        //0b1000 0000 1010 禁止看門狗
         Write_cmd(0X02); //0b1000 0000 0010 打開系統(tǒng)振蕩器
         Write_cmd(0X06); //0b1000 0000 0110 打開LCD偏壓
}

void display1()
{        
        uchar m1;
        for(m1=0;m1<30;m1=m1+2)        
                WriteOneData(m1,0xff);
}

void Init()
{
        P_SW2=0x80;
        CKSEL=0x00;
        P_SW2=0x00;

        P1M0=0x00;
        P1M1=0x00;
        _Vlcd=0;
        LCD_Init();
}
void main()
{
        Init();

        while(1)
        {
                display1();
                delay_ms(1);
        }
}

QQ截圖20181030144549.png (107.96 KB, 下載次數(shù): 64)

QQ截圖20181030144549.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:511308 發(fā)表于 2020-7-21 21:53 來自手機(jī) | 只看該作者
大概延時(shí)多少毫秒或微妙?
回復(fù)

使用道具 舉報(bào)

樓主
ID:74777 發(fā)表于 2018-11-9 14:47 | 只看該作者
已解決,讀寫數(shù)據(jù)延時(shí)時(shí)間長一些就可以了
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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