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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > stc12c單片機掉電模式

          stc12c單片機掉電模式

          作者: 時間:2016-12-03 來源:網絡 收藏

          POF:是判斷是上電復位還是中斷復位和看門狗復位;

          本文引用地址:http://www.ex-cimer.com/article/201612/325231.htm
          PD:置1時,進入power down模式,可由外部中斷低電平觸發(fā)或下降沿觸發(fā)中斷模式喚醒,也可啟動掉電喚醒專用定時器喚醒。喚醒引腳有:INT0/P3.2 ,INT1/P3.3 ,INT/T0/P3.4 ,INT/T1/P3.5 ,/INT/RXD/P3.0 ...
          IDL:置位,進入IDLE模式,除CPU不工作外,其余繼續(xù)工作,可由任何一個中斷喚醒
          GF1,GF0:兩個通用工作標志位,用戶可由任意使用
          SMOD:波特率倍速位,置1,串口通訊波特率快一倍
          外部中斷喚醒:
          #include
          uchar temp=0xf0; //指示標志
          //外部中斷初始化
          void InitInterrupt()
          {
          EX0=1;
          IT0=1;
          IT1=1;
          EX1=1;
          EA=1;
          }
          //延時函數1s
          void delay(void) //誤差 0us
          {
          unsigned char a,b,c;
          for(c=167;c>0;c--)
          for(b=171;b>0;b--)
          for(a=86;a>0;a--);
          // _nop_; //if Keil,require use intrins.h
          }
          //主函數
          void main()
          {

          uchar num; //指示變量,用于賦值給p2口
          InitInterrupt(); //中斷初始化
          while(1)
          {
          num++; //每次睡眠喚醒加1
          P2=~num; //用p2口顯示出來
          PCON=0X02; //進入睡眠模式
          }
          }
          //外部中斷0
          void inter0() interrupt 0
          {
          temp=~temp;
          P1=temp;
          delay();
          }
          //外部中斷1
          void inter1() interrupt 1
          {
          temp=~temp;
          P1=temp;
          delay();
          }
          //工作在空閑模式,可以使用定時器
          #include
          uchar temp=0xf0; //指示標志
          //外部中斷初始化
          //延時函數1s
          void delay(void) //誤差 0us
          {
          unsigned char a,b,c;
          for(c=167;c>0;c--)
          for(b=171;b>0;b--)
          for(a=86;a>0;a--);
          // _nop_; //if Keil,require use intrins.h
          }

          void InitTimer0(void)
          {
          TMOD = 0x01;
          TH0 = 0x4C;
          TL0 = 0x00;
          EA = 1;
          ET0 = 1;
          TR0 = 1;
          }
          //主函數
          void main()
          {

          uchar num; //指示變量,用于賦值給p2口
          InitTimer0();
          while(1)
          {
          num++; //每次睡眠喚醒加1
          P2=~num; //用p2口顯示出來
          PCON=0X01; //進入睡眠模式
          }
          }
          void Timer0Interrupt(void) interrupt 1
          {
          TH0 = 0x4C;
          TL0 = 0x00;
          temp=~temp;
          P1=temp;
          delay();
          //add your code here!
          }


          評論


          技術專區(qū)

          關閉
          看屁屁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); })();