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

標題: [求助]stc12c5410ad的PWM波形輸出 [打印本頁]

作者: coney    時間: 2010-12-21 21:01
標題: [求助]stc12c5410ad的PWM波形輸出

最近在使用stc12c5410ad的PWM模塊功能,輸出固定頻率可調占空比的PWM波,下面是我寫的程序,產生25%和50%占空比的PWM波:


 /******************************************************************************
  功能:固定頻率39kHz的可調脈寬的PWM
  系統時鐘 :20MH


 ********************************************************************************/
 #include <stc12c5410ad.h>
 #define uchar unsigned char
 #define uint unsigned int


 uchar code table[]={0xc0,0x80};  //占空比 分別為 25%,50%
 uchar i;


 void main()
 {
  CCON=0;     //初始化PCA寄存器
 CL=0;
 CH=0;
 CMOD=0x02;   //PCA時鐘源來自系統時鐘 f/2
 CCAPM0=0x42;  //PCA工作在PWM模式
 CR=1;         //開啟PCA timer
 while(1)
 {
  for(i=0;i<2;i++)
  {
   CCAP0H=CCAP0L=table;
   while(CL!=0xff);
  }
 }


 }


 

我想得到波形輸出順序:25%,50%,25%,50%,25%,50%……循環下去;(百分比為PWM的占空比,代表一個波形,波形就不畫了)


可是我用示波器觀察輸出結果,波形輸出順序:25%,50%,25%,50%,50%,50%,25%,50%,25%,50%,50%,50%,25%……。多出了兩個占空比50%的脈沖信號,請高手幫我看看程序是不是有什么問題,感覺問題出現在PWM占空比的賦值上,但又不知道具體是什么。



作者: x-lichking    時間: 2010-12-23 09:49

程序很簡單,應該沒錯。我建議你加個led燈來判斷一下 執行的步驟問題。

 

我懷疑你的STC芯片自己復位了。我遇到過自己復位的情況。 你在while(1) 上面加一個開機LED的閃爍 看看啥情況。


作者: 黃效忠    時間: 2013-11-7 15:15
ccapoh=ccapol=table[i];
作者: pengyongnet    時間: 2021-8-10 18:34
還有定時器的初始啊化
作者: gqzjl    時間: 2021-8-19 09:40
CCAP0H=CCAP0L=table[i];
作者: wylyhz999    時間: 2021-8-25 17:57
10年了,樓主對自己提出的這個問題是否有新的見解




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1