新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 密碼鎖設計(4×4鍵盤及8位數碼管)

        密碼鎖設計(4×4鍵盤及8位數碼管)

        作者: 時間:2013-04-02 來源:網絡 收藏

        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) (key10))

        {

        if(keycount6)

        {

        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;ikeycount;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)%6;

        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(cc1000)

        {

        okflag=1;

        }

        else if(cc2000)

        {

        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;

        }

        }


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石河子市| 富裕县| 泸定县| 从江县| 界首市| 开原市| 莒南县| 会宁县| 绥江县| 比如县| 瑞安市| 罗甸县| 响水县| 武胜县| 微博| 阿鲁科尔沁旗| 南木林县| 红桥区| 天祝| 尖扎县| 东兰县| 通道| 苗栗县| 积石山| 贵州省| 雅江县| 东台市| 香河县| 于田县| 河池市| 景德镇市| 七台河市| 湾仔区| 寿宁县| 合水县| 河津市| 南漳县| 陆河县| 当雄县| 通河县| 永嘉县|