我用的单片机是HLC908QT1,下面是我的pwm初始化程序,这个没有问题。<br />//----------------------------------------------------------------------------------<br />void PwmInit()<br />//----------------------------------------------------------------------------------<br /><br />{<br /> <br /> TSC_TSTOP = 1;<br /> TSC_TRST = 1;<br /> TSC_PS2=0;<br /> TSC_PS1=0;<br /> TSC_PS0=1;<br /> TMOD = 1010; // 1001 <br /> TCH0 = 1; <br /> TCH1 = 1;<br /> TSC0_MS0B = 1;<br /> TSC0_MS0A = 0;<br /> TSC0_TOV0 = 1;<br /> TSC0_ELS0B = 1;<br /> TSC0_ELS0A = 1; <br /> TSC_TSTOP = 0;<br /><br />}<br /><br /><br />我的问题是怎样修改TCH1改变脉冲宽度? 我自己做的附值语句如下:<br /> 当<br /> while(TSC0_CH0F==0);<br /> TCH1 = humi_val;时,输出脉冲宽度不对,大概是50%;<br /> 当<br /> while(TSC0_CH0F==0);<br /> TCH1 = 305;时,输出脉冲宽度完全正确。请问为什么直接负值可以,写成变量就不可了,我仿真监测我的变量的数据也完全正确。<br /><br /> |
|