- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AT89C51单片机电子密码锁
#include main.h
/******************** LCD PART START *******************************/
//5ms延时
void Delay5Ms(void)
{
unsigned int TempCyc = 5552;
while(TempCyc--);
}
//读状态
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
Delay5Ms();
while (LCM_Data Busy); //检测忙信号
return(LCM_Data);
}
//写数据
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //检测忙
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在这后加小的延时
LCM_E = 0; //延时
LCM_E = 1;
}
//写指令
void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC为0时忽略忙检测
{
if (BuysC) ReadStatusLCM(); //根据需要检测忙
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//读数据
unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}
void LCMInit(void) //LCM初始化
{
LCM_Data = 0;
WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,1); //显示模式设置,开始要求每次检测忙信号
WriteCommandLCM(0x08,1); //关闭显示
WriteCommandLCM(0x01,1); //显示清屏
WriteCommandLCM(0x06,1); // 显示光标移动设置
WriteCommandLCM(0x0C,1); // 显示开及光标设置
}
//按指定位置显示一个字符,x表示列,Y表示行
void LCD_write_char(unsigned char X,unsigned char Y, unsigned char DData)
{
Y = 0x1;
X = 0xF; //限制X不能大于15,Y不能大于1
if (Y)
X |= 0x40; //当要显示第二行时地址码+0x40;
X |= 0x80; // 算出指令码
WriteCommandLCM(X, 0); //这里不检测忙信号,发送地址码
WriteDataLCM(DData);
}
//按指定位置显示一串字符
void LCD_write_string(unsigned char X,unsigned char Y, unsigned char code *DData)
{
unsigned char ListLength;
ListLength = 0;
Y = 0x1;
X = 0xF; //限制X不能大于15,Y不能大于1
while (*DData) //若到达字串尾则退出 \0就是0
{
if (X = 0xF) //X坐标应小于0xF
{
LCD_write_char(X,Y, *DData); //显示单个字符
DData++;
X++;
}
}
}
/************/
#includereg52.h
#includemath.h
#define uchar unsigned char
#define uint unsigned int
/******************** LCD PART START **************
您可能关注的文档
- 4电子制造中的微连接技术.ppt
- 4高能电子线剂量学.ppt
- 4数字电子基础-组合逻辑电路.ppt
- 4透射电子成像(2).ppt
- 4-无铅电子焊接技术介绍.ppt
- 4音响放大器设计_电子线路设计与测试桂电模电实.ppt
- 05电子技能与工艺教学大纲.doc
- 05电子元器件检测(三极管器件).ppt
- 05年电子设计竞赛试题.doc
- 05习题五电子表格与数据库.doc
- 2025年新人教版英语八年级上册全册同步课件.pptx
- 2025年秋新人教版数学8年级上册全册课件.pptx
- 2025年秋新人教版三年级上册英语整册课件.pptx
- 2025年秋新人教版数学二年级上册整册课件 (2).pptx
- 2025年秋新人教版数学2年级上册整册课件 (2).pptx
- 2025年秋统编版语文三年级上册全册同步教学课件(课标版).pptx
- 2025年秋统编版语文三年级上册全册同步课件(课标版).pptx
- 2025年秋统编版语文三年级上册整册教学课件(课标版).pptx
- 2025年秋统编版语文三年级上册整册课件(课标版).pptx
- 2025年秋统编版语文3年级上册全册课件(课标版).pptx
最近下载
- 和田玉石课件.pptx VIP
- 新视野大学英语(第四版)读写教程2(思政智慧版)电子教案Unit3.docx VIP
- 软件开发流程控制程序.docx VIP
- 第四章电感传感器.ppt VIP
- HSE 管理手册(中石油 健康、安全与环境管理体系).docx VIP
- 《小学开学第一课立规矩主题班会》课件.pptx VIP
- 2025广东江门鹤山市供销合作联社直(下)属企业及基层社招聘工作人员3人笔试备考试题及答案解析.docx VIP
- 初中信息技术第一课PPT课件.pptx VIP
- 教学能力大赛国赛一等奖《老年人日常生活照护》-教学实施报告.pdf VIP
- 青海省建筑工程资料管理规程2019.docx VIP
文档评论(0)