資源簡介
由DSP2407產生PWM波形,并且PWM波的頻率在一定范圍內以一定的步距進行變化。

代碼片段和文件信息
#include?“f2407rdef.h“
void?inline?disable()?????//屏蔽中斷
{
???asm(“?SETC?INTM“);
}
void?inline?enable()??????//使能中斷
{
???asm(“?CLRC?INTM“);
}
void?interrupt?nothing()??//其他中斷返回子程序
{
???return;
}
??
///////////////////////////////
void??initial()
{
???asm(“?setc?SXM“);??????????????????//符號位擴展有效
???asm(“?clrc?OVM“);??????????????????//累加器中結果正常溢出
???asm(“?clrc?CNF“);??????????????????//B0被配置為數據存儲空間
???
???*WDCR?=?0x0E8;?????????????????????//不使能看門狗
???*SCSR1?=?0x81FE;???????????????????//CLKIN=10MCLKOUT=4*CLKIN=40M
???*IFR?=?0x0FFFF;????????????????????//寫1清全部中斷標志
???WSGR?=0x00;????????????????????????//禁止所有的等待狀態
}
void??EVAinitial()
{
???int?m;
???*ACTRA?=?0x0006;??????????????????//PWM2低有效;PWM1高有效
???*DBTCONA?=?0x0FE8;????????????????//使能死區0FE8-1.6;0FEC-3.2
???*T1PR?=?0x0563;???????????????????//計算=40M/f
???for(m=0;m<50;m++);
???*CMPR1?=?*T1PR/2;
???*T1CNT?=?0x0000;
???*COMCONA?=?0x8200;????????????????//使能比較操作
???*T1CON?=?0x1000;??????????????????//定時器1為連續增計數模式
}
void?delay_50ms()
{
???int?ij;
???for(j=0;j<=1500;j++)
???{
??????for(i=0;i<=1000;i++);
???}
}
void?change()
{
???int?jm;
???for(j=0;j<525;j++)
???{
??????*T1PR?=?*T1PR+0x0001;
??????for(m=0;m<50;m++);
??????*CMPR1?=?*T1PR/2;
??????delay_50ms();
???}
???
???for(j=0;j<525;j++)
???{
??????*T1PR?=?*T1PR-0x0001;
??????for(m=0;m<50;m++);
??????*CMPR1?=?*T1PR/2;??????
??????delay_50ms();
???}
}
//////////////**********************//////////////////
// ??????? 主程序
//////////////**********************//////////////////
void?main()
{
???int?m;
??
???disable();??????????? ????//禁止總中斷
???initial();???????????????????????????//系統初始化
??
???*MCRA?=?0x00C0;????????????? ????????//端口配置為PWM功能口(亮燈)
???*PBDATDIR?=?0x8000;
??
???EVAinitial();
???enable();????????????????????????????//開總中斷
??
???for(m=0;m<1000;m++);
???*T1CON?|=?0x0040;
??
???while(1)
???{
??change();
???}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????I.A....???????571??2009-06-18?14:42??change\cc_build_Debug.log
????I.A....??????2764??2009-06-18?14:42??change\Debug\main.obj
????I.A....??????4713??2009-06-18?14:42??change\Debug\pulsewidth.map
????I.A....??????4200??2009-06-18?14:42??change\Debug\pulsewidth.out
????I.A....???????696??2009-06-18?14:42??change\Debug\vectors.obj
????I.A....???????262??2009-06-18?14:42??change\Debug.lkf
????I.A....???????262??2009-06-18?14:42??change\Debug.lkv
????I.A....?????18476??2007-10-26?09:37??change\f2407rdef.h
????I.A....??????1699??2008-05-11?11:48??change\LF2407.CMD
????I.A....??????2094??2009-06-18?14:41??change\main.c
????I.A....??????1451??2009-06-18?14:46??change\pulsewidth.paf
????I.A....???????772??2009-05-07?09:35??change\pulsewidth.pjt
????I.A....????101062??2002-01-30?21:54??change\RTS2XX.LIB
????I.A....???????461??2009-05-07?10:09??change\VECTORS.ASM
????I..D...?????????0??2009-06-18?14:42??change\Debug
????I..D...?????????0??2009-06-18?14:42??change
-----------?---------??----------?-----??----
???????????????139483????????????????????16
- 上一篇:駭客教你任何加密的破解
- 下一篇:畢業設計__PID控制直流電機
評論
共有 條評論