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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C8051F340系統(tǒng)時(shí)鐘配置

          C8051F340系統(tǒng)時(shí)鐘配置

          作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
          //C8051F340包含一個(gè)可編程內(nèi)部高頻振蕩器,該振蕩器在系統(tǒng)內(nèi)復(fù)位后默認(rèn)為系統(tǒng)時(shí)鐘。該高頻振蕩器為12MHz。

          //使能外部振蕩器后,至少要等待1ms,再來(lái)判斷外部晶體振蕩器是否穩(wěn)定工作。
          //使能時(shí)鐘乘法器后需要等待5us,再來(lái)初始化時(shí)鐘乘法器,之后來(lái)判斷時(shí)鐘乘法器是否穩(wěn)定工作。

          使用外部晶振的時(shí),【P0MDIN &= 0x3F;】語(yǔ)句一定要在ClockInit()函數(shù)調(diào)用之前執(zhí)行。
          原因:C8051F340的IO口默認(rèn)都是數(shù)字輸出。
          【P0MDIN &= 0x3F;】語(yǔ)句含義:P0.6(XTAL1),P0.7(XTAL2)配置為模擬輸入。

          //函數(shù)名: ClockInit()
          //描述 : 系統(tǒng)時(shí)鐘和USB時(shí)鐘初始化
          //時(shí)鐘來(lái)源為外部振蕩器——12MHz晶振
          void ClockInit(void)
          {
          unsigned int Temp; //臨時(shí)變量
          OSCXCN = 0x67; //外部振蕩器為晶體振蕩器方式,外部晶體振蕩器頻率在[10MHz,30MHz]
          for (Temp=0;Temp<3000;Temp++); //等待1ms
          while ((OSCXCN&0x80) == 0); //判斷晶體振蕩器工作是否穩(wěn)定
          FLSCL = 0x90; //flash相關(guān)頻率配置
          CLKMUL |= 0x81; //時(shí)鐘乘法器使能,時(shí)鐘乘法器的時(shí)鐘來(lái)源為外部振蕩器,即12MHz晶振
          for(Temp=0;Temp<200;Temp++); //等待5us初始化
          CLKMUL |= 0xC0; //初始化時(shí)鐘乘法器
          while ((CLKMUL & 0x20) == 0); //判斷時(shí)鐘乘法器是否穩(wěn)定

          CLKSEL = 0x03; //USB時(shí)鐘來(lái)源為時(shí)鐘乘法器,系統(tǒng)時(shí)鐘來(lái)源為時(shí)鐘乘法器,即都為48MHz

          本文引用地址:http://www.ex-cimer.com/article/201611/322675.htmOSCICN = 0x00; //禁止內(nèi)部高頻振蕩器 ,此語(yǔ)句在系統(tǒng)時(shí)鐘完全配置好了后執(zhí)行
          }


          //函數(shù)名: ClockInit()
          //描述 : 系統(tǒng)時(shí)鐘和USB時(shí)鐘初始化
          //時(shí)鐘來(lái)源為內(nèi)部振蕩器——12MHz晶振
          void ClockInit( void )
          {
          unsigned int Temp;
          OSCICN |= 0x80; //使能內(nèi)部高頻振蕩器
          CLKMUL = 0x00; //復(fù)位時(shí)鐘乘法器,時(shí)鐘乘法器時(shí)鐘來(lái)源為內(nèi)部高頻振蕩器
          CLKMUL |= (1<<7); //使能時(shí)鐘乘法器
          for(Temp=0;Temp<200;Temp++); //延時(shí)5us
          CLKMUL |= (1<<6)|(1<<7); //初始化時(shí)鐘乘法器
          for(Temp=0;Temp<2000;Temp++);
          while(!(CLKMUL&(1<<5))); //等待時(shí)鐘乘法器準(zhǔn)備好
          CLKSEL = 0x03; //USB時(shí)鐘來(lái)源為時(shí)鐘乘法器,系統(tǒng)時(shí)鐘來(lái)源為時(shí)鐘乘法器,即都為48MHz
          }


          評(píng)論


          技術(shù)專(zhuān)區(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); })();