如果单片机的基本电路编程语法不懂的话,就从一本有关单片机的教程开始学习。
但如果是不知道PWM如何产生的话,就简单了:
1.7KHZ,占空比0.5,也即是588.2us一个周期,则294.1us产生一个高低电平状态变化。
如果这个输出频率不是要求特别严格的话,以12MHz晶振为例,一个指令周期为1us,通过设计定时器,以16位模式,定时值为65536-294=65242=0xFEDA,在中断中,每次改变一下IO口状态,就OK了。但要注意,由于使用16位定时器,重置定时器初始值时要稍微做一些小处理,就是要将定时器已经走过的时间量与若干语句执行的时间量计入定时器初值,否则产生的PWM频率就会小一些。
另外,建议你在工程实际中,使用含有PCA/PWM功能的单片机,这样的话,又简单又高效还比较精确。
楼主想学单片机的话,学习板必须买啊。学习板附带各种教程,包括PWM控制。