利用timer中斷寫的PWM,其控制頻率如何調整 |
答題得分者是:handystudio
|
skyerter
一般會員 發表:8 回覆:3 積分:2 註冊:2011-02-27 發送簡訊給我 |
|
handystudio
高階會員 發表:1 回覆:81 積分:106 註冊:2005-03-26 發送簡訊給我 |
你是使用12MHz XTAL 嗎?
假設是使用12MHz XTAL, 此程式10us中斷一次,中斷100次,Signal回到1,即1000us Signal固定回到1,此為信號週期=1ms, 頻率F=1/T = 1/1ms = 1KHz, 不是100Hz,程式本身應該就是1KHz, 無需調整. ===================引 用 skyerter 文 章=================== 此副程式的PWM的頻率為100Hz,要如何調到1kHz? void timer0_isr(void) interrupt 1 { T ; if(T==100) { T=1; Signal=1; } if(T==PWM) { T=PWM; Signal=0; } void time0_init() { EA=1; ET0=1; TMOD=0x02; TH0=(256-10); TL0=(256-10); TR0=1; }
------
歡迎光臨 輕巧工作室 網站 http://www.handystudio.tw 控制電路板客製設計、製作交貨 8051專題製作/專題客製 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |