久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3266|回復: 4
收起左側

SEC15W PCA/PWM驅動步進電機問題

[復制鏈接]
回帖獎勵 9 黑幣 回復本帖可獲得 1 黑幣獎勵! 每人限 1 次
ID:76158 發表于 2016-7-15 07:58 | 顯示全部樓層 |閱讀模式
想采用STC15W408AS的 PCA/PWM來驅動步進電機
PCA的時鐘源采用定時器的溢出率作為PCA的時鐘源
目前,輸出頻率以及PWM都正常,唯獨就是有一個地方出現了問題,請版主或者各位看下,哪里出了問題
首先看代碼:
#include<STC15F2K60S2.H>          //24MHZ
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar i=2;
uint num,x,y;
bit fig=0;

void pwminit()  //初始化PWM模塊與系統
{
        AUXR=0x80;         //定時器時鐘頻率為1T模式
        TMOD=0X02;         //定時器為8位自動重裝 模式
        TH0=160;         //初值設定 定時器溢出率為 256-TH0/TL0的值
        TL0=160;         //初值設定                 定時器0溢出頻率為24000000/(256-160)=250000Hz

        
        CMOD=0X84;         //PCA模塊空閑模式停止計數,設置采用定時器0的溢出率作為PCA模塊的時鐘源 時鐘源=F/(256-定時器初值)/256
                                 //那么PCA的頻率應該等于250000/256=976 HZ
        CCON=0;                 //PCA計數器啟動控制寄存器
        CL=250;                 //PCA模塊初值
        CH=250;                 //PCA模塊初值        5個脈沖就PCA計數器溢出


        CCAPM0=0X42; //PCA模塊允許比較, PCA作為PWM輸出功能使用
        CCAP0H=127;  //PWM占空比設定

        CCAPM1=0X42; //PWM2
        CCAP1H=127;  //PW2

        EA=1;                 //總中斷開關打開
        TR0=1;                 //啟動定時器0
        CR=1;                 //啟動PCA計數器
}

void time0()         //脈沖定數記錄子函數,記錄脈沖個數,用來決定步進電機的行程
{
  if(CF==1)    //問題就處在這個子函數上面  這里是判斷PCA是否記滿數量 溢出標志位,如果是 那么說明5個脈沖滿了,NUM+1, 如果我NUM為10
  {                //那么應該是50個脈沖,而實際就不止50個脈沖了
           CF=0;
        num++;        
        if(num==10)     //上面PCA的計數器初值是250 到了5個脈沖就會溢出一次,而我這里NUM==1的時候,我測試過,確實是5個脈沖就停掉了
                                 //示波器上面看過了,NUM=1 就是5個脈沖  一但NUM不是為1的時候脈沖就不對
                {               //但是如果我這里寫NUM==10 出來的脈沖數量就不對了,估計都有上千的脈沖數量,大家看出來是哪里出了問題嗎
                 num=0;
                 CR=0;
                }
  }
}

void main() //主函數入口
{
  pwminit();
  while(1)
  {
   time0();        
  }

}
回復

使用道具 舉報

ID:76158 發表于 2016-7-15 10:33 | 顯示全部樓層
有人幫我看出問題來嗎
回復

使用道具 舉報

ID:114108 發表于 2016-7-19 14:29 | 顯示全部樓層

回帖獎勵 +1 黑幣

看不來
回復

使用道具 舉報

ID:202278 發表于 2017-7-15 14:15 | 顯示全部樓層
沒有,同在學PCA輸出PWM
回復

使用道具 舉報

ID:325933 發表于 2018-6-23 15:14 | 顯示全部樓層
我看的芯片上說CL由0增至255后會溢出;我的理解是在這期間CL會與CCAP0L的值相比較,溢出時CCAP0H的值裝載在CCAP0L上。您會不會是誤以為CH=250裝載在CL上,使得CL從250開始計數了吧?難道是不同芯片運行方式不一樣?說錯不要打我
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av一级一片 | 国产美女一区二区 | 成人午夜在线 | 精品视频在线观看 | 久草新在线 | 午夜欧美 | 久久久91精品国产一区二区三区 | 亚洲免费观看视频网站 | 中文字幕福利视频 | 伦理午夜电影免费观看 | 97伦理| av色站 | 超碰免费在 | 久久久精品一区 | 亚洲精品白浆高清久久久久久 | 成人精品鲁一区一区二区 | 精品一二三区在线观看 | 亚洲97 | 亚洲成色777777在线观看影院 | 福利国产 | 日韩午夜精品 | 日本久久一区二区三区 | 精品久久九 | 97色免费视频 | 99免费| 美女毛片 | 一级片视频免费观看 | 91久久看片 | 91精品国产91久久久久久 | 亚洲精选一区二区 | 日韩在线不卡视频 | 亚洲国产精品一区在线观看 | 欧美久久精品一级黑人c片 91免费在线视频 | 亚洲毛片在线观看 | 亚洲在线 | 欧美在线视频网站 | 久久亚洲国产精品日日av夜夜 | 亚洲bt 欧美bt 日本bt | 日韩精品福利 | 国产精品成人品 | 午夜免费视频 |