找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3558|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STC8AD單片機固定PWM占空比,電位器調(diào)節(jié)控制步進(jìn)電機PWM頻率

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:531986 發(fā)表于 2019-9-17 10:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/********************************************************
        功能  :用電位器通過STC8AD片內(nèi)AD和PWM控制電機轉(zhuǎn)速
        單片機;STC8AD
        晶振  :12M
        作者  :駿杰
        時間  :2019-11-4
********************************************************/
#include<STC8.H>        
#include <intrins.h>   
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
#define  uint16   unsigned int
#define  u8   unsigned uchar

/**************************************
功能描述:延時函數(shù)
入口參數(shù):uint16 x ,該值為1時,延時1ms
返回值:無
***************************************/
void delay_ms(uint16 x)
{  
  uint16 j,i;   
  for(j=0;j<x;j++)   
  {   
   for(i=0;i<1100;i++);   
  }  
}

void PCAInit(void)
{
  P_SW1 &= 0xCF;
  CMOD=0x0c; //設(shè)置PCA定時器,系統(tǒng)時鐘輸出,靜止PCA計數(shù)器溢出中斷
  CCON=0x00;
  CL=0;
  CH=0;
  CCAPM0=0x42; //PWM0設(shè)置PCA工作方式為PWM方式(0100 0010)
  PCA_PWM0 = 0x00; //PCA模塊0工作于8位PWM功能
  CCAP0L=0xff; //PWM占空比為50%[(40H-20H)/40H]
  CCAP0H=0xff;
  CR = 1;           //啟動PCA計時器
}

/**************************************
功能描述:ADC口初始化
入口參數(shù):無
返回值:無
***************************************/
void ADC_config(void)
{
  ADC_CONTR=0x80;      //使能ADC模塊
  ADCCFG=0x0f;         //設(shè)置ADC時鐘為系統(tǒng)時鐘/2/16/16,ADC_RES高8位,ADC_RESL高四位
  P1M0=0x00;           //設(shè)置P1.0為ADC口
}

void PWM_Clock(unsigned char clock)
{
   
if(clock==2)
{
  AUXR |= 0x80;//定時器0時鐘為Fosc,即1T
  TMOD|=0x02;  //8位自動重裝載
  TH0=0xe1;    //設(shè)定頻率

  
}
  
CMOD |= 0x05;//(clock<<1);
CL = 0;
CH = 0;
EA=1;
}
void main (void)
{
   ADC_config();
   PCAInit(); //PWM初始化
   while(1)
   {         
   ADC_CONTR |= 0x40; //啟動AD轉(zhuǎn)換
      _nop_();
      _nop_();
      while (!(ADC_CONTR & 0x20));//查詢ADC完成標(biāo)志
      ADC_CONTR &= ~0x20;         //清完成標(biāo)志
  if( TR0=1)
         {  
      EA=0;
      CR=1;
            TH0= ADC_RES;   //調(diào)頻
         }
    }
}

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表