久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2870|回復: 1
收起左側

51單片機獨立按鍵的使用

[復制鏈接]
ID:331343 發表于 2018-5-16 15:49 | 顯示全部樓層 |閱讀模式
51單片機獨立按鍵的使用,主函數的c文件如下,完整工程文件在附件
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit we = P2^7;                //數碼管位選
sbit du = P2^6;                //數碼管段選

sbit key_s2 = P3^0;        //S2按鍵未定義

uchar code leddata[]={

                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄滅
                0x00  //自定義

                         };

void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}

void main()
{
          uchar num = 0;
          we = 1;           //數碼管位選
          P0 = 127;  //選通第一個數碼管,該數碼管接低電平,其余為高電平
          we = 0;
          while(1)
          {
                          du = 1;
                        P0 = leddata[num];
                        du =0;
                        if(key_s2 == 0)
                        {
                                delay(5); //軟件延時
                                if(key_s2 == 0)
                                {
                                        num++;
                                }
                                while(!key_s2);//松手檢測
                        }
                        if(num == 10)
                        {
                                num=0;
                        }

          }

}

1獨立按鍵.zip

13.43 KB, 下載次數: 4, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:332416 發表于 2018-5-18 15:16 | 顯示全部樓層
獨立按鍵控制數碼管時鐘
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
sbit K1=P3^4;
sbit K2=P3^5;
sbit K3=P3^6;
sbit K4=P3^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uint aa;
uchar num1,num2,shi1,ge1,shi2,ge2;

void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}

void display(uchar num1,uchar num2)
{
        shi1=num1/10;
        ge1=num1%10;
        shi2=num2/10;
        ge2=num2%10;
       
        dula=1;
        P0=table[shi1];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0xfe;
        wela=0;
        delay(1);

        dula=1;
        P0=table[ge1];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0xfd;
        wela=0;
        delay(1);

        dula=1;
        P0=table[shi2];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0xfb;
        wela=0;
        delay(1);

        dula=1;
        P0=table[ge2];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0xf7;
        wela=0;
        delay(1);
}

void key()
{
        if(K1==0)
        {
                delay(5);
                if(K1==0)
                {
                        TR0=0;
                        while(!K1);
                }
        }

        if(K2==0)
        {
                delay(5);
                if(K2==0)
                {
                        if(num1==0)
                        {
                                num1=60;
                        }
                        num1--;
                        while(!K2);
                }
        }

        if(K3==0)
        {
                delay(5);
                if(K3==0)
                {
                        num1++;
                        if(num1>=60)
                        {
                                num1=num1-60;
                        }
                        while(!K3);
                }
        }

        if(K4==0)
        {
                delay(5);
                if(K4==0)
                {
                        TR0=1;
                        while(!K4);
                }
        }
}

void inint()
{
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
}

void main()
{
        inint();
        while(1)
        {
                key();
                display(num1,num2);
        }
}

void zhongduan()interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        aa++;
        if(aa==20)
        {
                aa=0;
                num2++;
                if(num2==60)
                {
                        num2=0;
                        num1++;
                        if(num1==60)
                                num1=0;
                }
        }
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲欧美在线 | 亚洲国产情侣自拍 | 成人免费精品视频 | 香蕉久久网 | 欧美在线a | 伊人99 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 91成人影院 | 国产综合精品一区二区三区 | 91精品国产91久久久久游泳池 | 久草电影网 | 亚洲综合热| 欧美日韩久久精品 | 91av在线不卡 | 99亚洲精品 | 情侣酒店偷拍一区二区在线播放 | 国产 欧美 日韩 一区 | 欧美激情精品久久久久久变态 | 日韩精品免费看 | 国产电影一区二区三区爱妃记 | 中文字幕日韩欧美一区二区三区 | 啪啪毛片 | 精品免费在线 | 日韩午夜 | 国产精品无码专区在线观看 | 中文字幕视频在线观看 | 99久久婷婷国产综合精品电影 | 亚洲美女网站 | 国产一区二区在线免费观看 | 在线观看av网站永久 | 精品久久香蕉国产线看观看亚洲 | 在线免费观看a级片 | 最新黄色在线观看 | www312aⅴ欧美在线看 | 日本a级大片 | 日韩影音 | 成人在线小视频 | 在线看片国产精品 | 精品一区二区三区视频在线观看 | 久久久久久网 | 日韩亚洲视频在线 |