嵌入式开发 > 详情

液晶显示器控制设计_含源程序代码

发布时间:2020-06-13 发布时间:
|

实验原理图

本文引用地址:/zixunimg/eepwimg/www.eepw.com.cn/article/172877.htm

实验程序

#includereg51.h>

#includestdio.h>

#includestdlib.h>

#includeintrins.h>

#includeabsacc.h>

#define busy 0x80 //用于检测LCD 状态字中的Busy 标识

#define RSaddr 0x1000

#define RWaddr 0x2000

#define CSaddr 0x0400

#define adtn 0xc8ff

#define wc 0xcfff

#define wd 0xdfff

#define rc 0xefff

unsigned char code homepage[] = {www.ispdown.com};

unsigned char code email[] = {ispdown@21cn.com};

//5ms 延时

void delay5ms(void)

{

unsigned int TempCyc = 5552;

while(TempCyc--);

}

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

//400ms 延时

void delay400ms(void)

{

unsigned char TempCycA = 5;

unsigned int TempCycB;

while(TempCycA--)

{

TempCycB=7269;

while(TempCycB--);

};

}

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

void waitLcd()

{

char temp;

bit flag=1;

while(flag==1)

{

//temp=XBYTE[CSaddr+RWaddr+adtn];

temp=XBYTE[rc];

if (temp>>7==0) flag=0;

P1=temp;

}

P1=0xff;

}

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

void WC_Lcd(bit isCheck,char c)

{

if (isCheck==1) waitLcd();

//XBYTE[CSaddr+adtn]=c;

XBYTE[wc]=c;

}

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

void WD_Lcd(char c)

{

waitLcd();

//XBYTE[CSaddr+RSaddr+adtn]=c;

XBYTE[wd]=c;

}

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

void LcdInit()

{

delay5ms();



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
工业级特性在嵌入式处理的重要性