新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機密碼鎖設計

        單片機密碼鎖設計

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

        5.C語言源程序

        #include AT89X52.H>

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

        unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,

        0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

        unsigned char pslen=9;

        unsigned char templen;

        unsigned char digit;

        unsigned char funcount;

        unsigned char digitcount;

        unsigned char psbuf[9];

        bit cmpflag;

        bit hibitflag;

        bit errorflag;

        bit rightflag;

        unsigned int second3;

        unsigned int aa;

        unsigned int bb;

        bit alarmflag;

        bit exchangeflag;

        unsigned int cc;

        unsigned int dd;

        bit okflag;

        unsigned char oka;

        unsigned char okb;

        void main(void)

        {

        unsigned char i,j;

        P2=dispcode[digitcount];

        TMOD=0x01;

        TH0=(65536-500)/256;

        TL0=(65536-500)%6;

        TR0=1;

        ET0=1;

        EA=1;

        while(1)

        {

        if(cmpflag==0)

        {

        if(P3_6==0) //function key

        {

        for(i=10;i>0;i--)

        for(j=248;j>0;j--);

        if(P3_6==0)

        {

        if(hibitflag==0)

        {

        funcount++;

        if(funcount==pslen+2)

        {

        funcount=0;

        cmpflag=1;

        }

        P1=dispcode[funcount];

        }

        else

        {

        second3=0;

        }

        while(P3_6==0);

        }

        }

        if(P3_7==0) //digit key

        {

        for(i=10;i>0;i--)

        for(j=248;j>0;j--);

        if(P3_7==0)

        {

        if(hibitflag==0)

        {

        digitcount++;

        if(digitcount==10)

        {

        digitcount=0;

        }

        P2=dispcode[digitcount];

        if(funcount==1)

        {

        pslen=digitcount;

        templen=pslen;

        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 仁布县| 怀宁县| 加查县| 左权县| 靖安县| 佛坪县| 山西省| 景德镇市| 武清区| 吴旗县| 元朗区| 房产| 罗甸县| 高台县| 萍乡市| 五原县| 浦城县| 巴林右旗| 高尔夫| 小金县| 博爱县| 遵化市| 中西区| 屏边| 新密市| 尉犁县| 沾化县| 南宁市| 滕州市| 方正县| 资源县| 页游| 临海市| 全州县| 新疆| 吴川市| 泊头市| 滦平县| 武汉市| 丰镇市| 长岛县|