4×4键盘及8位数码管显示的电子密码锁设计的毕业设计 急求: 4×4键盘及8位数码管显示构成的电子密码锁论文?

\uff0880C51\u5355\u7247\u673a\uff09\u8bbe\u8ba14\u00d74\u952e\u76d8\u53ca8\u4f4d\u6570\u7801\u7ba1\u663e\u793a\u6784\u6210\u7684\u7535\u5b50\u5bc6\u7801\u9501.\u7684C\u8bed\u8a00\u7a0b\u5e8f\u3002

4*4\u77e9\u9635\u952e\u76d8\u68c0\u6d4b\u7a0b\u5e8f(\u65b0\u624b\u7528),\u672c\u7a0b\u5e8f\u7528\u4e8e\u68c0\u6d4b4*4\u77e9\u9635\u6309\u952e,\u5148\u68c0\u6d4b\u662f\u5426\u6709\u6309
\u952e\u6309\u4e0b,\u5982\u679c\u6709\u6309\u952e\u6309\u4e0b,\u7531P1\u53e3\u8bfb\u51fa\u76f8\u5e94\u7684\u7f16\u7801\u503c,\u7531P0\u7ecf\u4e24\u724774HC573\u8f93\u51fa\u7ed9
8\u4f4d\u6570\u7801\u7ba1,P2^0\u4f4d\u9009,P2^1\u6bb5\u9009,P1\u63a54*4\u77e9\u9635\u6309\u952e

#include
#include //\u5934\u6587\u4ef6
#define uchar unsigned char //\u5b8f\u5b9a\u4e49
#define uint unsigned int
sbit du=P2^1; //\u6bb5\u9009\u4f4d
sbit we=P2^0; //\u4f4d\u9009\u4f4d
uchar code duanma[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(xms) //\u5ef6\u65f6\u51fd\u6570
{
uchar i,j;
for(xms=i,i>0;i--;)
for(j=11;j>0;j--);
}
void main() //\u4e3b\u51fd\u6570
{
we=1; //\u4f4d\u9009\u5f00
P0=0; //8\u4f4d\u6570\u7801\u7ba1\u5168\u90e8\u663e\u793a
we=0; //\u4f4d\u9009\u5173
du=1; //\u6bb5\u9009\u5f00
P1=0x00; //\u521d\u59cb\u5316,8\u4f4d\u6570\u7801\u7ba1\u65e0\u663e\u793a
while(1)
{
uchar a,b;
P1=0xf0;
a=P1;
if(a!=0xf0)
{
delay(5); //\u53bb\u6296\u52a8
b=P1;
if(a==b)
{
a=0xfe;
do
{
P1=a;
if(a!=P1)
{
switch(P1)
{
case 0x7e:{P0=duanma[0];break;} //\u7f16\u7801\u68c0\u6d4b,\u7b2c\u4e00\u4e2a\u952e\u6309\u4e0b\u663e\u793a0,\u7b2c16\u4e2a\u6309\u952e\u6309\u4e0b\u663e\u793aF
case 0xbe:{P0=duanma[1];break;}
case 0xde:{P0=duanma[2];break;}
case 0xee:{P0=duanma[3];break;}
case 0x7d:{P0=duanma[4];break;}
case 0xbd:{P0=duanma[5];break;}
case 0xdd:{P0=duanma[6];break;}
case 0xed:{P0=duanma[7];break;}
case 0x7b:{P0=duanma[8];break;}
case 0xbb:{P0=duanma[9];break;}
case 0xdb:{P0=duanma[10];break;}
case 0xeb:{P0=duanma[11];break;}
case 0x77:{P0=duanma[12];break;}
case 0xb7:{P0=duanma[13];break;}
case 0xd7:{P0=duanma[14];break;}
case 0xe7:{P0=duanma[15];break;}
}
}
a=_crol_(a,1); //\u5faa\u73af\u79fb\u4f4d\u53bb\u68c0\u6d4b\u6309\u952e
}while(a!=0xef);
}
}
}
}

\u75284\u00d74\u7ec4\u62100\uff0d9\u6570\u5b57\u952e\u53ca\u786e\u8ba4\u952e\u3002
\u75288\u4f4d\u6570\u7801\u7ba1\u7ec4\u6210\u663e\u793a\u7535\u8def\u63d0\u793a\u4fe1\u606f\uff0c\u5f53\u8f93\u5165\u5bc6\u7801\u65f6\uff0c\u53ea\u663e\u793a\u201c8.\u201d\uff0c\u5f53\u5bc6\u7801\u4f4d\u6570\u8f93\u5165\u5b8c\u6bd5\u6309\u4e0b\u786e\u8ba4\u952e\u65f6\uff0c\u5bf9\u8f93\u5165\u7684\u5bc6\u7801\u4e0e\u8bbe\u5b9a\u7684\u5bc6\u7801\u8fdb\u884c\u6bd4\u8f83\uff0c\u82e5\u5bc6\u7801\u6b63\u786e\uff0c\u5219\u95e8\u5f00\uff0c\u6b64\u5904\u7528led\u53d1\u5149\u4e8c\u6781\u7ba1\u4eae\u4e00\u79d2\u949f\u505a\u4e3a\u63d0\u793a\uff0c\u540c\u65f6\u53d1\u51fa\u201c\u53ee\u549a\u201d\u58f0\uff1b\u82e5\u5bc6\u7801\u4e0d\u6b63\u786e\uff0c\u7981\u6b62\u6309\u952e\u8f93\u51653\u79d2\uff0c\u540c\u65f6\u53d1\u51fa\u201c\u5600\u3001\u5600\u201d\u62a5\u8b66\u58f0\uff1b\u82e5\u57283\u79d2\u4e4b\u5185\u4ecd\u6709\u6309\u952e\u6309\u4e0b\uff0c\u5219\u7981\u6b62\u6309\u952e\u8f93\u51653\u79d2\u88ab\u91cd\u65b0\u7981\u6b62\u3002
2\uff0e \u7535\u8def\u539f\u7406\u56fe

\u56fe4.33.1
3\uff0e \u7cfb\u7edf\u677f\u4e0a\u786c\u4ef6\u8fde\u7ebf
\uff081\uff09\uff0e \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684p0.0\uff0dp0.7\u75288\u82af\u6392\u7ebf\u8fde\u63a5\u5230\u201c\u52a8\u6001\u6570\u7801\u663e\u793a\u201d\u533a\u57df\u4e2d\u7684abcdefgh\u7aef\u5b50\u4e0a\u3002
\uff082\uff09\uff0e \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201c\u533a\u57df\u4e2d\u7684p2.0\uff0dp2.7\u75288\u82af\u6392\u7ebf\u8fde\u63a5\u5230\u201c\u52a8\u6001\u6570\u7801\u663e\u793a\u201d\u533a\u57df\u4e2d\u7684s1s2s3s4s5s6s7s8\u7aef\u5b50\u4e0a\u3002
\uff083\uff09\uff0e \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684p3.0\uff0dp3.7\u75288\u82af\u6392\u7ebf\u8fde\u63a5\u5230\u201c4\u00d74\u884c\u5217\u5f0f\u952e\u76d8\u201d\u533a\u57df\u4e2d\u7684r1r2r3r4c1c2c3c4\u7aef\u5b50\u4e0a\u3002
\uff084\uff09\uff0e \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684p1.0\u7528\u5bfc\u7ebf\u8fde\u63a5\u5230\u201c\u516b\u8def\u53d1\u5149\u4e8c\u6781\u7ba1\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684l2\u7aef\u5b50\u4e0a\u3002
\uff085\uff09\uff0e \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684p1.7\u7528\u5bfc\u7ebf\u8fde\u63a5\u5230\u201c\u97f3\u9891\u653e\u5927\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684spk in\u7aef\u5b50\u4e0a\u3002
\uff086\uff09\uff0e \u628a\u201c\u97f3\u9891\u653e\u5927\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684spk out\u63a5\u5230\u5587\u53ed\u4e0a\u3002
4\uff0e \u7a0b\u5e8f\u8bbe\u8ba1\u5185\u5bb9
\uff081\uff09\uff0e 4\u00d74\u884c\u5217\u5f0f\u952e\u76d8\u8bc6\u522b\u6280\u672f\uff1a\u6709\u5173\u8fd9\u65b9\u9762\u5185\u5bb9\u524d\u9762\u5df2\u7ecf\u8ba8\u8bba\u8fc7\uff0c\u8fd9\u91cc\u4e0d\u518d\u91cd\u590d\u3002
\uff082\uff09\uff0e 8\u4f4d\u6570\u7801\u663e\u793a\uff0c\u521d\u59cb\u5316\u65f6\uff0c\u663e\u793a\u201cp \u201d\uff0c\u63a5\u7740\u8f93\u5165\u6700\u59276\u4f4d\u6570\u7684\u5bc6\u7801\uff0c\u5f53\u5bc6\u7801\u8f93\u5165\u5b8c\u540e\uff0c\u6309\u4e0b\u786e\u8ba4\u952e\uff0c\u8fdb\u884c\u5bc6\u7801\u6bd4\u8f83\uff0c\u7136\u540e\u7ed9\u51fa\u76f8\u5e94\u7684\u4fe1\u606f\u3002\u5728\u8f93\u5165\u5bc6\u7801\u8fc7\u7a0b\u4e2d\uff0c\u663e\u793a\u5668\u53ea\u663e\u793a\u201c8.\u201d\u3002\u5f53\u6570\u5b57\u8f93\u5165\u8d85\u8fc76\u4e2a\u65f6\uff0c\u7ed9\u51fa\u62a5\u8b66\u4fe1\u606f\u3002\u5728\u5bc6\u7801\u8f93\u5165\u8fc7\u7a0b\u4e2d\uff0c\u82e5\u8f93\u5165\u9519\u8bef\uff0c\u53ef\u4ee5\u5229\u7528\u201cdel\u201d\u952e\u5220\u9664\u521a\u624d\u8f93\u5165\u7684\u9519\u8bef\u7684\u6570\u5b57\u3002
\uff083\uff09\uff0e 4\u00d74\u884c\u5217\u5f0f\u952e\u76d8\u7684\u6309\u952e\u529f\u80fd\u5206\u5e03\u56fe\u5982\u56fe4.33.2\u6240\u793a\uff1a


\u56fe4.33.2

5\uff0e c\u8bed\u8a00\u6e90\u7a0b\u5e8f
#include

unsigned char ps[]={1,2,3,4,5};

unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71,
0x00,0x40,0x73,0xff};
unsigned char dispbuf[8]={18,16,16,16,16,16,16,16};
unsigned char dispcount;
unsigned char flashcount;
unsigned char temp;
unsigned char key;
unsigned char keycount;
unsigned char pslen=5;
unsigned char getps[6];
bit keyoverflag;
bit errorflag;
bit rightflag;
unsigned int second3;
unsigned int aa,bb;
unsigned int cc;
bit okflag;
bit alarmflag;
bit hibitflag;
unsigned char oka,okb;

void main(void)
{
unsigned char i,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>0;j--);
temp=p3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
switch(temp)
{
case 0x0e:
key=7;
break;
case 0x0d:
key=8;
break;
case 0x0b:
key=9;
break;
case 0x07:
key=10;
break;
}
temp=p3;
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;
}
else if(keycount>6)
{
keycount=6;
keyoverflag=1;//key overflow
}
}
else if(key==12)//delete key
{
if(keycount>0)
{
keycount--;
getps[keycount]=0;
dispbuf[keycount+2]=16;
}
else
{
keyoverflag=1;
}
}
else if(key==15)//enter key
{
if(keycount!=pslen)
{
errorflag=1;
rightflag=0;
second3=0;
}
else
{
for(i=0;i<keycount;i++)
{
if(getps[i]!=ps[i])
{
i=keycount;
errorflag=1;
rightflag=0;
second3=0;
goto a;
}
}
errorflag=0;
rightflag=1;
a: i=keycount;
}
}
temp=temp & 0x0f;
while(temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
}
keyoverflag=0;//?????????
}
}
p3=0xff;
p3_5=0;
temp=p3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
temp=p3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
switch(temp)
{
case 0x0e:
key=4;
break;
case 0x0d:
key=5;
break;
case 0x0b:
key=6;
break;
case 0x07:
key=11;
break;
}
temp=p3;
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;
}
else if(keycount>6)
{
keycount=6;
keyoverflag=1;//key overflow
}
}
else if(key==12)//delete key
{
if(keycount>0)
{
keycount--;
getps[keycount]=0;
dispbuf[keycount+2]=16;
}
else
{
keyoverflag=1;
}
}
else if(key==15)//enter key
{
if(keycount!=pslen)
{
errorflag=1;
rightflag=0;
second3=0;
}
else
{
for(i=0;i<keycount;i++)
{
if(getps[i]!=ps[i])
{
i=keycount;
errorflag=1;
rightflag=0;
second3=0;
goto a4;
}
}
errorflag=0;
rightflag=1;
a4: i=keycount;
}
}
temp=temp & 0x0f;
while(temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
}
keyoverflag=0;//?????????
}
}

p3=0xff;
p3_6=0;
temp=p3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
temp=p3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
switch(temp)
{
case 0x0e:
key=1;
break;
case 0x0d:
key=2;
break;
case 0x0b:
key=3;
break;
case 0x07:
key=12;
break;
}
temp=p3;
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;
}
else if(keycount>6)
{
keycount=6;
keyoverflag=1;//key overflow
}
}
else if(key==12)//delete key
{
if(keycount>0)
{
keycount--;
getps[keycount]=0;
dispbuf[keycount+2]=16;
}
else
{
keyoverflag=1;
}
}
else if(key==15)//enter key
{
if(keycount!=pslen)
{
errorflag=1;
rightflag=0;
second3=0;
}
else
{
for(i=0;i<keycount;i++)
{
if(getps[i]!=ps[i])
{
i=keycount;
errorflag=1;
rightflag=0;
second3=0;
goto a3;
}
}
errorflag=0;
rightflag=1;
a3: i=keycount;
}
}
temp=temp & 0x0f;
while(temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
}
keyoverflag=0;//?????????
}
}

p3=0xff;
p3_7=0;
temp=p3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
temp=p3;
temp=temp & 0x0f;
if (temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
switch(temp)
{
case 0x0e:
key=0;
break;
case 0x0d:
key=13;
break;
case 0x0b:
key=14;
break;
case 0x07:
key=15;
break;
}
temp=p3;
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;
}
else if(keycount>6)
{
keycount=6;
keyoverflag=1;//key overflow
}
}
else if(key==12)//delete key
{
if(keycount>0)
{
keycount--;
getps[keycount]=0;
dispbuf[keycount+2]=16;
}
else
{
keyoverflag=1;
}
}
else if(key==15)//enter key
{
if(keycount!=pslen)
{
errorflag=1;
rightflag=0;
second3=0;
}
else
{
for(i=0;i<keycount;i++)
{
if(getps[i]!=ps[i])
{
i=keycount;
errorflag=1;
rightflag=0;
second3=0;
goto a2;
}
}
errorflag=0;
rightflag=1;
a2: i=keycount;
}
}
temp=temp & 0x0f;
while(temp!=0x0f)
{
temp=p3;
temp=temp & 0x0f;
}
keyoverflag=0;//?????????
}
}
}
}
void t0(void) interrupt 1 using 0
{
th0=(65536-500)/256;
tl0=(65536-500)%256;

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)//sound alarm signal
{
p1_7=~p1_7;
}

aa++;
if(aa==800)//light alarm signal
{
aa=0;
p1_0=~p1_0;
}
second3++;
if(second3==6400)
{
second3=0;
errorflag=0;
rightflag=0;
alarmflag=0;
bb=0;
aa=0;
}
}
else if((errorflag==0) && (rightflag==1))
{
p1_0=0;
cc++;
if(cc<1000)
{
okflag=1;
}
else if(cc<2000)
{
okflag=0;
}
else
{
errorflag=0;
rightflag=0;
p1_7=1;
cc=0;
oka=0;
okb=0;
okflag=0;
p1_0=1;
}
if(okflag==1)
{
oka++;
if(oka==2)
{
oka=0;
p1_7=~p1_7;
}
}
else
{
okb++;
if(okb==3)
{
okb=0;
p1_7=~p1_7;
}
}
}

if(keyoverflag==1)
{
p1_7=~p1_7;
}
}

#include<reg52.h>
#define uchar unsigned char //数据类型的宏定义
#define uint unsigned int //数据类型的宏定义
sbit P27=P2^7;
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xBF};
//共阳数码管显示字型码数组 1011 1111 "-"
void delay1ms(uint i)
{

uchar j;
while(i--)
{
for(j=0;j<115;j++) //1ms延时程序
{
;
}

}

}
void display(unsigned char i)
{
P27=0; //选通最有端的数码管显示
P0=table[i]; //显示i参数传来的字型码
}

void main(void)
{
unsigned char temp;
display(16); //初始显示 "-"
while(1)
{

P1=0xff; //先向P1口写1;端口读状态

P1=0xf0;

temp=P1;
if(temp!=0xf0)
{
delay1ms(15);
if(temp!=0xf0)
{
P1=0xfe;
temp=P1;
switch(temp)
{
case(0xee):display(0);break;
case(0xde):display(1);break;
case(0xbe):display(2);break;
case(0x7e):display(3);break;

}

P1=0xfd;
temp=P1;
switch(temp)
{
case(0xed):display(4);break;
case(0xdd):display(5);break;
case(0xbd):display(6);break;
case(0x7d):display(7);break;
}

P1=0xfb;
temp=P1;
switch(temp)
{
case(0xeb):display(8);break;
case(0xdb):display(9);break;
case(0xbb):display(10);break;
case(0x7b):display(11);break;
}

P1=0xf7;
temp=P1;
switch(temp)
{
case(0xe7):display(12);break;
case(0xd7):display(13);break;
case(0xb7):display(14);break;
case(0x77):display(15);break;
}

}
}

}
}
//供你参考

我有4*4键盘及六位数码管显示的设计
如果你想要来参考下的话
就发邮件到我邮箱吧[email protected]

eoeo 饿哦也有、去我博客看http://hi.baidu.com/cgzsxy

  • (80C51鍗曠墖鏈)璁捐4脳4閿洏鍙8浣嶆暟鐮佺鏄剧ず鏋勬垚鐨勭數瀛愬瘑鐮侀攣.鐨凜璇 ...
    绛旓細閿寜涓,濡傛灉鏈夋寜閿寜涓,鐢盤1鍙h鍑虹浉搴旂殑缂栫爜鍊,鐢盤0缁忎袱鐗74HC573杈撳嚭缁 8浣嶆暟鐮佺,P2^0浣嶉,P2^1娈甸,P1鎺4*4鐭╅樀鎸夐敭 include <reg52.h> include<intrins.h> //澶存枃浠 define uchar unsigned char //瀹忓畾涔 define uint unsigned int sbit du=P2^1; //娈甸変綅 sbit we=P2...
  • 鎬ユ眰: 4脳4閿洏鍙8浣嶆暟鐮佺鏄剧ず鏋勬垚鐨勭數瀛愬瘑鐮侀攣璁烘枃?
    绛旓細鐢4脳4缁勬垚0锛9鏁板瓧閿強纭閿傜敤8浣嶆暟鐮佺缁勬垚鏄剧ず鐢佃矾鎻愮ず淇℃伅锛屽綋杈撳叆瀵嗙爜鏃讹紝鍙樉绀衡8.鈥濓紝褰撳瘑鐮佷綅鏁拌緭鍏ュ畬姣曟寜涓嬬‘璁ら敭鏃讹紝瀵硅緭鍏ョ殑瀵嗙爜涓庤瀹氱殑瀵嗙爜杩涜姣旇緝锛岃嫢瀵嗙爜姝g‘锛屽垯闂ㄥ紑锛屾澶勭敤led鍙戝厜浜屾瀬绠′寒涓绉掗挓鍋氫负鎻愮ず锛屽悓鏃跺彂鍑衡滃彯鍜氣濆0锛涜嫢瀵嗙爜涓嶆纭紝绂佹鎸夐敭杈撳叆3绉掞紝鍚屾椂鍙戝嚭鈥滃榾銆...
  • 4脳4閿洏鍙8浣嶆暟鐮佺鏄剧ず鏋勬垚鐨勭數瀛愬瘑鐮侀攣 鐢4脳4缁勬垚0-9鏁板瓧閿強...
    绛旓細锛1锛夎缃瘑鐮佸姛鑳 锛2锛夊瘑鐮佹楠屽姛鑳斤紝瀵嗙爜姝g‘锛屼寒缁跨伅锛屽惁鍒欎寒绾㈢伅 锛3锛夋搷浣滃畬鎴愬悗锛鏁扮爜绠℃樉绀888888锛岀瓑寰呬笅涓涓鎿嶄綔 锛4锛夊瘑鐮佹帀鐢典繚鎶ゅ姛鑳斤紙瀛樺埌24LC02涓級锛岃繖閮ㄥ垎鏈楹荤儲锛岃鑷繁鍐橧2C閫氳鍗忚 浣犲彲浠ヤ笂鐚叓鎴掞紝鐒跺悗鎼滅储浼氬憳鍚峯uzhouren锛屼笂闈㈡湁鎴戠殑浣滃搧灞曠ず鍜岃仈绯绘柟寮忥紒PS锛氭壘鎴戞帰璁ㄩ棶棰樹篃鏄...
  • 鍗曠墖鏈4*4鐭╅樀閿洏鏄剧ず鍒8浣嶆暟鐮佺 鐩墠鐜拌薄鏄鍏釜鏁扮爜绠鍏ㄤ寒 涓斾笉...
    绛旓細void display() //閫氳繃瀹氭椂鍣ㄦ潵鎸夐鐜鏄剧ず瀛樺偍鏁板瓧 { uchar r;for(r = t; r > 0; r--) { //浠巘鏈楂浣嶆暟鐮佺寮濮嬪啓鍏ユ暟瀛 P0 = wei[r]; wela = 1; wela = 0;P0 = table[keydata[r]]; dula = 1; dula = 0;//鏄剧ず鍑芥暟鍙佹閫夋暟鎹 } } //鏄剧ず姣忎竴浣嶏紝搴旇...
  • 51鍗曠墖鏈,4*4鐭╅樀閿洏,鍏綅鏁扮爜绠
    绛旓細51鍗曠墖鏈猴紝4*4鐭╅樀閿洏锛鍏綅鏁扮爜绠锛屼豢鐪熷疄渚嬪彲浠ュ弬鑰冧竴涓嬨俰nclude<reg51.h> define uchar unsigned char uchar temp;int key1,key,disbuf;// 姝よ〃涓 LED 鐨勫瓧妯 0 1 2 3 4 5 6 7 8 9 a b c d e f unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x...
  • 鏁扮爜绠℃樉绀4脳4閿洏鐭╅樀鎸夐敭
    绛旓細1. 鏁扮爜绠$殑鍩烘湰鍔熻兘锛氭暟鐮佺鏄竴绉嶇數瀛鏄剧ず璁惧锛屽叾鍩烘湰鍔熻兘鏄互鏁板瓧褰㈠紡灞曠ず淇℃伅銆傚畠鍙互鏄剧ず澶氱鏁板瓧鎴栧瓧绗︼紝甯哥敤浜庤绠楀櫒銆佷华琛ㄦ澘绛夊満鍚堛2. 4×4閿洏鐭╅樀鐨勬蹇碉細4×4閿洏鐭╅樀琛ㄧず涓涓寘鍚16涓寜閿殑閿洏甯冨眬锛屾瘡涓寜閿搴斾竴涓壒瀹氱殑琛屽垪鍧愭爣銆傞氳繃妫娴嬫寜閿殑鎸変笅鐘舵侊紝鍙互鑾峰彇鐢ㄦ埛鐨...
  • ...鏄湪涓涓BCD鏁扮爜绠′笂鏄剧ず,鐜拌姹傛敼鍦6浣嶆暟鐮佺涓婃樉绀洪敭鍊,浠ュ崄杩涘埗...
    绛旓細姹傛敼绋嬪簭,4*4閿洏鎵弿绋嬪簭,鏈潵鏄湪涓や釜BCD鏁扮爜绠′笂鏄剧ず,鐜拌姹傛敼鍦6浣嶆暟鐮佺涓婃樉绀洪敭鍊,浠ュ崄杩涘埗鏂瑰紡 ORG0000HAJMPMAINORG0030HMAIN:MOVP2,#0F0H;缁欏垪閫侀珮鐢靛钩LCALLDelay;寤舵椂,浣跨數璺ǔ瀹歁OVA,P2;鍙朠2鍙g殑鍊糀NLA,#0F0H;灞忚斀琛岀嚎鐨勫奖鍝岰JNEA,#0F0H,l;濡傛灉鏈夐敭鎸変笅,灏辫烦杞埌lAJMPMAINl:LC... ORG ...
  • 姹傜畝鍗曠殑51绯诲垪鍗曠墖鏈烘帶鍒4*4鐭╅樀閿洏鏄剧ず鐢佃矾鍥 甯︿笂绋嬪簭
    绛旓細/*鍔熻兘锛氱煩闃垫寜閿瘑鍒紝姣忔寜涓娆″搷涓澹帮紝鐢鏁扮爜绠℃樉绀0鈥斺擣閿 */ include <reg52.h> include <intrins.h> define uchar unsigned char define uint unsigned int sbit sound=P3^6;uchar code tab[]= { 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*...
  • 鐢╟51鍗曠墖鏈烘寜涓4*4鐭╅樀鎸夐敭,鏁扮爜绠℃樉绀0-F,鑳芥甯告樉绀,鍙槸0鍙峰拰7...
    绛旓細sbit H1=P0^4; //楂樺洓浣嶅垎鍒搴擯04-P07 sbit H2=P0^5;sbit H3=P0^6;sbit H4=P0^7;void main(){ P2=0x00; //鍏鏁扮爜绠锛屾暟鐮佺涓鏄剧ず while(1){ P0=0xfe;if(H1==0){P2=0x3f;} //鎸閿洏S1,鏄剧ず"0"if(H2==0){P2=0x06;} //鎸夐敭鐩楽2,鏄剧ず"1"if(H3==0){P2=0x5b...
  • 鍗曠墖鏈4*4鐭╅樀閿洏涓や綅鏁扮爜绠℃樉绀0鈥16
    绛旓細姝ラ濡備笅锛1銆佸皢4x4鐭╅樀閿洏杩炴帴鍒板崟鐗囨満涓婏紝骞跺皢鏁扮爜绠¤繛鎺ュ埌鍗曠墖鏈轰笂銆2銆佺紪鍐欑▼搴忎互瀹炵幇閿洏鎵弿鍜鏁扮爜绠℃樉绀銆3銆佷娇鐢ㄨ鎵弿娉曡瘑鍒敭鐩樿緭鍏ャ傚皢琛岀嚎璁剧疆涓洪珮鐢靛钩锛岀劧鍚庨愯鎵弿鍒楃嚎銆4銆佷娇鐢ㄤ袱浣嶆暟鐮佺鏄剧ず0-16鐨勬暟鍊笺傚皢鏁扮爜绠$殑娈甸夌嚎杩炴帴鍒板崟鐗囨満鐨凣PIO寮曡剼涓婏紝骞跺皢浣嶉夌嚎杩炴帴鍒板彟涓涓GPIO寮曡剼...
  • 扩展阅读:8位led数码管参数 ... 数码管显示对照表 ... 4位数码管显示数字 ... 8位数码管显示0-99 ... 4位数码管引脚图 ... 8位数码管动态显示0-7 ... 数码管规格型号大全 ... 号码管规格型号对照表 ... 数码管1-9段码表 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网