標(biāo)題: N76E003 PWM中斷及設(shè)定新的占空比 [打印本頁(yè)]
作者: 楊德金 時(shí)間: 2019-11-11 23:05
標(biāo)題: N76E003 PWM中斷及設(shè)定新的占空比
首先還是來(lái)看看PWM中斷寄存器,及其含義。
PWM模塊帶有標(biāo)志位 PWMF (PWMCON0.5) 用來(lái)標(biāo)志當(dāng)前 PWM周期完成狀態(tài)。PWMF通過(guò)軟件清零。
別忘記了使能PWM中斷,以及開(kāi)啟總中斷。
再來(lái)看看PWM中斷的中斷號(hào)。

就是這么簡(jiǎn)單,就是這么直接,接下來(lái)我們就開(kāi)始配置代碼吧。
在本次的例程中,我們將在中斷中,修改初始設(shè)定的占空比,最后再邏輯分析儀中進(jìn)行查看。 - void main(void)
- {
- Set_All_GPIO_Quasi_Mode;//所有IO設(shè)置為雙向模式
-
- EA=1;//開(kāi)啟總中斷
- set_EPWM;//使能pwm中斷
- PWM_INT_PWM4;//設(shè)定中斷源為PWM4
- PWM_FALLING_INT;//下降沿觸發(fā)
-
-
- PWM5_P03_OUTPUT_ENABLE;//使能PWM5,通過(guò)P03引腳輸出
- PWM4_P01_OUTPUT_ENABLE;
-
- clr_PWMTYP;//邊沿對(duì)齊模式
- clr_PWMMOD0;//設(shè)置為獨(dú)立輸出模式
- clr_PWMMOD1;
-
- PWM_CLOCK_DIV_8;//8分頻模式
- PWMPH = 0x07;//1999(Dec)
- PWMPL = 0xCF;
-
- /**********************************************************************
- PWM frequency = Fpwm/((PWMPH,PWMPL) + 1) <Fpwm = Fsys/PWM_CLOCK_DIV>
- = (16MHz/8)/(0x7CF + 1)
- = 1KHz (1ms)
-
- PWMDT=(PDTCNT+1)/Fpwm =10/2Mhz=0.005ms
- ***********************************************************************/
-
- set_SFRPAGE;//PWM4 and PWM5 duty seting is in SFP page 1
- PWM4H = 0x01;//500(Dec)
- PWM4L = 0xf4;
-
- PWM5H = 0x01;//500(Dec)
- PWM5L = 0xf4;
-
- clr_SFRPAGE;
- set_LOAD;//載入周期和占空比
- set_PWMRUN;//開(kāi)始輸出PWM
- while(1)
- {
- //構(gòu)建你的代碼
- }
- }
-
-
- void PWMISR() interrupt 13
- {
- if(PWMF)//檢測(cè)到中斷標(biāo)志位
- {
- clr_LOAD;//關(guān)閉載入之前的值
- clr_PWMF;//清楚PWM中斷標(biāo)志位 Timer0_Delay1ms(1)
- set_SFRPAGE;//PWM4 and PWM5 duty seting is in SFP page 1
- PWM5L-=30;
- clr_SFRPAGE;
- set_LOAD;//設(shè)定完成,開(kāi)始載入
- }
- }
復(fù)制代碼

| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |