




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
十六,128X64无字库液晶4X4键盘输入使用(密码锁)引脚标号功能说明 备注1Vss逻辑负电源输入引脚,0V2Vdd逻辑正电源输入引脚,+5V 3VoLCD驱动电源输入引脚,大小可调LCD显示对比度一般接0V4RS数据/指令寄存器选择引脚 RS=“H” :数据D0-D7 与数据寄存器通信 RS=“L” :数据D0-D7 与指令寄存器通信 5R/W读/写选择引脚 高电平:读数据 低电平:写数据 若不须要读操作功能,该引脚可直接接地 6E读写使能引脚 高电平有效,下降沿锁定数据 714D0D78 位数据线引脚4 位总线模式下,D0D3 引脚断开 15A背光电源输入引脚,+5V不带背光的模块无此引脚16K背光电源输入引脚,0V #include #include #include #defineuchar unsigned char #defineuint unsigned int#define data_IO P2sbit rs=P30;/指令和数据寄存器 “1是数据,” “0是指令”sbit rw=P31; /读写控制,“1读” “0写”sbit e=P32; /片选信号sbit p=P27;sbit deng=P00 ; /响音乐的端口sbit md=P01; /修改密码时的灯uchar pwflag; /密码是否正确的标志位uchar count; /uchar gg=0 ; /只有输入正确的密码才能修改密码uchar cs=3 ; /输入密码的错误次数uchar m=1,2,3,4,5,6; /初始密码static uchar mbuf6;/输入的密码 char d32= ,I,M,P,O,R,T, ,C,I,P,H,E,R,:, , , ,_, , ,_,_,_,_,_,_, , , , , ;/输入密码code char ks32=C,O,N,G,R,A,T,U,L,A,T,E, ,Y,O,U, ,O,P,E,N,I,N,G, , ,L,O,C,K,!, ;/开锁code char cw32= ,C,I,P,H,E,R, , ,E,R,R,O,R, , , , ;/错误 code char xc32= , ,A,M,E,N,D, ,S,U,C,C,E,E,D, , , , , , ,!,!,!,!,!,!, , , , , ;/修改成功 code char xg32= ,A,M,E,N,D, , ,C,I,P,H,E,R,:, , , , , , ,_,_,_,_,_,_, , , , , ;/修改密码*/void yanshi(uint n)/延时函数/ uint i; for(i=0;in;i+);void delay(uint n)/延时函数/ uint i,j; for(i=0;i1000;i+) for(j=0;jn;j+) void busy() /判断是否忙/data_IO=0xff; rs=0; /写指令 / rw=1; /表示读状态 / 三个的状态表示 / e=1; /下降延/ / 判忙状态 / while(!p); / e=0; void xiezl(uchar shuju) /*写指令*/ busy();/*yanshi(6500);*/ data_IO=shuju; rs=0; /写指令 / rw=0; /表示写状态 / 三个的状态表示 / e=1; /下降延/ / 写指令 / e=0; / /void w_dat(uint n)/写数据/ busy(); /*yanshi(6500) ;*/ data_IO=n; rs=1; /写数据 / rw=0; /表示写状态 / 三个的状态表示 / e=1; /下降延/ /写数据 / e=0; / / / return;void xianshi(uchar js) /显示函数/ uchar h,v; xiezl(0x01); /清屏显示 yanshi(2000) ; xiezl(0x80); / DDRAM地址的设置 for(h=0;h16;h+) w_dat(jsh); /n表示有写几位数据 yanshi(100) ; xiezl(0xc0);/换行 for(v=(16);v32;v+) w_dat(jsv); /n表示有写几位数据 yanshi(100) ; void chushihua(void)/*液晶模块初始化*/ uchar i; rs=0; /写指令 rw=0; /表示写状态 e=0; /使能 for(i=0;i3;i+) xiezl(0x38); /功能设置,8位,一行显示,5*7点阵 yanshi(1000); xiezl(0x38); /两行显示 xiezl(0x0f); /显示开关控制位 xiezl(0x18); /移位控制,光标和显示一起左移 xiezl(0x06); /设置输入模式 xiezl(0x01); /清屏显示 xiezl(0x80); / DDRAM地址的设置 bit pwcmp(void)bit flag;uchar i;for (i=0;i6;i+)if (mi=mbufi) flag = 1; /*密码正确*/else flag = 0; i=6; /*密码错误*/return(flag);void gb(void)/转移光标 uchar c; xiezl(0xc0);/换行 yanshi(3000) ; for(c=0;c5;c+) w_dat( );/n表示有写几位数据 yanshi(2000) ; uchar getkey(void)/得到键值 uchar h,l,k; while(P1!=0x0f) h=P1&0x0f; P1=0xf0; l=P1&0xf0; k=h|l; return(k); void diaoyong(uchar i)/调用各键的函数/输入密码 uchar lq; switch(i) case 0x7e: if (count6) mbufcount=1; count+; w_dat(*); break; / 01111110 1 case 0xbe: if (count6) mbufcount=2; count+; w_dat(*);break; / 10111110 2 case 0xde: if (count6) mbufcount=3; count+; w_dat(*); break; / 11011110 3 case 0xee: if (count6) mbufcount=4; count+; w_dat(*); break; / 11101110 4 case 0x7d: if (count6) mbufcount=5; count+; w_dat(*); break; / 01111101 5 case 0xbd: if (count6) mbufcount=6; count+; w_dat(*); break; / 10111101 6 case 0xdd: if (count6) mbufcount=7; count+; w_dat(*); break; / 11011101 7 case 0xed: if (count6) mbufcount=8; count+; w_dat(*); break; / 11101101 8 case 0x7b: if (count6) mbufcount=9; count+; w_dat(*); break; / 01111011 9 case 0xbb: if (count6) mbufcount=0; count+; w_dat(*);break; / 10111011 0 case 0xdb: if (count=6) pwflag = pwcmp(); else pwflag = 0;/ 只有输入6个密码后按确认键才作密码比较 if(pwflag) deng=0; xianshi(ks);gg=1; else cs-;deng=1; xianshi(cw); delay(200); xianshi(d);gb();count = 0; break; / 11011011 a case 0xeb: count = 0;deng=1; xianshi(d); gb();gg=0; /*取消键*/ break; / 11101011 b case 0x77: if(gg=1) count=0;xianshi(xg); gb(); /修该密码 break; / 01110111 c case 0xb7: if(count=6)&(gg=1) count=0;for (lq=0;lq6;lq+) mlq=mbuflq; yanshi(10000); md=0; xianshi(xc); delay(200);md=1; xianshi(d);yanshi(2000);gb();yanshi(200);gg=0;/保存密码 break; / 10110111 d /*case 0xd7: srjm=e; break; / 11010111 e case 0xe7: srjm=f; break
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年业务外包人员岗前安全培训考试卷及答案
- 2025年机场地勤员专业技能考试试题及答案
- 2025年中国民航大学飞行技术模拟驾驶试题及答案
- 高铁站建筑施工劳务合同(3篇)
- 高空施工作业承揽合同(3篇)
- 个人汽车消费贷款合同展期与售后服务协议
- 慈善活动危机公关处理与公益活动效果评估合同
- 民办学校教职工劳动权益保障与薪酬待遇调整合同范本
- 股东对企业研发项目专项借款协议
- 建设工程项目竣工结算款支付协议范本
- 2025年中国盐业集团有限公司所属企业招聘笔试冲刺题(带答案解析)
- 2024年四川省委网信办遴选公务员真题
- 天车设备安全管理制度
- 活动承办方协议书
- 卫生系统及其功能
- 水运工程港口航道课件
- 小肠憩室的临床护理
- 浙江隆宸现代农业科技有限公司年产4500吨双孢蘑菇技改项目环评报告
- 屋面防水监理单位工程质量评估报告
- 迪士尼人力资源管理
- 消毒供应中心安全警示教育
评论
0/150
提交评论