- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自己做的基于单片机的密码锁设计( c 语言设计)
时间: 2011-08-16 21:08:01 来源: 作者:
自己做的基于单片机的密码锁设计( c 语言设计)
系统说明
该系统如图所示使用了 80C51 单片机、普通键盘、排阻、 1602 液晶。
该系统的功能:
①该系统输入正确的密码 LED 灯会亮 (其实就是很多操作都可以, 用 LED 只是
代表作用,主要是操作简单,效果明显。)
②系统可以修改密码; (系统断电后重启后必须用初始密码 (初始密码是:000000 )
重新改密,当然修改的密码可以与掉电前的一样。)
具体操作:
①系统开机时显示请输入密码的提示 ,直接输入密码 # 键确认
②系统会自动提醒密码错误,数秒后系统会再次提醒重新输密码。
③在系统提醒输入密码的界面可以按 * 键修改密码,系统会提醒输入两次密码,并
且会检查两次密码是否相同。同则修改成功。否则在数秒后可以重新按 *键修改。
④在改密前(就是按了 * 键后系统)会提醒身份识别,请输入旧密码,系统判断旧
密码正确方可更改密码。
源程序
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P3^0;
sbit lcdrw=P3^1;
sbit lcden=P3^2;
sbit h1=P1^0;
sbit h2=P1^1;
sbit h3=P1^2;
sbit sa=P1^3;
sbit sb=P1^4;
sbit sc=P1^5;
sbit sd=P1^6;
sbit kd=P3^7;
uchar code table[]= PLEASE INPUT ;
uchar code table1[]=CODE: ;
uchar code table2[]= *****WIN*****;
uchar code table3[]= PLEASE AFFIRM;
uchar code table4[]= *****FAIL*****;
uchar code table5[]= MODIFICATION;
uchar code table6[]= IDENTITY LIMITS ;
uchar unm,M1,M2,M3,M4,M5,M6,sex,k1,k2,k3,k4,k5,k6,flge,flge1;
uchar q1,q2,q3,q4,q5,q6,w1,w2,w3,w4,w5,w6,g;
void delay(int z)
{
int x,y;
for(x=z;x0;x--)
for(y=110;y0;y--);
}
void delay1(int z)
{
int x,y;
for(x=z;x0;x--)
for(y=20000;y0;y--);
}
void writen_com(uchar com) //1602 写命令
{
lcdrs=0;
P0=com;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
void writen_dat(uchar dat) //1602 写数据
{
lcdrs=1;
P0=dat;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
vo
文档评论(0)