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

標(biāo)題: STC8AD單片機(jī)固定PWM占空比,電位器調(diào)節(jié)控制步進(jìn)電機(jī)PWM頻率 [打印本頁(yè)]

作者: 17851000590    時(shí)間: 2019-9-17 10:33
標(biāo)題: STC8AD單片機(jī)固定PWM占空比,電位器調(diào)節(jié)控制步進(jìn)電機(jī)PWM頻率
/********************************************************
        功能  :用電位器通過STC8AD片內(nèi)AD和PWM控制電機(jī)轉(zhuǎn)速
        單片機(jī);STC8AD
        晶振  :12M
        作者  :駿杰
        時(shí)間  :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ù)
入口參數(shù):uint16 x ,該值為1時(shí),延時(shí)1ms
返回值:無(wú)
***************************************/
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定時(shí)器,系統(tǒng)時(shí)鐘輸出,靜止PCA計(jì)數(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;           //啟動(dòng)PCA計(jì)時(shí)器
}

/**************************************
功能描述:ADC口初始化
入口參數(shù):無(wú)
返回值:無(wú)
***************************************/
void ADC_config(void)
{
  ADC_CONTR=0x80;      //使能ADC模塊
  ADCCFG=0x0f;         //設(shè)置ADC時(shí)鐘為系統(tǒng)時(shí)鐘/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;//定時(shí)器0時(shí)鐘為Fosc,即1T
  TMOD|=0x02;  //8位自動(dòng)重裝載
  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; //啟動(dòng)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)頻
         }
    }
}






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