好像没有外部中断触发源,怎么触发中断??? |
你这是不了解什么叫占空比吧, 百度一下吧, 多看看别人怎么写的 |
本帖最后由 yzwzfyz 于 2019-6-13 08:22 编辑 1、用定时器做一个1T中断。 2、设置一个周期寄存器C,假设你需要的周期是100T,你就让C=100。 3、设置一个占空比寄存器P,假设你需要的占空比是70,你就让P=70。 关键点(方案): 定时器每次中断后将C-1,如果P<>0,再将P-1,否则P不动! 1、当C-1=0时,让IO口置1,同时将C复成100、将P复成70;否则不处理。 2、当P-1=0时,让IO口清0;否则不处理。 这样IO口的输出就如你所愿了。 更高级一点做成活的。 再增设两个寄存器M,N,将程序中的100用M替代、70用N替代。 这样你只要改变M、N的值就可以任意改变周期与占空比了。而且随时改变!不过要保证M>N,这很容易吧。 关键不是看你的程序,而是看你的构思!你的程序有什么看头。 如果你能理解并认为我的方案可行,你就试着写写程序。 |