资源简介

原创哦,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


评论

共有 条评论