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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > XS128單片機實驗:在示波器上模擬乒乓球比賽

          XS128單片機實驗:在示波器上模擬乒乓球比賽

          作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
          #include /* common defines and macros */
          #include "derivative.h" /* derivative-specific definitions */
          /*****************************************************************/
          // This progam is the second homework from Fresscale Traning
          // 本題是電子設(shè)計大賽的題目:在示波器模擬乒乓球的比賽;
          //示波器工作在XY李薩如圖模式下;設(shè)定兩路PWM波通過改變占空比,
          // 在低通濾波器的作用下,控制電壓的變化,轉(zhuǎn)化為xy坐標下,黑點的
          // 的周期運動。本題的難點是PWM的產(chǎn)生,xy的關(guān)系用單片機內(nèi)的變量類型
          // 準確表示出來。還有就是根據(jù)自己的頻率選取不同的低通濾波電路。
          //1)PWM初始化子程序
          /*************************************************************************
          //功 能:完成PWM模塊初始化
          //入口參數(shù):無
          //出口參數(shù):無
          *************************************************************************/
          void PWM_Init(void)
          {
          PWME = 0x00; //禁止PWM模塊
          PWMPRCLK = 0x00; //CLOCKA的預(yù)分頻設(shè)置為8/clockb的預(yù)分頻設(shè)置為8
          PWMSCLA = 5; //SA的分頻因子設(shè)置為5
          PWMSCLB = 5; //SB的分頻因子設(shè)置為5
          PWMCLK = 0x05; //通道0/2選擇SASB 作為PWM時鐘
          PWMPER0 = 200; //通道0周期寄存器設(shè)置為200
          PWMPER2 = 200; //通道2周期寄存器設(shè)置為200
          PWMDTY0 = 0; //通道0占空比寄存器設(shè)置
          PWMDTY2 = 0; //通道2占空比寄存器設(shè)置
          PWMPOL = 0x05; //PWM輸出先為高電平,之后變?yōu)榈碗娖?br /> PWMCAE = 0x00; //左對齊輸出
          PWMCTL = 0x00; //不級聯(lián)
          PWME = 0x05; //使能PWM通道0/2
          }
          //2)延時子程序
          /*************************************************************************
          //功 能:實現(xiàn)一段時間的延時
          //入口參數(shù):無
          //出口參數(shù):無
          *************************************************************************/
          void delay(unsigned int delay_time)
          {
          unsigned int loop_i, loop_j; //定義循環(huán)變量

          for (loop_i=0; loop_i< delay_time; loop_i++)
          {
          for (loop_j=0; loop_j<5000; loop_j++)
          {
          ;
          }
          }
          }
          //3)主程序
          /*************************************************************************
          //功 能:初始化PWM模塊,并實現(xiàn)輸出波形占空比的增大和減小
          //入口參數(shù):無
          //出口參數(shù):無
          *************************************************************************/
          void main(void)
          {
          uchar loop_index; //定義循環(huán)變量
          long temp;
          uchar ceshi ;
          PWM_Init();
          while(1){
          for(loop_index=0;loop_index<200;loop_index++) {
          temp=loop_index;
          PWMDTY0 = temp;

          PWMDTY2 = (1480*temp-7*temp*temp+95000)/1000;
          delay(5);
          }

          for(loop_index=200;loop_index>0;loop_index--) {
          temp=loop_index;
          PWMDTY0 = temp;
          PWMDTY2 = (1480*temp-7*temp*temp+95000)/1000;
          delay(5);
          }
          }

          }


          評論


          技術(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); })();