44键盘及8位数码管显示构成的电子密码锁Word文档下载推荐.docx
- 文档编号:19187246
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:19
- 大小:30.51KB
44键盘及8位数码管显示构成的电子密码锁Word文档下载推荐.docx
《44键盘及8位数码管显示构成的电子密码锁Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《44键盘及8位数码管显示构成的电子密码锁Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
有关这方面内容前面已经讨论过,这里不再重复。
(2).8位数码显示,初始化时,显示“P ”,接着输入最大6位数的密码,当密码输入完后,按下确认键,进行密码比较,然后给出相应的信息。
在输入密码过程中,显示器只显示“8.”。
当数字输入超过6个时,给出报警信息。
在密码输入过程中,若输入错误,可以利用“DEL”键删除刚才输入的错误的数字。
(3).4×
4行列式键盘的按键功能分布图如图
图4.33.2
5.C语言源程序
#include<
AT89X52.H>
unsignedcharps[]={1,2,3,4,5};
unsignedcharcodedispbit[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71,
0x00,0x40,0x73,0xff};
unsignedchardispbuf[8]={18,16,16,16,16,16,16,16};
unsignedchardispcount;
unsignedcharflashcount;
unsignedchartemp;
unsignedcharkey;
unsignedcharkeycount;
unsignedcharpslen=5;
unsignedchargetps[6];
bitkeyoverflag;
biterrorflag;
bitrightflag;
unsignedintsecond3;
unsignedintaa,bb;
unsignedintcc;
bitokflag;
bitalarmflag;
bithibitflag;
unsignedcharoka,okb;
voidmain(void)
{
unsignedchari,j;
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
while
(1)
{
P3=0xff;
P3_4=0;
temp=P3;
temp=temp&
0x0f;
if(temp!
=0x0f)
for(i=10;
i>
0;
i--)
for(j=248;
j>
j--);
switch(temp)
case0x0e:
key=7;
break;
case0x0d:
key=8;
case0x0b:
key=9;
case0x07:
key=10;
}
P1_1=~P1_1;
if((key>
=0)&
&
(key<
10))
if(keycount<
6)
getps[keycount]=key;
dispbuf[keycount+2]=19;
keycount++;
if(keycount==6)
keycount=6;
elseif(keycount>
keyoverflag=1;
//keyoverflow
elseif(key==12)//deletekey
if(keycount>
0)
keycount--;
getps[keycount]=0;
dispbuf[keycount+2]=16;
else
elseif(key==15)//enterkey
if(keycount!
=pslen)
errorflag=1;
rightflag=0;
second3=0;
for(i=0;
i<
keycount;
i++)
if(getps[i]!
=ps[i])
i=keycount;
gotoa;
errorflag=0;
rightflag=1;
a:
while(temp!
keyoverflag=0;
//?
?
P3_5=0;
key=4;
key=5;
key=6;
key=11;
gotoa4;
a4:
P3_6=0;
key=1;
key=2;
key=3;
key=12;
gotoa3;
a3:
P3_7=0;
key=0;
key=13;
key=14;
key=15;
gotoa2;
a2:
}
}
voidt0(void)interrupt1using0
flashcount++;
if(flashcount==8)
flashcount=0;
P0=dispcode[dispbuf[dispcount]];
P2=dispbit[dispcount];
dispcount++;
if(dispcount==8)
dispcount=0;
if((errorflag==1)&
(rightflag==0))
bb++;
if(bb==800)
bb=0;
alarmflag=~alarmflag;
if(alarmflag==1)//soundalarmsignal
P1_7=~P1_7;
aa++;
if(aa==800)//lightalarmsignal
aa=0;
P1_0=~P1_0;
second3++;
if(second3==6400)
alarmflag=0;
elseif((errorflag==0)&
(rightflag==1))
P1_0=0;
cc++;
if(cc<
1000)
okflag=1;
elseif(cc<
2000)
okflag=0;
P1_7=1;
cc=0;
oka=0;
okb=0;
P1_0=1;
if(okflag==1)
oka++;
if(oka==2)
okb++;
if(okb==3)
if(keyoverflag==1)
仅供个人用于学习、研究;
不得用于商业用途。
Forpersonaluseonlyinstudyandresearch;
notforcommercialuse.
Nurfü
rdenpersö
nlichenfü
rStudien,Forschung,zukommerziellenZweckenverwendetwerden.
Pourl'
é
tudeetlarechercheuniquementà
desfinspersonnelles;
pasà
desfinscommerciales.
толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях.
以下无正文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 44 键盘 数码管 显示 构成 电子 密码锁
![提示](https://static.bdocx.com/images/bang_tan.gif)