欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2420|回復: 0
打印 上一主題 下一主題
收起左側

單片機1分鐘計時代碼,可以按鍵控制數字暫停和復位

[復制鏈接]
跳轉到指定樓層
樓主
ID:207124 發表于 2018-11-28 09:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include"reg52.h"        
#define uint unsigned int
#define uchar unsigned char
//sbit e=P2^4;
//sbit f=P2^5;
sbit duan=P2^6;
sbit wei=P2^7;
sbit LED1=P0^0;                                                //聲明LED1為P1.0端口
sbit LEDctr=P1^4;
sbit Beep=P2^2;
sbit key1=P3^2;
sbit key2=P3^4;
sbit key3=P3^6;
sbit key4=P3^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void delayms(uchar);

uchar numt0,num;

void display(uchar numdis)
        {
                uchar shi,ge;
                shi=numdis/10;
                ge=numdis%10;

                duan=1;
                P0=table[shi];
                duan=0;
                P0=0xff;
                wei=1;
                P0=0xfe;
                wei=0;
                delayms(100);

                duan=1;
                P0=table[ge];
                duan=0;
                P0=0xff;
                wei=1;
                P0=0xfd;
                wei=0;
                delayms(10);
                }

void delayms(uchar xms)
     {
                   uint i,j;
                   for(i=xms;i>0;i--)
                for(j=130;j>0;j--);
     }


void init()
    {
                TMOD=0x01;         //定時器工作模式
                TH0=(65536-20000)/256; //裝初始值,20ms一次中斷
                TL0=(65536-20000)%256;
                EA=1;                                   //全局中斷允許位開
                ET0=1;               //定時器0中斷允許位開
        }
        
void keyscan()
    {

          Beep=1;
          if(key1==0)
            {
                  delayms(1);

            if(key1==0)
              {
                    num++;
                    if(num==60)
                      num=0;
                         Beep=0;
                     while(!key1);
                         Beep=1;
               }
                }

         
          if(key2==0)
             {
                   delayms(5);
                   if(key2==0)
                   {
                     if(num==0)
                            num=60;
                                num--;
                                Beep=0;
                                while(!key2);
                                Beep=1;
                        }
                  }
         
         
           if(key3==0)
              {
                    delayms(5);
                        if(key3==0)
                        {
                           num=0;
                           Beep=0;
                           while(!key3);
                           Beep=1;
                         }

                   }

        
                if(key4==0)
                   {
                    delayms(5);
                        if(key4==0)
                        {
                           Beep=0;
                           while(!key4);
                           Beep=1;
                           TR0=~TR0;
                         }


                        }

        }
        
        

void main()
   {
        init();
        while(1)
          {

                  keyscan();

                  display(num);
           }
        }
               


void T0_time()interrupt 1
{
   TH0=(65535-20000)/256;
   TL0=(65535-20000)%256;
   numt0++;
   if(numt0==50)
                     {
                           numt0=0;
                           num++;
                           if(num==60)
                                num=0;
                           }
  }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表