LCD1602显示程序Word下载.docx

上传人:b****6 文档编号:17310493 上传时间:2022-12-01 格式:DOCX 页数:8 大小:107.63KB
下载 相关 举报
LCD1602显示程序Word下载.docx_第1页
第1页 / 共8页
LCD1602显示程序Word下载.docx_第2页
第2页 / 共8页
LCD1602显示程序Word下载.docx_第3页
第3页 / 共8页
LCD1602显示程序Word下载.docx_第4页
第4页 / 共8页
LCD1602显示程序Word下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

LCD1602显示程序Word下载.docx

《LCD1602显示程序Word下载.docx》由会员分享,可在线阅读,更多相关《LCD1602显示程序Word下载.docx(8页珍藏版)》请在冰豆网上搜索。

LCD1602显示程序Word下载.docx

ucharLCM_ReadStatus(void);

voidLCM_Init(void);

voidDisplayOneChar(ucharX,ucharY,ucharDData);

voidDisplayListChar(ucharX,ucharY,ucharcode*DData);

voidDelay5Ms(void);

voidDelay400Ms(void);

ucharcodeuctech[]={"

1602A"

};

ucharcodenet[]={"

.52c"

voidmain(void)

{

Delay400Ms();

//启动等待,等LCM讲入工作状态

LCM_Init();

//LCM初始化

Delay5Ms();

//延时片刻(可不要)

DisplayListChar(6,1,uctech);

DisplayListChar(0,0,net);

LCM_ReadData();

//测试用句无意义

LCM_Data=255;

while

(1);

}

/****************************1602A写数据函数**************************/

/*函数原型:

voidLCM_WriteData(ucharWDLCM)

/*函数功能:

1602A写数据

/*输入参数:

要写入的数据

/*输出参数:

/*调用模块:

/*建立时间:

2005/11/14

/*作者:

站长

/**********************************************************************/

LCM_ReadStatus();

//检测忙

LCM_Data=WDLCM;

LCM_RS=1;

LCM_RW=0;

LCM_E=0;

//若晶振速度太高可以在这后加小的延时

//延时

LCM_E=1;

/****************************1602A写指令函数**************************/

voidLCM_WriteCommand(ucharWCLCM,BuysC)

1602A写指令

要写入的指令

voidLCM_WriteCommand(ucharWCLCM,BuysC)//BuysC为0时忽略忙检测

if(BuysC)LCM_ReadStatus();

//根据需要检测忙

LCM_Data=WCLCM;

LCM_RS=0;

/****************************1602A读数据函数**************************/

ucharLCM_ReadData(void)

1602A读数据

1602A返回的数据

LCM_RW=1;

return(LCM_Data);

/****************************1602A读状态函数**************************/

1602A读状态

1602A返回的状态

ucharLCM_ReadStatus(void)

LCM_Data=0xFF;

while(LCM_Data&

0x80);

//检测忙信号

/****************************1602A初始化函数**************************/

voidLCM_Init(void)

1602A初始化

LCM_Data=0;

LCM_WriteCommand(0x38,0);

//三次显示模式设置,不检测忙信号

LCM_WriteCommand(0x38,1);

//显示模式设置,开始要求每次检测忙信号

LCM_WriteCommand(0x08,1);

//关闭显示

LCM_WriteCommand(0x01,1);

//显示清屏

LCM_WriteCommand(0x06,1);

//显示光标移动设置

LCM_WriteCommand(0x0C,1);

//显示开及光标设置

/******************1602A按指定位置显示一个字符函数**********************/

voidDisplayOneChar(ucharX,ucharY,ucharDData)

1602A按指定位置显示一个字符

X坐标Y坐标要显示的字符

Y&

=0x1;

X&

=0xF;

//限制X不能大于15,Y不能大于1

if(Y)X|=0x40;

//当要显示第二行时地址码+0x40;

X|=0x80;

//算出指令码

LCM_WriteCommand(X,0);

//这里不检测忙信号,发送地址码

LCM_WriteData(DData);

/*******************1602A按指定位置显示一串字符函数*********************/

voidDisplayListChar(ucharX,ucharY,ucharcode*DData)

X坐标Y坐标要显示字符串的首地址

ucharListLength;

ListLength=0;

while(DData[ListLength]>

0x20)//若到达字串尾则退出

{

if(X<

=0xF)//X坐标应小于0xF

DisplayOneChar(X,Y,DData[ListLength]);

//显示单个字符

ListLength++;

X++;

}

/********************5ms延时函数************************/

voidDelay5Ms(void)

5ms延时

unsignedintTempCyc=5552;

while(TempCyc--);

/********************400ms延时延时函数************************/

voidDelay400Ms(void)

400ms延时延时

ucharTempCycA=5;

unsignedintTempCycB;

while(TempCycA--)

TempCycB=7269;

while(TempCycB--);

};

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1