亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
STC12C5A60S2 定時器可調頻率
[打印本頁]
作者:
qiang275129042
時間:
2017-2-8 13:07
標題:
STC12C5A60S2 定時器可調頻率
void timer0_int()interrupt 1 using 0
{
TH0 = (65536-1000)/256;//1ms產(chǎn)生一次中斷
TL0 = (65536-1000)%256;
counter++;
if(tm==counter)
{
P1=0xff;
for(p=0;p<150;p++);
TF0=0;
P1=0x00;
counter=0;
}
這個是定時器0的中斷程序!現(xiàn)在要求頻率可調變化為1.00HZ到100.00HZ
現(xiàn)在初始值為1MS產(chǎn)生一次中斷!
如果:TM等于1對應頻率為1000,
TM等于1000對應頻率等于1
如何將tm變量經(jīng)過換算成頻率?
求換算公式! 這個是51單片機!
作者:
utzuzu
時間:
2017-2-8 16:29
計數(shù)器工作在16位計數(shù)模式,計數(shù)初始值=65535-Fx/(f*2)。 Fx為計時器頻率(51是晶振頻率除以12),f是你要的頻率范圍(1-100),f頻率越高精度越低,非線性的。每次進中斷,只要把IO口反置一下即可在這個IO口上得到f頻率的方波。
作者:
utzuzu
時間:
2017-2-8 16:46
你這個1ms的刻度太粗了,在單片機上不能這樣做,舉一個最簡單的例子:如果想要是100Hz,那么TM=1000/100=10;這個沒問題;如果頻率是99hz呢?TM=1000/99=10.1 這個10.1次在單片機里是很難算出來的,最后約等于10,輸出還是100Hz,99是出不來的。。 反過來算,TM=10時輸出100Hz,當TM=11時(最小刻度),輸出頻率是1000/11=90.9Hz。也就是說100Hz的下一個跨度是90.9Hz,90.9到100之間的頻率是調不出來的。 歸根到底,就是精度不夠。
作者:
qiang275129042
時間:
2017-2-8 18:07
能說一說具體的公式嗎?
感謝上面的回復!具體怎么搞?
作者:
qiang275129042
時間:
2017-2-9 15:07
求助!那個大俠給個方法???
作者:
utzuzu
時間:
2017-2-10 08:24
建議直接計數(shù)器計時輸出方波: 就是在定時器中斷里面,計數(shù)值=65535-Fx/(f*2), IO口輸出非一下(反一下)。在主程序里面設置你的f就可以啦。不需要很復雜的,幾行代碼就夠了。
計數(shù)器工作在16位計數(shù)模式,計數(shù)初始值=65535-Fx/(f*2)。 Fx為計時器頻率(51是晶振頻率除以12),f是你要的頻率范圍(1-100),f頻率越高精度越低,非線性的。每次進中斷,只要把IO口反置一下即可在這個IO口上得到f頻率的方波。
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1