| 
 
| 目前,用MC9S08系列进行呼吸灯设计,前期电路设计过程中,LED口没有连接到PTF等PWM口上,所以现在只能采用GPIO模式进行设计,主要思路是: 1)目前测试方案:利用中断定时器进行设计,通过更改中断定时时间来做到改变LED亮度的调整,类似于PWM占空比变化。
 2)另外一个方案:利用PWM接口的占空比变化做到亮度调整,但是由于我的LED口没有设计在专用口上,没有这个方案有点局限。
 进行第一种方案是出现的问题:
 1)意图通过进入定时器溢出中断时,重新复制TPM1MODH:TPM1MODL,从而达到改变定时器时间的效果,但是实际测试过程中发现,目前的定时时间一直为第一次写入TPM1MOD的设置值。
 2)如果采用PWM占空比变化,是否可以不直接硬性采用Chx通道输出,而是可以进入中断处理从而改变LED连接的通用口赋值。
 如下附上,中断处理函数。
 
 uint_8 dummy=0;
 uint_16 time_tmp=0xFFF0;
 void interrupt VectorNumber_Vtpm1ovf  TPM_ISR(void)
 {
 TPM1SC &=0x0F ;
 PTCD_PTCD4^=1;
 
 if(time_tmp>0x0020)
 time_tmp-=0x20;
 
 TPM1MODH=(uint_8)(time_tmp>>8);
 TPM1MODL=(uint_8)(time_tmp>>0);
 
 dummy=TPM1SC;
 TPM1SC =0x4F;
 
 }
 | 
 |