c语言方波函数怎么写 c语言方波函数怎么写

如何用C语言编程使单片机产生方波信号?

普通51的话需要模拟PWM,如果是加强版51有内置PWM模块,

目前创新互联已为1000+的企业提供了网站建设、域名、网络空间、网站托管维护、企业网站设计、乳山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

PIC和AVR以及430还有STM也有集成PWM的型号!

如果是单纯输出方波的话就简单了。

程序如下:

//功能,按下P1_0的开关降低频率,按P1_1为升高频率

#includeAT89X52.H  //引用AT89X52的库文件

#define uchar unsigned char  //替换简称

#define uint  unsigned int  //替换简称

uchar sm; //定义临时变量

void delay_ms(uint ms) //延时子函数,一个循环12uS

{

while(--ms);

}

void T0_IRQ(void) interrupt TF0_VECTOR  //定时器0中断函数

{

TH0=sm;  //将变量赋予定时器0的高位

P2_0=!P2_0;  //翻转IO

}

 //寄存器初始化子函数

void mcu_init()

{

ET0=1; //开定时器0中断

EA=1;     //开总中断

TMOD=0x01;  //设置为16位定时器0

TH0=0xFF; //填充定时器高位

TR0=1; //开定时器0

sm=0xFF; //变量初始化

}

void main() //主函数

{

mcu_init(); //调用初始化函数

while(1) //主循环

{

if((!P1_0)||(!P1_1))   //检测是否有按键按下

{

delay_ms(8333); //延时去抖

if(!P1_0) //如果是P1_0按键按下

{

while(!P1_0); //等待按键放手

if(sm) //检测变量不为0

{

  --sm; //自减1

P2_1=1; //取消边界LED

}

else P2_1=0; //到达边界点亮LED

}

else if(!P1_1) //否则如果P1_1按键按下

{

while(!P1_1); //等待按键放手

if(sm0xFF) //检测变量小于0xFF

{

   ++sm;   //自加1

P2_1=1;

}

else P2_1=0;

}

}

}

}

如何用c语言编写一段方波

最好还是不要用延时函数

比较准确的方法是利用定时器

以c51为例:

/*********定时器方波************/

/*********16位定时器************/

/************机器周期1us********/

/*********占空比50%*************/

/*********方波周期1s*************/

int a; // 定义全局整形变量

void int() interrupt 1

{

设置定时器初值为500;

a++;

if(a == 1000)

{

"输出取反"

}

}

如何用DAC0832写一个关于方波的C语言程序

这是两毫 秒 产生的方波 我仿真过了 好使

#includereg51.h

sbit P10=P1^0;

void main()

{ EA=1;ET1=1;TR0=1;

TMOD=01;

TH0=65536-2000/256;

TL0=65536-2000%256;

while(1)

{

P10=~P10;

}

}

void NT1() interrupt 3

{

TH0=65536-2000/256;

TL0=65536-2000%256;

}

以下程序是0832产生的三种波形 三角波 锯齿波 方波

#include AT89X51.H

#includeabsacc.h

#define PP XBYTE[0x7fff]

#define uint unsigned int

uint i,j,k;

void delay(uint z);

void main()

{

while(1)

{

if(P1_0==0)

{ delay(10);

if(P1_0==0)

{ while(P1_2!=0P1_1!=0)

{ P1_3=0;

for(i=255;i=0;i--)

}

while(P1_0!=1);

} }

if(P1_1==0)

{ delay(10);

if(P1_1==0)

{ P1_4=0;

while(P1_0!=0P1_2!=0)

{ for(j=0;j=254;j++)

for(j=255;j=0;j--)

}

while(P1_1!=1); }}

if(P1_2==0)

{ delay(10);

if(P1_2==0)

{ while(P1_0!=0P1_1!=0)

{P1_5=0;

PP=255;

delay(10);

PP=0;

delay(10);} } }

} }

void delay(uint z)

{ uint x,y;

for(x=z;x0;x--)

for(y=120;y0;y--);

}

怎样用C语言编写一个方波函数?

附上代码,讲解在后面:

public class Program

{

static void Main(string[] args)

{

ListPoint range = new ListPoint(5 * 5);

for (int i = 0; i 5; i++)

{

for (int j = 0; j 5; j++)

{

range.Add(new Point { X = j, Y = i });

}

}

//移动方向的顺序

MoveDirection[] md = new[]


网站题目:c语言方波函数怎么写 c语言方波函数怎么写
链接分享:http://azwzsj.com/article/hphcjj.html