|
void pwminit(void)
{
PWMPOL=0XFF;//脈沖首先是高電平
PWMCLK=0X20;////PWM時(shí)鐘選擇寄存器選擇sa時(shí)鐘源
PWMPRCLK=0X77;///時(shí)鐘ab都為總線的8分頻
PWMCAE=0X00;///左對(duì)齊
PWMCTL=0X00;//單獨(dú)使用通道5
PWMSCLA= 0X05;///CLOCKSA=3KHZ
PWMPER0=0X64;//設(shè)定周期
}
void ad_init (void) {
ATD0CTL2=0XC0;///第七位模塊電源控制位,為一正常工作。第六位模塊標(biāo)志快速清除1:對(duì)寄存器的訪問結(jié)果快速清除。
ATD0CTL3=0X22/// 四次轉(zhuǎn)換,轉(zhuǎn)換完成自動(dòng)進(jìn)入休眠模式
ATD0CTL4=0X85; // 八位精度,每?jī)蓚(gè)周期采樣一次atd的時(shí)鐘頻率是總線頻率的12分之一
ATD0CTL5=0XA0;//寄存器數(shù)據(jù)的對(duì)齊方式 第六位確定有無符號(hào)連續(xù)轉(zhuǎn)換隊(duì)列模式單個(gè)通道采樣模擬通道輸入選擇an0
}
void main(void) {
/* put your own code here */
unsigned char i;
unsigned char j=10000;
sysclock_init();//設(shè)置鎖相環(huán)
EnableInterrupts;
// DDRM=0XFF;
pwminit() ;
PWMDTY0=50;//PWM占空比寄存器
PWME=0XFF;//使能pwm寄存器
for(;;) {
// delay();
// PORTB++;
_FEED_COP(); /* feeds the dog */
/* loop forever */
/* please make sure that you never leave main */
}
}
|
|