<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 世上最簡(jiǎn)單的遙控(數(shù)碼管顯示)電子鐘(C語言編寫)

          世上最簡(jiǎn)單的遙控(數(shù)碼管顯示)電子鐘(C語言編寫)

          作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
          /*此程序?yàn)榧t外遙控電子鐘,晶振為12M,MCU型號(hào)為51系列,電路很簡(jiǎn)單四位共陽數(shù)碼管,紅外接收管sm0038接在P3.2*/

          #include
          #define uchar unsigned char
          #define uint unsigned int
          #define c(x) (x*120000/120000)
          sbit IR=P3^2;

          本文引用地址:http://www.ex-cimer.com/article/201611/323368.htm

          sbit ge=P2^3;//數(shù)碼管四位選控制端
          sbit shi=P2^2;
          sbit bai=P2^1;
          sbit qian=P2^0;

          char miao,fen=59,shij=23;//時(shí)分秒3個(gè)變量
          uchar num,ding; //兩定時(shí)器計(jì)數(shù)變量
          uint temp;//遙控解碼變量
          uchar i;
          uchar j;
          bit flag;//控制小數(shù)點(diǎn)亮與滅變量
          bit power;//控制數(shù)碼管亮與滅變量
          bit flash;//進(jìn)入時(shí)間調(diào)整標(biāo)志位變量

          uchar IRBUF[4]; //用于保存解碼結(jié)果
          uchar code table[]={
          0xc0,0xf9,0xa4,0xb0,0x99,
          0x92,0x82,0xf8,0x80,0x90,
          0x88,0x83,0xc6,0xa1,0x86,
          0x8e
          };

          uint Low()
          {
          TL0=0;
          TH0=0;
          TR0=1;
          while(!IR&&(TH0&0x80)==0);
          TR0=0;
          return TH0*256+TL0;
          }
          //=============================================================
          uint High()
          {
          TL0=0;
          TH0=0;
          TR0=1;
          while(IR&&(TH0&0x80)==0);
          TR0=0;
          return TH0*256+TL0;
          }
          void xian(uchar shik,uchar fen)
          {
          P0=table[shik/10];
          if(power==0)
          qian=0;
          else
          qian=1;
          // delay(2);
          qian=1;
          if(flag==0)
          P0=table[shik%10]&0x7f;
          else
          P0=table[shik%10]|0x80;
          if(power==0)
          bai=0;
          else
          bai=1;
          //delay(2);
          bai=1;
          P0=table[fen/10];
          if(power==0)
          shi=0;
          else
          shi=1;
          //delay(2);
          shi=1;
          P0=table[fen%10];
          if(power==0)
          ge=0;
          else
          ge=1;
          //delay(2);
          ge=1;
          }
          void yin()
          {
          while(1)
          {
          restart:
          while(IR)
          {

          xian(shij,fen);
          if(flash==1)
          {
          if(ding>5)
          {
          ding=0;
          power=~power;
          //xian(shij,fen);
          }
          }
          }
          temp=Low();
          if(tempc(9500)) continue;//引導(dǎo)脈沖低電平9000
          temp=High();
          if(tempc(5000)) continue;//引導(dǎo)脈沖高電平4500
          for(i=0;i<4;i++) //4個(gè)字節(jié)
          {
          for(j=0;j<8;j++) //每個(gè)字節(jié)8位
          {
          temp=Low();
          if(tempc(800)) goto restart;
          temp=High();
          if(tempc(2000)) goto restart;
          IRBUF[i]>>=1;
          if(temp>c(1120)) IRBUF[i]|=0x80;
          }
          }
          return;
          }
          }


          上一頁 1 2 下一頁

          關(guān)鍵詞: 遙控?cái)?shù)碼管電子

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();