資源簡介
原創哦,CSDN首發
用51單片機的兩定時器產生更精準的正弦PWM波,還帶有Proteus仿真文件
代碼片段和文件信息
//Timer0是用來計算高電平時間,Timer1是用來計算低電平時間
#include?“reg52.h“
#include?“math.h“
#define?PI?3.1415926
#define?POINT?50 //采樣點個數,個數越多越逼真,但是正弦頻率也越大
sbit?PWM=P2^0;
void?setTimer(unsigned?int?value); //定時器時間設置
float?unit;
unsigned?char?uc;
unsigned?int?ipluse;
void??main(void)
{
uc=0;
PWM=1;
TMOD=0x11;
TL0=0;
TH0=0;
TR0=1;
ET0=1;
TL1=0;
TH1=0;
TR1=0;
ET1=1;
EA=1;
unit=PI/POINT*2;
//?? f=sin(PI);
while(1)
{
}
}
void?setTimer(unsigned?int?value) //定時器時間設置
{
unsigned?int?inverse=0xffff-value;
TL1=value;
TH1=value>>8;
TL0=inverse;
TH0=inverse>>8;
}
void?timer0_int()?interrupt?1
{
EA=0;
if(uc==POINT) //判斷采樣周期是否結束,若是,從頭開始
{
uc=0;
}
ipluse=(unsigned?int)((sin(unit*uc)+1)/2*65535);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1125??2013-03-20?10:32??sinPWM\keilPrj\main.c
?????文件???????3168??2013-03-20?10:32??sinPWM\keilPrj\main.LST
?????文件???????4836??2013-03-20?10:32??sinPWM\keilPrj\main.OBJ
?????文件???????6775??2013-03-20?10:32??sinPWM\keilPrj\sinPWM
?????文件???????4552??2013-03-20?10:32??sinPWM\keilPrj\sinPWM.hex
?????文件?????????58??2013-03-20?10:32??sinPWM\keilPrj\sinPWM.lnp
?????文件???????9895??2013-03-20?10:32??sinPWM\keilPrj\sinPWM.M51
?????文件?????138645??2013-03-22?18:22??sinPWM\keilPrj\sinPWM.uvgui.keetle
?????文件?????138624??2013-03-20?19:01??sinPWM\keilPrj\sinPWM.uvgui_keetle.bak
?????文件???????7531??2013-03-22?18:22??sinPWM\keilPrj\sinPWM.uvopt
?????文件??????13554??2013-03-19?22:16??sinPWM\keilPrj\sinPWM.uvproj
?????文件???????7531??2013-03-20?19:01??sinPWM\keilPrj\sinPWM_uvopt.bak
?????文件??????13549??2013-03-19?19:56??sinPWM\keilPrj\sinPWM_uvproj.bak
?????文件???????6376??2009-05-07?14:37??sinPWM\keilPrj\STARTUP.A51
?????文件??????14062??2013-03-20?10:32??sinPWM\keilPrj\STARTUP.LST
?????文件????????749??2013-03-20?10:32??sinPWM\keilPrj\STARTUP.OBJ
?????文件??????55294??2013-03-23?10:14??sinPWM\Proteus?DSO?Printing.pdf
?????文件??????63125??2013-03-23?10:12??sinPWM\proteusSim\sinPWM.DSN
?????文件????????766??2013-03-23?10:14??sinPWM\proteusSim\sinPWM.PWI
?????目錄??????????0??2013-03-23?10:11??sinPWM\keilPrj
?????目錄??????????0??2013-03-23?10:14??sinPWM\proteusSim
?????目錄??????????0??2013-03-23?10:14??sinPWM
-----------?---------??----------?-----??----
???????????????490215????????????????????22
- 上一篇:酒店管理系統測試計劃
- 下一篇:webservice中英文翻譯
評論
共有 條評論