4×4键盘及8位数码管显示的电子密码锁设计的毕业设计

急需啊。。。各路的朋友们。帮帮忙!!!为谢!!... 急需啊。。。各路的朋友们。帮帮忙!!!为谢!! 展开
 我来答
百度网友82fbf6b
2010-06-10 · TA获得超过2519个赞
知道答主
回答量:73
采纳率:0%
帮助的人:50.9万
展开全部
#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;
}

}
}

}
}
//供你参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
5494小铺
2010-06-10 · TA获得超过1877个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:282万
展开全部
我有4*4键盘及六位数码管显示的设计
如果你想要来参考下的话
就发邮件到我邮箱吧xcy5494@163.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爬行的山羊
2010-06-10 · TA获得超过3026个赞
知道大有可为答主
回答量:6449
采纳率:70%
帮助的人:1160万
展开全部
eoeo 饿哦也有、去我博客看http://hi.baidu.com/cgzsxy
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式