第一,楼主方波和脉冲的概念有点混淆:
一般来讲,对于信号的方波是交流信号,或者含有交流分量。而利用单片机定时器产生的脉冲都是高低电平跳变,都是直流信号。一般不含有交流分量。
对于楼主想要将方波转换成三角波和正弦波,最理想方法是用硬件电路实现,用软件的方法实现三角波有点困难,不过AVR单片机有AD转换,没有DA,需要外接DA转换器能做出三角波。对于正弦波来说,需要用到查表指令,你到网上找找,有很多正弦波的表,调用这个表就行能出正弦波,精度还行。
如果楼主想要电路图,我这里有现成的能够实现的,利用集成运放做的方波,三角波,正弦波转换电路,不过正弦波有点不太准确,毕竟是积分出来的。
补充:
AVR单片机定时出来的脉冲不能改成三角波,这个我试过,除非接D/A转换,不过也不是在脉冲基础上做的,而是通过随机数递减做的。
我给你的硬件电路是完美实现方波振荡---三角波---正弦波的电路,这个电路焊接简单,在仿真调试也能调试出来,只用1个LM324或者2个LM358就能做出来。