IAP15W4K32S4 PWM输出异常?加大PWM2T2H,PWM2T2,PWM2输出占空比应增大,但异常?为什么??以下为程序:
#include<STC15F2K60S2.H>
#include<math.h>
#include<absacc.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar xdata a;
void delay (uchar c)
{
uint xdata b;
for(;c>0;c--)
{ for(b=0;b<2000;b++)
_nop_();
}
}
void main()
{
//P0-P4口设置双向口//
P0M0=0;
P0M1=0;
P1M0=0;
P1M1=0;
P2M0=0;
P2M1=0;
P3M0=0;
P3M1=0;
P4M0=0;
P4M0=0;
AUXR=0X00;//允许访问内部RAM,包含内部扩展1792B//
//CLK_DIV=0X00;//ADRJ=0;时钟不分频//
CLK_DIV=0X27;//ADRJ=1;时钟128分频//
//PWM设置//
P_SW2|=0X80;//允许访问特殊寄存器,地址0XFF00以上//
PWMCR=0X3F;//使能PWM引脚输出//
PWM2CR=0X3f;//设置PWM_2引脚为P2.7//
//PWM2CR=0;//设置PWM2引脚为P3.7//
PWM3CR=0X08;//设置PWM3_3引脚为P4.5//
//PWM3CR=0;//设置PWM3引脚为P2.1//
PWMCFG=0X2A;//6路输出电平101010//
PWMCKS=0X0F;//对时钟257分频,作为计数器时钟//
PWMCH=0xf0;//定义PWM的周期//
PWMCL=0;
PWM2T1H=0;//定义PWM2的上升沿//
PWM2T1L=0X05;
PWM2T2H=0x60;//定义PWM2的下降沿//
PWM2T2L=0X80;
while(1)
{
PWMCR|=0X80;//使能PWM.//
P_SW2|=0X00;//不允许访问特殊寄存器,地址0XFF00以上//
}
} |