新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機學習——獨立按鍵之四

        單片機學習——獨立按鍵之四

        作者: 時間:2016-11-23 來源:網絡 收藏
        題目:獨立按鍵p1.0和p1.1

        P1.1鍵為數字加1鍵 P1.0為數字減1鍵

        本文引用地址:http://www.104case.com/article/201611/320186.htm

        使LED顯示數據從000到999之間一次加一或減一

        解決方案:(C語言編程)

        #include
        #include
        #define uint unsigned int
        #define uchar unsigned char
        uchar bai,shi,ge,num;
        uint shu;
        sbit uk= P1^1;
        sbit dk= P1^0;
        sbit le=P3^6;
        void delay(uint a);
        void display(uchar ba,uchar sh,uchar g);
        uchar code tabledu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
        0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0x86,0xc7,0xc7,0xc0,0xff};
        uchar code tablewe[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
        void init()
        {
        shu=0;
        bai=0;
        shi=0;
        ge=0;
        }
        void main()
        {
        init();
        while(1){
        if(uk==0){
        delay(5);
        if(uk==0){
        if(shu==999)
        shu=0;
        shu++;
        bai=shu/100;
        shi=shu%100/10;
        ge=shu%10;
        }
        while(!uk) ;
        }
        if(dk==0){
        delay(5);
        if(dk==0){
        if(shu==0)
        shu=999;
        bai=shu/100;
        shi=shu%100/10;
        ge=shu%10;
        shu--;
        }
        while(!dk) ;
        }
        display(bai,shi,ge);
        }
        }
        void display(uchar ba,uchar sh,uchar g)
        {
        le=1;
        P2=tablewe[1];
        le=0;
        le=1;
        P0=tabledu[ba];
        le=0;
        delay(5);
        le=1;
        P2=tablewe[2];
        le=0;
        le=1;
        P0=tabledu[sh];
        le=0;
        delay(5);
        le=1;
        P2=tablewe[3];
        le=0;
        le=1;
        P0=tabledu[g];
        le=0;
        delay(5);
        }
        void delay(uint a) {
        uint i,j;
        for(j=a;j>0;j--)
        for(i=250;i>0;i--);
        }



        關鍵詞: 單片機獨立按

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 阜平县| 涪陵区| 宜春市| 沧源| 天等县| 印江| 登封市| 运城市| 江津市| 泸定县| 嫩江县| 丰县| 昌乐县| 太康县| 邵武市| 麟游县| 北海市| 永仁县| 马尔康县| 绿春县| 钟山县| 武义县| 东宁县| 旅游| 宜君县| 汶上县| 长海县| 台江县| 临高县| 安图县| 嵩明县| 乌审旗| 亚东县| 金山区| 浦县| 晋宁县| 山东| 和林格尔县| 伊宁市| 喀喇沁旗| 东兴市|