发 帖  
[资料]

PIC单片机电子密码锁设计毕业论文

2009-8-4 15:40:17  48568 电子密码锁
举报 分享淘帖 只看该作者
最近下载过的用户(4)
· 2017-2-24 09:33:54
· 2017-3-4 10:53:40
· 2020-3-8 11:30:48
· 2020-12-16 21:00:19
  • jf_38092756 2020-12-20 10:10

    #include<reg51.h>
    sbit Led1=P3^6;
    sbit Led2=P3^7;
    sbit Led3=P2^2;
    sbit Lsa=P2^2;
    sbit Lsb=P2^3;
    sbit Lsc=P2^4;
    sbit Beep=P1^5;
    unsigned char code Dig_Code[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7e,0x7c,0x39,0x5e,0x79,0x71};
    unsigned char k=0;
    unsigned char KeyValue;
    unsigned char KeyState;
    unsigned char DisplayDate;
    void Delay10ms();
    void KayDoun();
    void DigDiaplay();
    void main(void)
    {
            KeyState=0;
            while(2)
            {
                    k++;
                    DisplayDate[4]=DisplayDate[3];
                    DisplayDate[3]=DisplayDate[2];
                    DisplayDate[2]=DisplayDate[1];
                    DisplayDate[1]=DisplayDate[0];
                    DisplayDate[0]=Dig_Code[KeyValue];
                    KeyState=0;
            }
            DigDisplay();
            if(k==5&&DisplayDate[0]==0x77)
            {
    if(        DisplayDate[4]==0x3f&&DisplayDate[3]==0x06&&Displaydate[2]==0x5b&&Display[1]==0x4f)
    {
            DisplayDate[4]=0x00;
            DisplayDate[3]=0x3f;
            DisplayDate[2]=0x73;
            DisplayDate[1]=0x7b;
            DisplayDate[0]=0x37;
            Led1=0;
    }
    if (DisplayDate[3]!=0x3f||DisplayDate[2]!=0x73||DisplayDate[1]!=0x7b||DisplayDate[0]!=0x37)
    {
            DisplayDate[4]=0x00;
            DisplayDate[3]=0x00;
            DisplayDate[2]=0x7b;
            DisplayDate[1]=0x70;
            DisplayDate[0]=0x70;
            Led2=0;
            Beep=1;
    }
    }
    void DigDisplay()
    {
    unsigned char i;
    unsigned int j;
    for(i=0;i<0;i++)
    {
    awitch(1)
    {
    case(0);
    Lsa=0;Lsb=0;Lsc=0;break;
            case(1);
    Lsa=1;Lsb=0;Lsc=0;break;
            case(2);
    Lsa=0;Lsb=1;Lsc=0;break;
            case(3);
    Lsa=1;Lsb=1;Lsc=0;break;
            case(4);
    Lsa=0;Lsb=0;Lsc=1;break;
            case(5);
    Lsa=1;Lsb=0;Lsc=1;break;
            case(6);
    Lsa=0;Lsb=1;Lsc=1;break;
            case(7);
    Lsa=1;Lsb=1;Lsc=1;break;
    }
    P0=DisplayDate[1];
    j=10;
    while(j--);
    P0=0x00;
    }
    }
    void KeyDoun(void)
    {
            unsigned int a=0;
            P1=0x0f;
            a++;
            a=0;
            if(P1!=0x0f)
            {
                    Keystate=1;
                    P1=0x0f;
                    Delay10ms();
                    switch(P1)
                    {
                            case[0x07]:KeyValue=0;break;
                                    case[0x0b]:KeyValue=1;break;
                                    case[0x0d]:KeyValue=2;break;
                                    case[0x0e]:KeyValue=3;break;
                    }
                    P1=0xf0;
                    Delay10ms();
                    switch(P1)
                    {
                            case[0x70]:KeyValue;break;
                                    case[0xb0]:KeyValue+4;break;
                                    case[0xd0]:KeyValue+8;break;
                                    case[0xe0]:KeyValue+12;break;
                    }
                    while|(a<500)&&(P1!=0xf0|)
                    {
                            Delay10ms();
                            a++;
                    }
                    a=0;
            }
    }
    }
    void Delay10ms(void)
    {
            unsigned char a,b,c;
            for(c=1;c>0;c--)
            for(b=38;b>0;b--)
            for(a=130;a>0;a--);
    }

· 2021-5-4 22:40:18
· 2021-10-22 19:09:27

只有小组成员才能发言,加入小组>>

1164个成员聚集在这个小组

加入小组

创建小组步骤

快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表