91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于Microchip的dispic33fj64gs610芯片的定占空比PWM程序,在實驗調試中得到測試驗證。

資源截圖

代碼片段和文件信息

/**************************************************************************************??????????????????????????????????????????????????????????????????????
*名稱:PWM調試程序

*時間:2013年3月8日
*作者:huangcheng
*說明:要求PWM6H輸出40%占空比方波,PWM7H輸出60%占空比方波,PWM6L和PWM7L始終為高(CS240決定)
*其他:如有能力,要求PWM6H與PWM7H輸出180°移相???????????????
***************************************************************************************/
//“文件包含“處理
#include?“p33FJ64GS610.h“

#define?BIT7????0x0080
#define?IGBTEN_ON?PORTD=LATD&(~BIT7)

//配置文件
_FOSCSEL(FNOSC_FRC)?????????//初始振蕩器源選擇:000=FRC振蕩器
_FOSC(FCKSM_CSECMD?&?OSCIOFNC_ON)?//時鐘切換模式:01=使能時鐘切換,禁止故障保護時鐘監視器
??????????????????????????????????//OSC2引腳功能位(XT和HS模式除外):0=OSC2為通用數字I/O引腳
_FWDT(FWDTEN_OFF)????????//看門狗定時器使能:0=通過用戶軟件使能/?禁止看門狗定時器
_FPOR(FPWRT_PWR128)??????//上電復位定時器值選擇位:111=PWRT=128ms???????????????????????????????????
_FICD(ICS_PGD1?&?JTAGEN_OFF)?//ICD通信通道選擇使能位:11=在PGEC1和PGED1上進行通信
?????????????????????????????//JTAG使能位:0=禁止JTAG

void?init_PWM(void);

//main主函數
int?main()
{
??/********?Configure?Oscillator?to?operate?the?device?at?39.6288Mhz(MIPS)
?????????????????Fosc=?Fin*M/(N1*N2)?Fcy=Fosc/2
? ?????????Fosc=?7.3728*(43)/(2*2)=79.2576Mhz?for?Fosc?Fcy?=?40Mhz?*********/

/*?Configure?PLL?prescaler?PLL?postscaler?PLL?divisor?*/
PLLFBD=41;? /*?M=PLLFBD+2=43?*/
CLKDIVbits.PLLPOST=0;???/*?N2=PLLPOST+2=2?*/
CLKDIVbits.PLLPRE=0;????/*?N1=PLLPRE+2=2?*/

????__builtin_write_OSCCONH(0x01); /*?快速RC振蕩器(FRC)→帶PLL的快速RC振蕩器(FRC)?*/
????__builtin_write_OSCCONL(0x01);?? /*?Enable?Switch?*/
??????
//?Wait?for?Clock?switch?to?occur
????while(OSCCONbits.COSC?!=?0b001); /*?Wait?for?new?Oscillator?to?become?FRC?with?PLL?*/??
????while(OSCCONbits.LOCK?!=?1); /*?Wait?for?Pll?to?Lock?*/


??/****************?Setup?the?ADC?and?PWM?clock?for?117.9648MHz
?????????????????????????????????N=APSTSCLR=1
??????????????((Posc?*?16)?/?APSTSCLR?)?=?(7.3728?*?16)?/?1?=?117.9648MHz
??????????????????????????PWM?resolution?is?1.0596ns.??????????????????****************/
ACLKCONbits.FRCSEL?=?1; /*?為附屬PLL?選擇FRC時鐘?*/
ACLKCONbits.SELACLK?=?1; /*?附屬振蕩器為附屬時鐘分頻器提供源時鐘,Auxiliary?Oscillator?provides?clock?source?for?PWM?&?ADC?*/
ACLKCONbits.APSTSCLR?=?7; /*?附屬時鐘輸出1分頻,Divide?Auxiliary?clock?by?1?*/
ACLKCONbits.ENAPLL?=?1; /*?使能APLL?*/

while(ACLKCONbits.APLLCK?!=?1); /*?Wait?for?Auxiliary?PLL?to?Lock?*/


/************************??????IO端口設定??????*********************************/
????ADPCFG|=0xFFFF;?????????????????????
ADPCFG2|=0x00FF;?????//所有模擬口?都設為數字IO口

????//PWM模塊IO初始
PORTD=LATD|0x2038;
????PORTD=LATD&0xFF7F;
TRISD&=0xdf47;???????//IGBTEN初始為低,配置為輸出引腳pwm6H、6L、7H、7L配置為輸出引腳,初始高電平
????
????init_PWM();
????
????while(1);????????????????????? /*?Infinite?Loop?*/
}

void?init_PWM()
{

????PTPER=47188;???????????????????????/*?PTPER?=?((1?/?20kHz)?/?1.0596ns)?=?47188?where?20kHz?
???????????????????is?the?desired?switching?frequency?and?1.0596ns?is?PWM?resolution.?*/

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-03-09?11:36??PWM_dspic\
?????文件??????288753??2013-03-09?11:31??PWM_dspic\6KWDCDC-pic.cof
?????文件????????5208??2013-03-09?11:31??PWM_dspic\6KWDCDC-pic.hex
?????文件??????133889??2013-03-09?11:31??PWM_dspic\6KWDCDC-pic.map
?????文件????????1186??2013-03-09?11:35??PWM_dspic\6KWDCDC-pic.mcp
?????文件????????1939??2013-03-09?11:35??PWM_dspic\6KWDCDC-pic.mcs
?????文件?????1911296??2013-03-09?11:35??PWM_dspic\6KWDCDC-pic.mcw
?????文件????????4567??2013-07-19?16:28??PWM_dspic\main.c
?????文件??????256219??2013-03-09?11:31??PWM_dspic\main.o
?????文件???????74557??2012-09-11?15:54??PWM_dspic\p33FJ64GS610.gld
?????文件??????430347??2012-09-11?15:54??PWM_dspic\p33FJ64GS610.h
?????文件??????????59??2013-03-11?08:25??PWM_dspic\備注.txt
?????文件????????4554??2013-07-19?16:27??PWM_dspic\程序稿.txt

評論

共有 條評論