51单片机接12MHz晶振,定时器0工作方式1,如何设置定时器初值可使频率达到20Hz~20KHz。我是用键盘电路输入频率和占空比,但频率最大只能达到3KHz左右。
求指导,最好能有关于定时器、中断函数的算法参考一下,急求!!!!
谢谢你的帮助,我正在按照你的方法进行调试。还有个问题想请教一下,就是我的这个电路要求方波的占空比是可调的,如果要设定不同的占空比应该如何调整程序?比如说,你的程序占空比是50%嘛,在20KHz时周期为50us,你设定25us进一次中断,如果要40%或30%的占空比应该如何调整程序比较合理?麻烦你给讲解一下,我明天就要答辩了,真的很急
追答最佳的方法是采用按键中断的方法。
利用按键的加减设定一个计数值。
如:50,代表占空比为50%,此时,高电平为50%,低电平也为50%;
60,代表占空比为60%,此时,高电平为60%,低电平也为40%;
延时为:高电平,60%*50us,低电平,(1-60%)*50us。
这是算法,需要在程序中实现。