新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機搶答器程序

        單片機搶答器程序

        作者: 時間:2012-12-31 來源:網絡 收藏

        #include .h>
        #define uchar unsigned char
        #define uint unsigned int

        void delay(uint);
        void sysini(void);

        /************************************************************
        *本程序版權所有
        *http://www.51hei.com榮譽出品
        *c語言編寫的程序已經測試成功,大家燒寫到芯片中就可以直接使用了
        *************************************************************/

        void main(void)
        {sysini();

        while(1)
        {

        P2=0x3f;
        P2=0x3f;
        if(P1!=0xff)
        {P2=0x7c;
        P3_1=0;
        delay(65535);
        P3_1=1;
        continue;
        }
        while(P1==0xff); //循環判斷 等待按鍵,同時顯示0
        //讀取數據
        switch(P1)
        {case 0xfe:P2=0x03;break; //1
        case 0xfd:P2=0x6d;break; //2
        case 0xfb:P2=0x67;break; //3
        case 0xf7:P2=0x53;break; //4
        case 0xef:P2=0x76;break; //5
        case 0xdf:P2=0x7e;break; //6
        case 0xbf:P2=0x23;break; //7
        case 0x7f:P2=0x7f;break; //8
        default: P2=0x7c;
        }
        P3_1=0;
        delay(65535);
        P3_1=1;

        while(P3_2)
        {if(!P3_2) break;
        if(!P3_2) break;
        if(!P3_2) break;
        if(!P3_2) break;
        }

        }


        }


        void delay(uint a)
        {uint i;
        for(i=0;ia;i++)
        ;
        }

        void sysini(void)
        {P2=0x00;delay(10000);
        P2=0x01;delay(10000);
        P2=0x02;delay(10000);
        P2=0x04;delay(10000);
        P2=0x08;delay(10000);
        P2=0x10;delay(10000);
        P2=0x20;delay(10000);
        P2=0x00;delay(40000);

        P2=0x38;delay(40000);
        P2=0x00;delay(40000);
        P2=0x7b;delay(40000);
        P2=0x00;delay(40000);
        P2=0x7b;delay(40000);
        P2=0x00;delay(40000);


        P2=0x01;delay(30000);
        P2=0x03;delay(30000);
        P2=0x07;delay(30000);
        P2=0x0f;delay(30000);
        P2=0x1f;delay(30000);
        P2=0x3f;delay(30000);
        }



        ---------下面還介紹一個匯編語言編程的程序原理請讀者自行分析-------------------

        C0002:
        MOV P2,#0C0H
        C0004:
        MOV A,P1
        CPL A
        JZ C0004
        C0005:
        MOV R7,P1
        MOV A,R7
        ADD A,#081H
        JZ C0014
        ADD A,#0C0H
        JZ C0013
        ADD A,#0E0H
        JZ C0012
        ADD A,#0F0H
        JZ C0011
        ADD A,#0F8H
        JZ C0010
        ADD A,#0FCH
        JZ C0009
        ADD A,#0FEH
        JZ C0008
        DEC A
        JNZ C0015
        C0007:
        MOV P2,#0FCH
        SJMP C0016
        C0008:
        MOV P2,#092H
        SJMP C0016
        C0009:
        MOV P2,#098H
        SJMP C0016
        C0010:
        MOV P2,#0ACH
        SJMP C0016
        C0011:
        MOV P2,#089H
        SJMP C0016
        C0012:
        MOV P2,#081H
        SJMP C0016
        C0013:
        MOV P2,#0DCH
        SJMP C0016
        C0014:
        MOV P2,#080H
        SJMP C0016
        C0015:
        MOV P2,#088H
        C0016:
        JNB P3_1,C0002
        SJMP C0016m



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 伊川县| 类乌齐县| 闵行区| 息烽县| 秀山| 黄石市| 渭南市| 滨州市| 泰来县| 铜川市| 来安县| 宝坻区| 泸州市| 溧水县| 通江县| 马鞍山市| 甘肃省| 孙吴县| 华蓥市| 广平县| 江山市| 石阡县| 兴隆县| 铜陵市| 栖霞市| 安宁市| 吉隆县| 和田市| 拜城县| 吉木乃县| 克山县| 忻州市| 韩城市| 深水埗区| 万全县| 德保县| 怀仁县| 弥勒县| 井冈山市| 太白县| 濉溪县|