1樓:學而_無止境
由於你沒說用什麼微控制器,所以我用51的寫的(12t),鍾頻率為12mhz是不可能完成頻率為100khz,佔空比為2:1(高電平時間較長),因為你的機器週期是1us
是中斷裡面最少都要花上7us,按你的提意高電平為6.6666....us,低電平為3.3333.....us,所以無法完成,而且用晶振算出來還有小數,更不能過到了。
下面的程式請用48m的晶振,高電平為約6.us,低電平為約3.us,頻率為100khz,佔空比為約為2:
1,用51(12t)微控制器是很難達到你要值的。除非的要的頻率再低。cpu頻率再加高。
現在應該明白了吧!
#include
sbit pwm=p2^0;
void t0_t() interrupt 1else
}void main()
2樓:匿名使用者
使用atmega16-16ai微控制器,晶振為12mhz,讓微控制器工作於fpwm模式,icr1=120,這樣pwm的頻率就是100khz了,然後設定ocr1a=80,這樣佔空比就是66.6%,即高電平時間是低電平時間的2倍。
所以1l和2l說的都很正確,用51微控制器來實現時很困難的,需要換個微控制器。
3樓:
100khz的週期是10us,12mhz晶振51的指令週期是1us,所以很緊張,你的微控制器不能在幹別的了,只能執行如下的程式(假設從p1.0輸出脈衝):
lab1: clr p1.0 ;1us
nop ;1us
nop ;1us
setb p1.0 ;1us
nop ;1us
nop ;1us
nop ;1us
nop ;1us
jmp lab1 ;2us
因為只能精確到1us,所以佔空比沒那麼準,大約7:3
4樓:依米
如果用pic微控制器就好多了,自帶pwm和分頻器,四行程式就夠了!
5樓:
週期為10us,分3份,51那有那麼精確的?
用c51微控制器和內部定時器來產生矩形波,要求頻率為100hz,佔空比為2:1,如何理解?
6樓:匿名使用者
矩形波就是邏輯電平0和1的轉換。用術語說你要做的就是一個簡單的pwm訊號發生器。頻率很好理解,就是週期的倒數。
其週期為1/100s,是10ms。那麼10ms完成一個波形的變換。佔空比2:
1,那麼高電平與低電平的時間佔週期的比例為2:1,就是高電平為2/3*10 ms,低電平時間為1/3*10ms,這樣就完成了一個完整的波形。如此往復就可以達到要求。
利用定時器完成高低電平的時間定時,用io口進行高低的電平的轉換就可以了!
7樓:匿名使用者
100hz的矩形波,週期就是10ms,佔空比2:1,就是高的部分佔10ms的2/3,低的部分佔10ms的1/3。理解了嗎?
程式設計用微控制器和定時器產生矩形波 要求頻率50khz 佔空比2:1 設微控制器的fosc
8樓:阿挺時代
是什麼微控制器假設是51,
sbit led=p1^0;
void main()
void t0_time() interrupt 1if(b==3)}
利用定時器/計數器,在微控制器p1.0口線上產生連續週期性矩形波,週期為2 10
9樓:做而論道
51 微控制器:
*** 0000h
mov tmod, #02h ;t0定時方式2mov th0, #216 ;40us@12mhzmov tl0, #216 ;40us@12mhzsetb tr0
loop:
setb p1.0
jnb tf0, $
clr tf0
jnb tf0, $
clr tf0
clr p1.0
jnb tf0, $
clr tf0
jnb tf0, $
clr tf0
jnb tf0, $
clr tf0
jmp loop
end如此即
內可容。
微控制器內部定時產生頻率為100khz等寬矩形波,晶振頻率為12mhz,如何程式設計?
10樓:匿名使用者
晶振頻率fsoc = 12mhz
也就是bai機器周du期為1us
要產生100khz的等寬矩形zhi波,也就是t=10us,即5us定時器溢dao出專一次,然後改變屬引腳電平,從而產生等寬矩形波。
則定時器在遞增n之後溢位,n=5us/1us =5,所以**的數為 n=(2^16-1)-n = 65530
即th0 = n/256 = 0xff;
tl0 = n%256 = 0xfa;
#include
sbit pin = p0^0;
void main()
}void t0_int(void) interrupt 1
微控制器定時器計算問題,一個微控制器 定時器 計算 問題
12m的晶振每秒可產生1m個機器週期,50ms就需要50000個機器週期,定時器在方 式1工作,是版16位計數器,最大值權為65536,所以需設定初值15536,即3cb0h,所以th0 0x3c,tl0 0xb0。11.0592m的晶振每秒可產生0.9216m個機器週期,50ms就需要46080個...
微控制器頻率的計算求解,微控制器中用定時器 和計數器來求頻率 計算公式是怎麼寫的???
1000hz 就是不知道這些頻率是怎麼計算出來的 微控制器的晶振是12mhz,微控制器初學者,請求用你通俗易懂的語言解釋,謝謝,非常感謝,鬱悶好幾天了。不是算的,是試驗出來的。想要輸出不同的頻率,就需要改變週期。改變延時時間,即可 yanshi 7 yanshi 10 要想得到準確的時間,就應該用組...
STC89C52微控制器中斷和定時器問題 TMOD
這些暫存器實 bai際試幾次就能深刻明du白他們的用途了,說的話zhi擔心你可能還是不dao能完全理解。內ea是總中斷開關,當容ea 0時,微控制器不執行任何中斷,因此如果想要微控制器進入中斷,ea必須賦值為1。et0 et1是定時 計數器t0 t1的中斷開關,其值為0時對應的中斷失效 有爭議 tr...