中级会员
- 积分
- 212
- 威望
- 190
- 贡献
- 22
- 兑换币
- 0
- 注册时间
- 2008-4-25
- 在线时间
- 0 小时
|
<>程序如下:</P><P>#include <hidef.h> /* CPU底层配置 */<BR>#include <mc9s12dg128.h> /* 芯片相关信息 */<BR>#include <math.h><BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</P><P> </P><P> </P><P>/*全局变量的定义*/</P><P>unsigned int present_duty=760; <BR> </P><P>/**************************************************************************************<BR>函数名: PWM_INIT<BR>功能描述: PWM 初始化程序<BR>输入: 无<BR>输出: 无<BR>全局变量: PWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK,PWMCTL,PWMCAE,PWMPOL,PWMPER0,PWMPER1,<BR> PWMPER2,PWMPER3,PWMDTY0,PWMDTY1,PWMDTY2,PWMDTY3,PWME, present_duty,<BR> <BR>****************************************************************************************/ <BR>void PWM_INIT(void)<BR> { //PWM 初识化<BR> PWMPRCLK=0x50; <BR> PWMSCLA=0x01;<BR> PWMSCLB=0x01;<BR> PWME=0xfc; <BR> PWMCLK=0xfc;<BR> PWMCTL=0xe0;<BR> PWMCAE=0x00;<BR> PWMPOL=0xfc; <BR> PWMPER67=7600; <BR> // PWMPER6=0x02;<BR> // PWMDTY6=0x00;<BR> PWMDTY67=present_duty;<BR> <BR> <BR> }<BR> <BR>/**************************************************************************************<BR>函数名: PORT_INIT<BR>功能描述: I/O 口初始化<BR>全局变量: DDRB<BR>调用模块: 无<BR>***************************************************************************************/<BR>void PORT_INIT(void)<BR> { <BR> <BR> DDRB=0xFF; <BR> }<BR> </P><P>/**************************************************************************************<BR>函数名: main<BR>功能描述: 主程序<BR>全局变量: <BR>调用模块: PORT_INIT,PWM_INIT<BR> <BR>***************************************************************************************/<BR>void main(void) {<BR> int i=0,j=0; <BR> PORT_INIT();<BR> PWM_INIT();<BR> <BR> <BR> for(;;)<BR> {<BR> <BR> PORTB=0xf0;<BR> <FONT color=#f73809>present_duty=380;<BR></FONT> } <BR> </P><P>}</P><P>红色修改了值,程序运行后<FONT color=#f73809>present_duty 的值还是760 这是什么原因 难道不能用全局变量?? </FONT></P> |
|