c语言输出方波函数 用c语言编写一个方波

用c语言编程实现C8051F300单片机1s定时,50Hz的方波输出

#include

十多年的沁水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整沁水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“沁水网站设计”,“沁水网站推广”以来,每个客户项目都认真落实执行。

sbit wave=P1^0;

void SetupTimer0()

{

TMOD = 0XF0; //仅保留T1信息

TMOD |= 0X02; //设置T0: 定时功能,方式2,自动重载8位定时器/计数器

TH0 = 256-250;//定时每0.25ms中断一次

TL0 = 256-250;

TR0 = 1; //开启定时器

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

}

data unsigned char us250;

data unsigned int ms;

bit WAVE; //用以记住当前wave的状态

void Timer0_ISR() interrupt 1 //定时中断服务程序,为按键消抖服务

{

if (++us2504) return;

us250=0; ++ms;

if (ms10) return;

//每10ms波形变化一次,20ms完成一个波形,所以波形是50Hz的

ms=0;

WAVE=~WAVE; wave=WAVE; //方波输出

}

void main()

{

us250=ms=0;

wave=WAVE=0;

SetupTimer0();

EA = 1; //全局中断打开

while(1); //在中断函数中实现方波输出

}

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

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

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语言编写一个方波函数?

附上代码,讲解在后面:

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://pwwzsj.com/article/dohspej.html